Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
curs.doc
Скачиваний:
3
Добавлен:
08.12.2018
Размер:
282.11 Кб
Скачать

Приложение c

Текст исходного кода с комментариями:

//---------------------------------------------------------------------------

#include <clx.h>

#include <conio.h>

#include <iostream.h>

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused

class Card /* Создание класса */

{

private: /* Описание типов данных и создание механизма

регулирования */

int travel; /* Создание полей класса */

public: /* Описание действий, на которые имеется

право доступа */

Card(int a) : travel(a) /* Создание конструктора с

переменной а; «travel(a)» - значение переменной

конструктора со значением a, которое вводит

пользователь */

{}

void traveldown() /* Создание функции */

{

if (travel>0)

travel--; /* для уменьшения числа

поездок, при условии, что их кол-во

больше нуля */

}

void travelup() /* Создание функции */

{

travel++; /* для увеличения числа поездок */

}

void control() /* Создание функции-проверки карты */

{

if (travel<=3 && travel>0)

{

cout << "Attention! Travel on card " <<

travel << ". Improve your balance,

please.\n";

/* Если на карте осталось 3 или меньше поездок,

программа предупреждает об этом */

}

else if (travel==0)

cout << "Sorry, the card has 0 trips.

Passage interdit!"

<< " Improve your balance, please.\n ";

/* Если на карте 0 "проходов", проход

воспрещен, то программа просит

пополнить счет */

else

cout << "The current number of trips: "

<< travel << endl;

}

};

int main()

{

int trips;

do

{

cout << "Enter travel: "; /* Программа спрашивает

изначальное число поездок */

cin >> trips;

if (trips<0)

cout << "Error!\n";

}

while (trips<0); /* Проверка вводимого числа поездок */

Card ecard(trips); /* Создается объект с параметром, параметр

передается в конструктор, который устанавливает изначальное

число поездок */

int choice;

do

{

do

{

cout << "1-to use a card, 2-to buy travel, 3-

exit: ";

cin >> choice; /* Программа предлагает

пользователю воспользоваться картой или

докупить проходы */

}

while (choice<=0 || choice>=4); /* Программа будет

спрашивать действие у пользователя до тех пор, пока

вводимая переменная не будет равна 1, 2 или з*/

switch (choice) /* Создается переключатель */

{

case 1: /* Если пользователь воспользовался

картой, будут выполнены функции:

- уменьшениче числа «проходов» на карте

- проверка карты */

ecard.traveldown();

ecard.control();

break; /* Вместо фигурных скобок */

case 2: /* Если пользователь докупил "проходы",

будут выполнены функции:

- повышение числа проходов на карте

- проверка карты */

ecard.travelup();

ecard.control();

break;

case 3:

cout << "Exit -->";

break;

default: /* При любом другом значении

переменной choice, программа выдаст ошибку */

cout << "Error!";

break;

}

}

while (choice!=3); /* Цикл с пост-условием выполняется до тех

пор, пока пользователь не введет 3 - exit */

getch ();

return 0;

}

15

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]