Создание класса

 
0
 
C++
ava
Nikita92 | 02.11.2016, 20:08
Подскажите пожалуйста, как задать методы чтобы программа заработала.

Задание:

Составьте объектно-ориентированную программу, имитирующую работу автоматического турникета при въезде на парковку. Программа должна моделировать ситуацию, когда часть машин оплачивает парковку, а часть машин проезжает бесплатно. В кассе ведется учет числа проехавших за день машин и суммарной выручки от оплаты парковки.

Для реализации программы создайте класс, например, с именем gate.

В состав полей данных класса включите три переменные:
целочисленную переменную, например, с именем payCars, типа unsigned int для учета числа машин, оплативших парковку;
целочисленную переменную, например, с именем nopayCars, типа unsigned int для учета числа машин, не оплативших парковку;
целочисленную переменную, например, с именем totalCash, типа unsigned int для хранения суммарной выручки от оплаты парковки.

В состав методов класса включите следующие функции:
конструктор класса, инициализирующий все поля нулевыми значениями;
функцию, например, с именем payingCars(), инкрементирующую количество оплативших парковку машин и увеличивающую суммарную выручку на величину тарифа за парковку;
функцию, например, с именем nopayingCars(), инкрементирующую количество не оплативших парковку машин и оставляющую суммарную выручку без изменения;
функцию, выводящую на экран результаты работы турникета за день.

В функции main() продемонстрируйте работу класса. Для этого в ней:
создайте объект класса gate;
предложите пользователю:
нажать одну клавишу для имитации заплатившего водителя;
нажать другую клавишу для имитации недобросовестного водителя;
нажать клавишу ESC (код клавиши – 27).
Нажатие клавиши ESC должно приводить к выводу всей информации о работе парковки и завершению работы программы.

Для считывания введенных пользователем данных используйте функцию _getche().
Для передачи тарифа за парковку в метод payingCars() используйте глобальную переменную.

Вот код:



#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;
int tarif = 50;
class gate
{
public: unsigned int payCars, nopayCars, totalCash;
public:gate(): payCars(0), nopayCars(0), totalCash(0)
{}
       void payingCars()
       {
           payCars++;
           
           
           totalCash += tarif;

           
       }
       void nopayingCars()
       {
           nopayCars+=nopayCars;

       }
       void vivod()
       {
           
           cout << "Количество проехавших машин:   " <<  payCars+ nopayCars << endl <<
                   "Из них: оплатили парковку:     "  << payCars << endl <<
                   "        не оплатили парковку:  " << nopayCars << endl << endl <<
                   "Общая сумма выручки:  " << totalCash << " рублей\n";
       }
};


int main()
{
    SetConsoleOutputCP(1251);
    gate gt;
    cout << "\nНажмите клавиши: 0 - для каждой машины без оплаты\n" <<
        "                        1 - для каждой оплачивающей машины\n" <<
        "                       Esc - для выхода" << endl << endl;

    char ch;
    
    while ((ch=_getche())!=27)
    {

        
        
            
            if (ch == 1)
                gt.payingCars();
                if (ch == 0)
                gt.nopayingCars();
            

        
        
    }
    cout << endl;
    gt.vivod();
}

[/code]
[/code]
Kommentare (2)
ava
Nikita92 | 02.11.2016, 23:18 #
Ошибка найдена : '0' '1'
ava
xvr | 03.11.2016, 12:11 #
Это не единственная ошибка  :wink Ищите дальше  :wink 
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
  xvr   Nikita92
advanced
Absenden