Advertisement
Viktor_Profa

Лабораторна робота №3 ч.2 2024

Oct 21st, 2024
43
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 <string>
  3. using namespace std;
  4.  
  5. class Subject {
  6. private:
  7.     string subjectName;  // Назва предмета
  8.     string teacher;      // Викладач
  9.     int lectureCount;    // Кількість лекцій
  10.     int labCount;        // Кількість лабораторних робіт
  11.  
  12. public:
  13.     // Конструктор за замовчуванням
  14.     Subject() : subjectName(""), teacher(""), lectureCount(0), labCount(0) {}
  15.  
  16.     // Конструктор з параметрами
  17.     Subject(string subName, string teach, int lectures, int labs)
  18.         : subjectName(subName), teacher(teach), lectureCount(lectures), labCount(labs) {}
  19.  
  20.     // Методи для встановлення значень властивостей
  21.     void setSubjectName(string subName) {
  22.         subjectName = subName;
  23.     }
  24.  
  25.     void setTeacher(string teach) {
  26.         teacher = teach;
  27.     }
  28.  
  29.     void setLectureCount(int lectures) {
  30.         lectureCount = lectures;
  31.     }
  32.  
  33.     void setLabCount(int labs) {
  34.         labCount = labs;
  35.     }
  36.  
  37.     // Методи для отримання значень властивостей
  38.     string getSubjectName() const {
  39.         return subjectName;
  40.     }
  41.  
  42.     string getTeacher() const {
  43.         return teacher;
  44.     }
  45.  
  46.     int getLectureCount() const {
  47.         return lectureCount;
  48.     }
  49.  
  50.     int getLabCount() const {
  51.         return labCount;
  52.     }
  53.  
  54.     // Метод для обчислення загальної кількості годин занять для одного предмета
  55.     int getTotalHours() const {
  56.         return lectureCount + labCount;
  57.     }
  58. };
  59.  
  60. int main() {
  61.     // a. Створення об'єкта за допомогою конструктора за замовчуванням
  62.     Subject subject1;
  63.    
  64.     // b. Створення об'єкта за допомогою конструктора з параметрами
  65.     Subject subject2("Математика", "Проф. Іванов", 30, 15);
  66.  
  67.     // c. Створення масиву об'єктів (розмірність 4 елементи)
  68.     const int SIZE = 4;
  69.     Subject subjects[SIZE];
  70.  
  71.     // d. Ініціалізація властивостей кожного об'єкта масиву (введення з клавіатури)
  72.     for (int i = 0; i < SIZE; i++) {
  73.         string name, teacher;
  74.         int lectures, labs;
  75.  
  76.         cout << "Введіть назву предмета " << i + 1 << ": ";
  77.         cin.ignore(); // Очистка буфера
  78.         getline(cin, name);
  79.  
  80.         cout << "Введіть ім'я викладача: ";
  81.         getline(cin, teacher);
  82.  
  83.         cout << "Введіть кількість лекцій: ";
  84.         cin >> lectures;
  85.  
  86.         cout << "Введіть кількість лабораторних робіт: ";
  87.         cin >> labs;
  88.  
  89.         // Ініціалізація об'єкта в масиві
  90.         subjects[i].setSubjectName(name);
  91.         subjects[i].setTeacher(teacher);
  92.         subjects[i].setLectureCount(lectures);
  93.         subjects[i].setLabCount(labs);
  94.     }
  95.  
  96.     // e. Перегляд властивостей кожного об'єкта
  97.     cout << "\nПерегляд даних про предмети:\n";
  98.     for (int i = 0; i < SIZE; i++) {
  99.         cout << "Предмет " << i + 1 << ": " << subjects[i].getSubjectName() << endl;
  100.         cout << "Викладач: " << subjects[i].getTeacher() << endl;
  101.         cout << "Кількість лекцій: " << subjects[i].getLectureCount() << endl;
  102.         cout << "Кількість лабораторних робіт: " << subjects[i].getLabCount() << endl;
  103.         cout << "Загальна кількість годин занять: " << subjects[i].getTotalHours() << endl;
  104.         cout << "---------------------------" << endl;
  105.     }
  106.  
  107.     // f. Обчислення загальної кількості годин занять з усіх предметів
  108.     int totalHours = 0;
  109.     for (int i = 0; i < SIZE; i++) {
  110.         totalHours += subjects[i].getTotalHours();
  111.     }
  112.  
  113.     cout << "Загальна кількість годин занять з усіх предметів: " << totalHours << endl;
  114.  
  115.     return 0;
  116. }
  117.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement