Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- // Клас Дата
- class Date {
- private:
- int day, month, year;
- public:
- // Конструктор с параметри
- Date(int d, int m, int y) : day(d), month(m), year(y) {}
- // Копиращ конструктор
- Date(const Date& other) : day(other.day), month(other.month), year(other.year) {}
- // Метод за извеждане на датата във форматиран вид
- void print() const {
- cout << day << "/" << month << "/" << year;
- }
- };
- // Клас Посещения
- class Visit {
- private:
- string egn;
- string name;
- string complaint;
- Date visitDate;
- string prescribedMedications[5];
- int medicationCount; // Брояч за броя на въведените лекарства
- public:
- // Конструктор с параметри
- Visit(string egn, string name, string complaint, Date date, string medications[], int count)
- : egn(egn), name(name), complaint(complaint), visitDate(date), medicationCount(0) {
- // Копиране на до 5 лекарства
- medicationCount = (count > 5) ? 5 : count;
- for (int i = 0; i < medicationCount; i++) {
- prescribedMedications[i] = medications[i];
- }
- }
- // Предефиниране на операцията <<
- friend ostream& operator<<(ostream& os, const Visit& visit) {
- os << "EGN: " << visit.egn << endl;
- os << "Name: " << visit.name << endl;
- os << "Complaint: " << visit.complaint << endl;
- os << "Visit Date: ";
- visit.visitDate.print();
- os << endl << "Prescribed Medications: ";
- if (visit.medicationCount == 0) {
- os << "None";
- } else {
- for (int i = 0; i < visit.medicationCount; i++) {
- os << visit.prescribedMedications[i] << " ";
- }
- }
- os << endl;
- return os;
- }
- // Метод за проверка на оплакването
- bool hasComplaint(const string& searchComplaint) const {
- return complaint == searchComplaint;
- }
- };
- // Главна функция
- int main() {
- // Данни за лекарства
- string meds1[] = {"Paracetamol", "Ibuprofen"};
- string meds2[] = {"Theraflu", "Vitamin C", "Honey"};
- string meds3[] = {"Aspirin", "Water"};
- string meds4[] = {"Nasal Spray", "Vitamin D"};
- // Масив от обекти Visit
- Visit visits[] = {
- Visit("1234567890", "Ivan Ivanov", "Headache", Date(15, 12, 2024), meds1, 2),
- Visit("0987654321", "Petya Petrova", "Flu", Date(16, 12, 2024), meds2, 3),
- Visit("1111111111", "Georgi Georgiev", "Headache", Date(17, 12, 2024), meds3, 2),
- Visit("2222222222", "Maria Marinova", "Cold", Date(18, 12, 2024), meds4, 2),
- };
- // Зададено оплакване за търсене
- string searchComplaint = "Headache";
- // Извеждане на всички пациенти със зададеното оплакване
- cout << "Patients with complaint: " << searchComplaint << endl;
- for (const Visit& visit : visits) {
- if (visit.hasComplaint(searchComplaint)) {
- cout << visit << endl;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement