Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <list>
- #include <string>
- #include <algorithm>
- #include <iterator>
- using namespace std;
- class Patient {
- private:
- string firstName, lastName, diagnosis, patronymic, address;
- int medCard;
- public:
- Patient(){
- firstName = lastName = patronymic = address = diagnosis = medCard = 0;
- }
- Patient(string _firstName, string _lastName, string _patronymic, string _address, int _numberMadCart, string _diagnosis) {
- firstName = _firstName;
- lastName = _lastName;
- patronymic = _patronymic;
- address = _address;
- medCard = _numberMadCart;
- diagnosis = _diagnosis;
- }
- string FirstName() {
- return firstName;
- }
- string LastName() {
- return lastName;
- }
- string Patronymic() {
- return patronymic;
- }
- string Address() {
- return address;
- }
- int MedCart() {
- return medCard;
- }
- string Diagnosis() {
- return diagnosis;
- }
- };
- void Input(list<Patient>& l, int n) {
- string firstName, lastName, diagnosis, patronymic, address;
- int medCard;
- for (int i = 0; i < n; i++) {
- cout << "Введiть iм'я: ";
- cin >> firstName;
- cout << "Введiть прiзвище: ";
- cin >> lastName;
- cout << "Введiть по батьковi: ";
- cin >> patronymic;
- cout << "Введiть адрес: ";
- cin >> address;
- cout << "Введiть номер мед картки: ";
- cin >> medCard;
- cout << "Введiть дiагноз: ";
- cin >> diagnosis;
- Patient* p = new Patient(firstName, lastName, patronymic, address, medCard, diagnosis);
- l.push_back(*p);
- cout << endl;
- }
- }
- void GetList(list<Patient>& l) {
- for (auto i : l)
- cout << "I'мя: " << i.FirstName() << "\t" << "Прiзвище: " << i.LastName() << "\t" << "По батьковi: " << i.Patronymic() << "\t" << "Адреса: " << i.Address() << "\t" << "Номер мед картки: " << i.MedCart() << "\t" << "Дiагноз: " << i.Diagnosis() << endl;
- }
- void GetListDiagnos(list<Patient>& l, string diagnosis) {
- for (auto i : l) {
- if(i.Diagnosis() == diagnosis)
- cout << "I'мя: " << i.FirstName() << "\t" << "Прiзвище: " << i.LastName() << "\t" << "По батьковi: " << i.Patronymic() << "\t" << "Адреса: " << i.Address() << "\t" << "Номер мед картки: " << i.MedCart() << "\t" << "Дiагноз: " << i.Diagnosis() << endl;
- }
- }
- void GetListMedicalCard(list<Patient>& l, int a, int b) {
- for (auto i : l) {
- if (i.MedCart() >= a && i.MedCart() <= b)
- cout << "I'мя: " << i.FirstName() << "\t" << "Прiзвище: " << i.LastName() << "\t" << "По батьковi: " << i.Patronymic() << "\t" << "Адреса: " << i.Address() << "\t" << "Номер мед картки: " << i.MedCart() << "\t" << "Дiагноз: " << i.Diagnosis() << endl;
- }
- }
- void GetListAdress(list<Patient>& l, string adress) {
- for (auto i : l) {
- if (i.Address() == adress)
- cout << "I'мя: " << i.FirstName() << "\t" << "Прiзвище: " << i.LastName() << "\t" << "По батьковi: " << i.Patronymic() << "\t" << "Адреса: " << i.Address() << "\t" << "Номер мед картки: " << i.MedCart() << "\t" << "Дiагноз: " << i.Diagnosis() << endl;
- }
- }
- int main()
- {
- setlocale(0, "");
- list<Patient> l = list<Patient>();
- cout << "Вкажiть кiлькiсть пацієнтiв: ";
- int count;
- cin >> count;
- Input(l, count);
- cout << "\n Вивiд всiх данних:\n";
- GetList(l);
- cout << "\nВивiд за діагнозом:\n Введіть дiагноз: ";
- string diagnosis;
- cin >> diagnosis;
- GetListDiagnos(l, diagnosis);
- cout << "\nВивiд за інтервалом картки:\n Введіть початок: ";
- int start, finish;
- cin >> start;
- cout << "Введіть кiнець: ";
- cin >> finish;
- GetListMedicalCard(l, start, finish);
- cout << "\nВивiд за адресом:\n Введіть адресу: ";
- string adress;
- cin >> adress;
- GetListAdress(l, adress);
- }
Advertisement
Add Comment
Please, Sign In to add comment