Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Задача по наследованию в C++, нужно реализовать некоторые моменты (http://www.tehnari.ru/f41/t105178/)

Oxidous 08.11.2015 19:36

Задача по наследованию в 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;
}


Oxidous 08.11.2015 19:46

Думаю,что сделал неправильно. Нужно сделать так,чтоб если юзер вводит скорость ветра 20 и больше,то выдавало сообщение "Дерево сломается при скорости ветра..." и дальше уже код не шёл.


Часовой пояс GMT +4, время: 06:30.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.