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

17 чел.

Задание: Написать программу на языке 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;

}

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


 

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

12391. Управление процессами в Windows 26.78 KB
  Практическая работа № Управление процессами в Windows. Цель работы: изучение возможностей контроля и управления процессами в операционных системах Windows научиться работать с Диспетчером задач ознакомиться с управлением процессами в ОС Windows с помощью утилиты Process Explorer. ...
12393. Настройка Windows 7 через реестр 181 KB
  Практическая работа Настройка Windows 7 через реестр. Цель работы: изучить назначение реестра его структуру редакторы реестра приемы восстановления системы при повреждении реестра; сформировать навыки и умения работать с редактором реестра. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ. ...
12394. Настройка и оптимизация Windows 7 1.36 MB
  Практическая работа Настройка и оптимизация Windows 7 Цель работы: изучить возможности повышения производительности ОС Windows 7 сформировать навыки и умения работать со встроенными средствами системы с программой CCleaner. Теоретическая часть Очистка и дефр...
12395. Основы виртуальных машин. Инсталляция и настройка ОС Windows 753.5 KB
  Практическая работа. Основы виртуальных машин. Инсталляция и настройка ОС Windows. Цель работы: сформировать навыки и умения устанавливать операционную систему Windows на виртуальную машину а также осуществлять настройку ее параметров. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ. 1. Ос
12396. Общие параметры и оформление Рабочего стола Windows 7 657 KB
  Практическая работа Общие параметры и оформление Рабочего стола Windows 7. Цель работы: изучить элементы интерфейса Рабочего стола научиться применять различные настройки оформления . Теоретическая часть Windows 7 представляет собой весьма мощную и гибкую систему: бла...
12397. КОНФИГУРИРОВАНИЕ И КАЛИБРОВКА МИКРОПРОЦЕССОРНОГО ИНДИКАТОРА ИТМ-11 ДЛЯ СИСТЕМЫ ТЕХНОЛОГИЧЕСКОЙ СИГНАЛИЗАЦИИ 1.55 MB
  Лабораторная работа № 6 КОНФИГУРИРОВАНИЕ И КАЛИБРОВКА МИКРОПРОЦЕССОРНОГО ИНДИКАТОРА ИТМ11 ДЛЯ СИСТЕМЫ ТЕХНОЛОГИЧЕСКОЙ СИГНАЛИЗАЦИИ 1. Постановка задачи по лабораторной работе. Индикатор технологический микропроцессорный ИТМ11 необходимо настроить как однок...
12398. Зібрати і дослідити схеми системи ТУ з комбінаційним методом обирання 1.15 MB
  РОБОТА № 7 Дешифратори Мета роботи: Зібрати і дослідити схеми системи ТУ з комбінаційним методом обирання. Теоретичні положення Телекерування є управління на відстані при якому по одних і тих же лініях звязку передаються різні сигнали наказів. Управління о
12399. ДОСЛІДЖЕННЯ ЕЛЕКТРОМАШИННОГО ПІДСИЛЮВАЧА З ПОПЕРЕЧНИМ ПОЛЕМ 755.5 KB
  РОБОТА № 8 ДОСЛІДЖЕННЯ ЕЛЕКТРОМАШИННОГО ПІДСИЛЮВАЧА З ПОПЕРЕЧНИМ ПОЛЕМ Мета роботи. Ознайомитися із принципом дії й визначити статичні характеристики электромашинного підсилювача з поперечним полем. Короткі теоретичні відомості. У сучасному автоматизованому е...