Dido09

2.

Jan 29th, 2024
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.45 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. // Клас, описващ дата
  5. class Date {
  6. private:
  7.     int day;
  8.     int month;
  9.     int year;
  10.  
  11. public:
  12.     // Конструктор за инициализация на датата
  13.     Date(int day, int month, int year) : day(day), month(month), year(year) {}
  14.  
  15.     // Метод за извеждане на датата
  16.     void displayDate() const {
  17.         std::cout << day << '/' << month << '/' << year;
  18.     }
  19. };
  20.  
  21. // Клас, описващ посещение на пациент
  22. class Visit {
  23. private:
  24.     long long egn;
  25.     std::string patientName;
  26.     std::string complaints;
  27.     Date visitDate;
  28.  
  29. public:
  30.     // Конструктор за инициализация на член-данните
  31.     Visit(long long egn, const std::string& patientName, const std::string& complaints, const Date& visitDate)
  32.         : egn(egn), patientName(patientName), complaints(complaints), visitDate(visitDate) {}
  33.  
  34.     // Метод за извеждане на информацията за посещението
  35.     void displayVisitInfo() const {
  36.         std::cout << "EGN: " << egn << ", Patient Name: " << patientName
  37.                   << ", Complaints: " << complaints << ", Visit Date: ";
  38.         visitDate.displayDate();
  39.         std::cout << std::endl;
  40.     }
  41.  
  42.     // Метод за получаване на оплакванията
  43.     const std::string& getComplaints() const {
  44.         return complaints;
  45.     }
  46. };
  47.  
  48. int main() {
  49.     // Създаване на масив от обекти от клас Посещение
  50.     const int numVisits = 3;
  51.     Visit visits[numVisits] = {
  52.         Visit(1234567890, "John Doe", "Headache", Date(1, 1, 2022)),
  53.         Visit(9876543210, "Jane Smith", "Fever", Date(2, 1, 2022)),
  54.         Visit(1122334455, "Alice Johnson", "Cough", Date(3, 1, 2022))
  55.     };
  56.  
  57.     // Извеждане на информацията за посещенията
  58.     std::cout << "All Visits:\n";
  59.     for (const auto& visit : visits) {
  60.         visit.displayVisitInfo();
  61.     }
  62.  
  63.     // Извеждане на пациентите с определени оплаквания
  64.     std::string targetComplaints = "Fever";
  65.     std::cout << "\nPatients with Complaints '" << targetComplaints << "':\n";
  66.     for (const auto& visit : visits) {
  67.         if (visit.getComplaints() == targetComplaints) {
  68.             visit.displayVisitInfo();
  69.         }
  70.     }
  71.  
  72.     return 0;
  73. }
  74.  
Add Comment
Please, Sign In to add comment