Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <cmath>
- using namespace std;
- // Клас Boy
- class Boy {
- private:
- string name;
- int age;
- float height; // Зріст у сантиметрах
- public:
- // Конструктор
- Boy(const string& name, int age, float height)
- : name(name), age(age), height(height) {}
- // Дружня функція для виведення даних про об'єкт
- friend void displayInfo(const Boy& boy);
- // Звичайний метод для виведення даних про об'єкт
- void showInfo() const {
- cout << "Ім'я: " << name << endl;
- cout << "Вік: " << age << " років" << endl;
- cout << "Зріст: " << height << " см" << endl;
- }
- // Метод для перевірки зросту
- void checkHeight() const {
- float normalHeight = 6 * age + 77; // Формула для обчислення зросту норми
- float heightDifference = height - normalHeight;
- if (height < normalHeight) {
- cout << "Ваш зріст менше норми." << endl;
- } else if (abs(heightDifference) <= 2.5) {
- cout << "Ваш зріст відповідає фізіологічним особливостям." << endl;
- } else {
- cout << "Ваш зріст вище норми." << endl;
- }
- }
- };
- // Дружня функція для виведення даних про об'єкт
- void displayInfo(const Boy& boy) {
- cout << "Дані про хлопця:" << endl;
- cout << "Ім'я: " << boy.name << endl;
- cout << "Вік: " << boy.age << " років" << endl;
- cout << "Зріст: " << boy.height << " см" << endl;
- // Перевірка зросту
- boy.checkHeight();
- }
- // Основна програма
- int main() {
- string name;
- int age;
- float height;
- // Введення даних про хлопця
- cout << "Введіть ім'я хлопця: ";
- getline(cin, name);
- cout << "Введіть вік хлопця: ";
- cin >> age;
- cout << "Введіть зріст хлопця (в см): ";
- cin >> height;
- // Створення об'єкта класу Boy
- Boy boy(name, age, height);
- // Виведення даних про об'єкт за допомогою дружньої функції
- displayInfo(boy);
- // Виведення даних про об'єкт за допомогою звичайного методу
- cout << "\nВиведення даних за допомогою методу класу:\n";
- boy.showInfo();
- boy.checkHeight();
- return 0;
- }
Add Comment
Please, Sign In to add comment