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;

}

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


 

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

50110. ВЕТРОВЫЕ НАГРУЗКИ 95.5 KB
  Скорость ветра Для измерений характеристик ветра на метеостанциях в настоящее время используются анеморумбометры М63М или их модификации который обеспечивает автоматическое измерение средней скорости за 10 минут в диапазоне 140 м с максимальной скорости до 60 м с и направления ветра. Они предназначены для измерения скорости ветра от 0 до 40 м с. При этом определяли среднюю скорость ветра максимальную скорость порыв в срок наблюдений а также направление ветра. Для определения скорости ветра наблюдается колебание доски в течение 2...
50112. Дослідження спектрального розподілу фотопровідності та пропускання напівпровідникових кристалів 229.5 KB
  Прилади і обладнання Монохроматор УМ2 джерело світла селеновий фотоелемент зразок напівпровідникового кристалу Опис установки Оптична схема експериментальної установки для дослідження спектрального розподілу фотопровідності пропускання та поглинання напівпровідникових матеріалів зібрана на базі монохроматора УМ2 рис.1 в окрему групу виділені основні елементи монохроматора. Світловий пучок що випромінюється джерелом світла 1 фокусується конденсорною лінзою 3 на вхідній щілині 6 монохроматора. Для одержання спектрального розподілу...
50114. Рух по діагоналі. Рух по колу. Команди та дії 83.5 KB
  Стройові вправи. Загальнорозвивальні вправи. Прикладні вправи. Стройові вправи.
50115. ОПРЕДЕЛЕНИЕ РАДИУСА КРИВИЗНЫ ЛИНЗЫ И ДЛИНЫ СВЕТОВОЙ ВОЛНЫ ПО КОЛЬЦАМ НЬЮТОНА 366.5 KB
  Закрепите ртутный фонарь высокого давления с двойным конденсором фокусное расстояние 60 мм держатель для линз с интерференционным фильтром устройство для получения колец Ньютона держатель для линз с линзой с фокусом 50 мм и полупрозрачный экран на расстоянии 40 см от линзы на оптической скамье. Затем в держатель для линзы вставьте желтый светофильтр. В экспериментальной установке значение радиуса кривизны плосковыпуклой линзы R = 121 м.
50117. Программирование задач с использованием операторов цикла (табуляции функции) 57.5 KB
  Цель: Получение практических навыков в использовании операторов цикла. Операторы цикла делятся на 3 вида: оператор с параметром с предусловием и с постусловием. Количество повторений цикла определяется начальным значением переменнойсчетчика и условием завершения цикла.