41964

Написать программу на языке C++, моделирующую поведение курицы (Hen) путём создания соответствующего класса

Лабораторная работа

Информатика, кибернетика и программирование

Листинг программы: include iostrem include cstring include cmth include cstdlib using nmespce std; clss Chickhen { privte: chr nme; double w h f; Кормление урожай норма кормления sttic int e; норма яйценосности public: Chickhenvoid; Chickhenchr double; Chickhenconst Chickhen ; virtul Chickhen; double hrvest; double feeddouble; }; int Chickhen::e=10; Chickhen::Chickhen { w=0; h=0; f=0; nme=new chr[7]; strcpy nme nonme ; } Chickhen::Chickhen chrndouble F { nme=new chr[strlenn1]; strcpynmen; f=F; h=0; w=0;...

Русский

2013-10-27

14.17 KB

18 чел.

Задание: Написать программу на языке C++, моделирующую поведение курицы (Hen) путём создания соответствующего класса. Каждой курице дают уникальное имя и определяют норму кормления f0. Для всех куриц данного типа определена яйценоскость в день E0. Курицу сперва кормят (feed), затем собирают результат (gather). Количество собранных яиц в день E зависит от кормления f следующим образом:

 

В функции main провести тестирование работоспособности разработанного класса. Использование данного класса не должно приводить к утечке памяти, неопределённому поведению и аварийному завершению программы. Длина имени объекта не ограничена.

Листинг программы:

#include <iostream>

#include <cstring>

#include <cmath>

#include <cstdlib>

using namespace std;

class Chickhen {

private:

char *name;

double w, h, f; //Кормление, урожай, норма кормления

static int e; //норма яйценосности

public:

Chickhen(void);

Chickhen(char*, double);

Chickhen(const Chickhen &A);

virtual ~Chickhen();

double harvest();

double feed(double);

};

int Chickhen::e=10;

Chickhen::Chickhen() {

w=0; h=0; f=0;

name=new char[7];

strcpy (name, "noname");

}

Chickhen::Chickhen (char*n,double F)

{

name=new char[strlen(n)+1];

strcpy(name,n);

f=F; h=0; w=0;

}

Chickhen::Chickhen (const Chickhen &A)

{

if(A.name) {

name=new char[strlen(A.name)+1];

strcpy(name,A.name);

}else name=0;

f=A.f; e=A.e; h=A.h; w=A.w;

}

Chickhen::~Chickhen(){ delete[]name; }

double Chickhen::feed(double f)

{

h=int(e*exp(-(((w-f)*(w-f))/((4*f)*(4*f)))));

return h;

}

double Chickhen::harvest()

{

w=0; h=0;

return h;

}

int main()

{

Chickhen CHIK ("Chickhen", 20);

cout << "Chickhen" << CHIK , feed (20) << endl;

cout << "Chickhen" << CHIK , harvest() << endl;

cout << "Chickhen" << CHIK , feed (22) << endl;

cout << "Chickhen" << CHIK , harvest() << endl;

return 0;

}

Результаты работы программы:


 

А также другие работы, которые могут Вас заинтересовать

58137. Инфекционные болезни 541.5 KB
  Наиболее опасными осложнениями тифо-паратифозных заболеваний (ТПЗ) являются перфорация кишечных язв, кишечное кровотечение и инфекционно-токсический шок
58138. Народничество. Политический террор. Политика контрреформ 37.5 KB
  Фактически это перечёркивало главную идею земства независимость от органов государственной власти и царя в решении вопросов местного самоуправления.
58139. Причини і початок війни. Події 1939–1942 рр 69 KB
  Мета: визначити причини характер періодизацію Другої світової війни залучаючи історичну карту характеризувати основні театри воєнних дій у Європі Північній Африці ПівденноСхідній Азії та Тихому океані умови мирних договорів Німеччини та її союзників...
58140. Развитие органической химии. Теория радикалов и теория типов 1.93 MB
  В теории типов органические соединения конструировались из неорганических веществ типов тип водорода воды хлористого водорода аммиака замещением в них атомов на органические фрагменты; введено понятие изомерии Берцелиус.
58141. Роль фізичного знання в житті людини. Методи наукового пізнання 72 KB
  Тип уроку: урок засвоєння нових знань. Плансхема уроку Етапи уроку Час хв. Повідомлення теми мети й завдань уроку 5 Визначення мети уроку за планом вивчення теми IV. Підбиття підсумків уроку 5 Методи Асоціативний кущ Сенкан VII.
58142. Русско-турецкая война 1877-1878 гг 76.5 KB
  Цель урока: познакомить учащихся с ходом русско-турецкой войны; доблестью и мужеством проявленной воинами российской армии положившим начало освобождению славянских народов на Балканах. Образовательные: причины войны; цели и планы сторон: роль России...
58143. Создание Web-страниц. Форматирование текста 33.5 KB
  Можно перечислять несколько шрифтов через запятую так как не всегда выбранный Вами шрифт есть у пользователя просматривающего Вашу страницу. Стихотворение FONT Размер шрифта задается атрибутом size...
58144. Виды, формы и системы оплаты труда 50 KB
  На каждом предприятии между работодателем и работниками заключается коллективный договор в котором отражаются: трудовые и социально-экономические условия труда; Положение по оплате труда формы оплаты труда всех категорий работников а также система поощрений.
58145. ВЕЛИКИЕ ГЕОГРАФИЧЕСКИЕ ОТКРЫТИЯ 46.5 KB
  Периоду разложения феодализма и возникновению капиталистических отношений предшествовали Великие географические открытия сыгравшие важную роль в переходе к буржуазному способу производства. Великие географические открытия были вызваны развитием производительных сил общества ростом товарно-денежных отношений...