Advertisement
Viktor_Profa

Лабораторна робота №8

Oct 27th, 2024
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.36 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <iomanip>
  4.  
  5. class Service {
  6. private:
  7.     std::string name;
  8.     double cost;
  9.  
  10. public:
  11.     // Конструктор
  12.     Service(const std::string& name, double cost)
  13.         : name(name), cost(cost) {}
  14.  
  15.     // Метод для отримання знижки для постійного клієнта
  16.     double getDiscountedCost() const {
  17.         return cost * 0.85; // Знижка 15%
  18.     }
  19.  
  20.     // Метод для виведення інформації про послугу
  21.     void displayInfo() const {
  22.         std::cout << "Назва послуги: " << name << "\n";
  23.         std::cout << "Вартість послуги: " << std::fixed << std::setprecision(2) << cost << " грн\n";
  24.         std::cout << "Вартість зі знижкою: " << std::fixed << std::setprecision(2) << getDiscountedCost() << " грн\n";
  25.     }
  26. };
  27.  
  28. class Appointment {
  29. private:
  30.     std::string surname;
  31.     std::string name;
  32.     int age;
  33.     char gender; // 'M' - чоловік, 'F' - жінка
  34.     std::string serviceDate;
  35.     Service service;
  36.  
  37. public:
  38.     // Конструктор
  39.     Appointment(const std::string& surname, const std::string& name, int age, char gender,
  40.                 const std::string& serviceDate, const Service& service)
  41.         : surname(surname), name(name), age(age), gender(gender),
  42.           serviceDate(serviceDate), service(service) {}
  43.  
  44.     // Метод для виведення інформації про запис
  45.     void displayInfo() const {
  46.         std::cout << "Прізвище: " << surname << "\n";
  47.         std::cout << "Ім'я: " << name << "\n";
  48.         std::cout << "Вік: " << age << "\n";
  49.         std::cout << "Стать: " << (gender == 'M' ? "Чоловік" : "Жінка") << "\n";
  50.         std::cout << "Дата надання послуги: " << serviceDate << "\n";
  51.         service.displayInfo(); // Виводимо інформацію про послугу
  52.     }
  53. };
  54.  
  55. int main() {
  56.     // Створення послуги
  57.     Service yoga("Йога", 500.00);
  58.    
  59.     // Створення попереднього запису
  60.     Appointment appointment("Петренко", "Іван", 30, 'M', "2024-10-30", yoga);
  61.  
  62.     // Виведення інформації про запис
  63.     appointment.displayInfo();
  64.  
  65.     return 0;
  66. }
  67.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement