Viktor_Profa

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

Oct 27th, 2024
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.72 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <cmath>
  4.  
  5. using namespace std;
  6.  
  7. // Клас Boy
  8. class Boy {
  9. private:
  10.     string name;
  11.     int age;
  12.     float height; // Зріст у сантиметрах
  13.  
  14. public:
  15.     // Конструктор
  16.     Boy(const string& name, int age, float height)
  17.         : name(name), age(age), height(height) {}
  18.  
  19.     // Дружня функція для виведення даних про об'єкт
  20.     friend void displayInfo(const Boy& boy);
  21.  
  22.     // Звичайний метод для виведення даних про об'єкт
  23.     void showInfo() const {
  24.         cout << "Ім'я: " << name << endl;
  25.         cout << "Вік: " << age << " років" << endl;
  26.         cout << "Зріст: " << height << " см" << endl;
  27.     }
  28.  
  29.     // Метод для перевірки зросту
  30.     void checkHeight() const {
  31.         float normalHeight = 6 * age + 77; // Формула для обчислення зросту норми
  32.         float heightDifference = height - normalHeight;
  33.  
  34.         if (height < normalHeight) {
  35.             cout << "Ваш зріст менше норми." << endl;
  36.         } else if (abs(heightDifference) <= 2.5) {
  37.             cout << "Ваш зріст відповідає фізіологічним особливостям." << endl;
  38.         } else {
  39.             cout << "Ваш зріст вище норми." << endl;
  40.         }
  41.     }
  42. };
  43.  
  44. // Дружня функція для виведення даних про об'єкт
  45. void displayInfo(const Boy& boy) {
  46.     cout << "Дані про хлопця:" << endl;
  47.     cout << "Ім'я: " << boy.name << endl;
  48.     cout << "Вік: " << boy.age << " років" << endl;
  49.     cout << "Зріст: " << boy.height << " см" << endl;
  50.  
  51.     // Перевірка зросту
  52.     boy.checkHeight();
  53. }
  54.  
  55. // Основна програма
  56. int main() {
  57.     string name;
  58.     int age;
  59.     float height;
  60.  
  61.     // Введення даних про хлопця
  62.     cout << "Введіть ім'я хлопця: ";
  63.     getline(cin, name);
  64.     cout << "Введіть вік хлопця: ";
  65.     cin >> age;
  66.     cout << "Введіть зріст хлопця (в см): ";
  67.     cin >> height;
  68.  
  69.     // Створення об'єкта класу Boy
  70.     Boy boy(name, age, height);
  71.  
  72.     // Виведення даних про об'єкт за допомогою дружньої функції
  73.     displayInfo(boy);
  74.  
  75.     // Виведення даних про об'єкт за допомогою звичайного методу
  76.     cout << "\nВиведення даних за допомогою методу класу:\n";
  77.     boy.showInfo();
  78.     boy.checkHeight();
  79.  
  80.     return 0;
  81. }
  82.  
Add Comment
Please, Sign In to add comment