Vla_DOS

Untitled

Apr 3rd, 2022
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.28 KB | None | 0 0
  1. #include <iostream>
  2. #include <list>
  3. #include <string>
  4. #include <algorithm>
  5. #include <iterator>
  6. using namespace std;
  7. class Patient {
  8. private:
  9.     string firstName, lastName, diagnosis, patronymic, address;
  10.     int medCard;
  11. public:
  12.  
  13.     Patient(){
  14.         firstName = lastName = patronymic = address = diagnosis = medCard = 0;
  15.     }
  16.  
  17.     Patient(string _firstName, string _lastName, string _patronymic, string _address, int _numberMadCart, string _diagnosis) {
  18.         firstName = _firstName;
  19.         lastName = _lastName;
  20.         patronymic = _patronymic;
  21.         address = _address;
  22.         medCard = _numberMadCart;
  23.         diagnosis = _diagnosis;
  24.     }
  25.     string FirstName() {
  26.         return firstName;
  27.     }
  28.     string LastName() {
  29.         return lastName;
  30.     }
  31.     string Patronymic() {
  32.         return patronymic;
  33.     }
  34.     string Address() {
  35.         return address;
  36.     }
  37.     int MedCart() {
  38.         return medCard;
  39.     }    
  40.     string Diagnosis() {
  41.         return diagnosis;
  42.     }
  43. };
  44. void Input(list<Patient>& l, int n) {
  45.     string firstName, lastName, diagnosis, patronymic, address;
  46.     int medCard;
  47.     for (int i = 0; i < n; i++) {
  48.         cout << "Введiть iм'я: ";
  49.         cin >> firstName;
  50.  
  51.         cout << "Введiть прiзвище: ";
  52.         cin >> lastName;
  53.  
  54.         cout << "Введiть по батьковi: ";
  55.         cin >> patronymic;
  56.         cout << "Введiть адрес: ";
  57.         cin >> address;
  58.  
  59.         cout << "Введiть номер мед картки: ";
  60.         cin >> medCard;
  61.  
  62.         cout << "Введiть дiагноз: ";
  63.         cin >> diagnosis;
  64.  
  65.         Patient* p = new Patient(firstName, lastName, patronymic, address, medCard, diagnosis);
  66.         l.push_back(*p);
  67.         cout << endl;
  68.     }
  69. }
  70. void GetList(list<Patient>& l) {
  71.     for (auto i : l)
  72.         cout << "I'мя: " << i.FirstName() << "\t" << "Прiзвище: " << i.LastName() << "\t" << "По батьковi: "  << i.Patronymic() << "\t" << "Адреса: " << i.Address() << "\t" << "Номер мед картки: " << i.MedCart() << "\t" << "Дiагноз: " << i.Diagnosis() << endl;
  73. }
  74. void GetListDiagnos(list<Patient>& l, string diagnosis) {
  75.     for (auto i : l) {
  76.         if(i.Diagnosis() == diagnosis)
  77.             cout << "I'мя: " << i.FirstName() << "\t" << "Прiзвище: " << i.LastName() << "\t" << "По батьковi: " << i.Patronymic() << "\t" << "Адреса: " << i.Address() << "\t" << "Номер мед картки: " << i.MedCart() << "\t" << "Дiагноз: " << i.Diagnosis() << endl;
  78.     }
  79. }
  80. void GetListMedicalCard(list<Patient>& l, int a, int b) {
  81.     for (auto i : l) {
  82.         if (i.MedCart() >= a && i.MedCart() <= b)
  83.             cout << "I'мя: " << i.FirstName() << "\t" << "Прiзвище: " << i.LastName() << "\t" << "По батьковi: " << i.Patronymic() << "\t" << "Адреса: " << i.Address() << "\t" << "Номер мед картки: " << i.MedCart() << "\t" << "Дiагноз: " << i.Diagnosis() << endl;
  84.     }
  85. }
  86. void GetListAdress(list<Patient>& l, string adress) {
  87.     for (auto i : l) {
  88.         if (i.Address() == adress)
  89.             cout << "I'мя: " << i.FirstName() << "\t" << "Прiзвище: " << i.LastName() << "\t" << "По батьковi: " << i.Patronymic() << "\t" << "Адреса: " << i.Address() << "\t" << "Номер мед картки: " << i.MedCart() << "\t" << "Дiагноз: " << i.Diagnosis() << endl;
  90.     }
  91. }
  92.  
  93. int main()
  94. {
  95.     setlocale(0, "");
  96.     list<Patient> l = list<Patient>();
  97.     cout << "Вкажiть кiлькiсть пацієнтiв: ";
  98.     int count;
  99.     cin >> count;
  100.  
  101.     Input(l, count);
  102.  
  103.     cout << "\n Вивiд всiх данних:\n";
  104.     GetList(l);
  105.  
  106.     cout << "\nВивiд за діагнозом:\n Введіть дiагноз: ";
  107.     string diagnosis;
  108.     cin >> diagnosis;
  109.     GetListDiagnos(l, diagnosis);
  110.  
  111.     cout << "\nВивiд за інтервалом картки:\n Введіть початок: ";
  112.     int start, finish;
  113.     cin >> start;
  114.     cout << "Введіть кiнець: ";
  115.     cin >> finish;
  116.     GetListMedicalCard(l, start, finish);
  117.  
  118.     cout << "\nВивiд за адресом:\n Введіть адресу: ";
  119.     string adress;
  120.     cin >> adress;
  121.     GetListAdress(l, adress);
  122. }
  123.  
Advertisement
Add Comment
Please, Sign In to add comment