Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 08.11.2015, 19:36   #1 (permalink)
Oxidous
Новичок
 
Регистрация: 12.07.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 1 сообщении
Репутация: 110
По умолчанию Задача по наследованию в 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:36
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Пожалуйста, не пропускайте мимо глаз похожие темы

Как реализовать управление вентиляторами?
Реализовать в Паскале

Старый 08.11.2015, 19:46   #2 (permalink)
Oxidous
Новичок
 
Регистрация: 12.07.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 1 сообщении
Репутация: 110
По умолчанию

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

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




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

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.