среда, 10 сентября 2008 г.

глава 9 упражнение 5

Класс Betelgeusean plorg обладает следующими свойствами:

• Данные

- У plorg имеется имя, содержащее не более 19 букв.
- plorg характеризуется индексом удовлетворенности (CI- contentment index), который представлен целым числом.

• Операции

- plorg начинается с имени и значения CI, равного 50.
- Значение CI может изменяться.
- plorg может отображать свое имя и CI.
- plorg по умолчанию имеет имя "Plorga".

• Сформулируйте определение класса Plorg (элементы данных и прототипы функций-элементов) который представляет plorg. Дайте определения функций-элементов. Напишите короткую программу, которая демонстрирует все свойства класса Plorg.


plorg.h



#ifndef _PLORG_H_
#define _PLORG_H_

class Plorg
{
private:
char name[19] ;
int CI;
public:
Plorg(char * co = "Plorg");
~Plorg();
void func1(int i);
void showplorg()const;
};
#endif



plorg.cpp



#include <cstring>
#include <iostream>
#include "plorg.h"
using namespace std;

Plorg::Plorg(char * co)
{
strcpy(name, co);
CI = 50;
}
Plorg::~Plorg()
{
}

void Plorg::func1(int i)
{
CI = i;
}
void Plorg::showplorg()const
{
cout << "name :" << name << "\n";
cout << "contentment index : " << CI << "\n";
}



move.h



#include <cstdlib>
#include <cctype>
#include <iostream>
#include "plorg.h"
using namespace std;

int main()
{
char nama[19];
char c;
cout << " sosdadim class Plorg. vvedite slovo : ";

cin.getline(nama, 19);
Plorg Pl(nama);
int ci = 0;
cout << "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n";
cout << "+ vyberite nuzhnoe dejstvie: +\n";
cout << "+ a) izmenit CI p)vyvesti na ekran +\n";
cout << "+ q)quit +\n";
cout << "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n";

while (cin >> c && toupper(c) != 'Q')
{
while (cin.get() != '\n')
continue;
if (!isalpha(c))
{
cout << '\a';
continue;
};
switch (c)
{
case 'A' :
case 'a' : cout << "vvedite novyj CI : ";
cin >> ci;
Pl.func1(ci);
break;

case 'P' :
case 'p' : Pl.showplorg();
break;

default : cout << "vy vveli ne vernyj simvol, povtorite vvod\n";
}
cout << "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n";
cout << "+ vyberite nuzhnoe dejstvie: +\n";
cout << "+ a) izmenit CI p)vyvesti na ekran +\n";
cout << "+ q)quit +\n";
cout << "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n";
}
system("PAUSE");
return 0;
}

опять все дерьмо.. кажеться че-то я недоделал.. имхо мало моска еще ...

Комментариев нет: