• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Задача по наследованию в C++, нужно реализовать некоторые моменты

  • Автор темы Автор темы Oxidous
  • Дата начала Дата начала

Oxidous

Ученик
Регистрация
12 Июл 2011
Сообщения
7
Реакции
2
Баллы
0
Задача по наследованию в C++, нужно реализовать некоторые моменты

Написать программу с объектами и реализовать наследование. Ситуация: Klimat
(базовый объект), Derevo (выводной объект).
a. Klimat: температура воздуха, скорость ветра, влажность и т.д.
b. Derevo: высота, толщина ствола, скорость роста.
c. Описать состояние дерева при различных климатических условиях, на сколько оно вырастит за год, когда оно сломается (при определённой скорости ветра).
d. Всё результаты должны выводиться на экран и записываться в текстовый файл.

Проблема в том, что программа всё время выводит одинаковый результат,что через год,что через 10 лет...То есть рост дерева не увеличивается.
Как можно было бы реализовать,чтоб при скорости ветра,допустим, 20, дерево сломается. Я, вроде как, решил данный момент, но не уверен правильно ли?
Как реализовать запись результата в текстовый фал,который находится в одной папке с проектом?

Код:
#include <iostream>
#include <conio.h>
using namespace std;

class Klimat
{ 
public:
int temper; 
int veter; 
int vlaznost;
Klimat()
{   }
Klimat(int x, int y, int z) 
{ 
temper=x; 
veter=y;
vlaznost=z;
}
void sobrat() 
{
cout<<"Введите температуру: ";
cin>>temper; 
cout<<"Введите скорость ветра: "; 
cin>>veter;
cout<<"Введите влажность: "; 
cin>>vlaznost;
}
};


class Derevo: public Klimat
{ 
int visota; 
int ktolshina; 
int vskorost; 
public: Derevo() : Klimat() {}
Derevo(int x, int y, int z, int k, int l) : Klimat (x,y,z)
{
visota=z; 
ktolshina=k; 
vskorost =l;
}
void sobrat()
{
cout<<"Введите начальную высоту дерева: "; 
cin>> visota;   
cout<<"Введите толщину дерева: ";
cin>> ktolshina;   
cout<<"Введите скорость роста дерева: ";
cin>> vskorost;

Klimat::sobrat();
}
void vyvod (int n)
{   
cout<<"Результаты роста дерева: "<<endl;
int i=0;
for(i=0; i<n; i++)
cout<<" Через "<<i+1<<" год высота дерева будет "<<visota*0.5<<"."<<endl;
if (veter >=20)
{
cout<<"Дерево сломается при скорости ветра "<<veter<<" м/с."<<endl;
}
}
};

int main()
{
setlocale (LC_ALL, "Russian");
Derevo yolka;
yolka.sobrat();
yolka.vyvod(10);
system("pause");
return 0;
}
 
Думаю,что сделал неправильно. Нужно сделать так,чтоб если юзер вводит скорость ветра 20 и больше,то выдавало сообщение "Дерево сломается при скорости ветра..." и дальше уже код не шёл.
 
Назад
Сверху