Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2013, 16:25   #1
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
Сообщение программа на классы

Представьте пункт для взимания платежей за проезд по автостраде. Каждая проезжающая машина должна заплатить за проезд 50 центов, однако часть машин платит за проезд, а часть проезжает бесплатно. В кассе ведется учет числа проехавших машин и суммарная выручка от платы за проезд.
Создайте модель такой кассы с помощью класса tollBooth. Класс должен содержать два поля. Одно из них, типа unsigned int, предназначено для учета количества проехавших автомобилей, а второе, имеющее тип double, будет содержать суммарную выручку от оплаты проезда. Конструктор должен инициализировать оба поля нулевыми значениями. Метод payingCar() инкрементирует число машин и увеличивает на 0,50 суммарную выручку. Другой метод, nорауСаг(), увеличивает на единицу число автомобилей, но оставляет без изменения выручку. Метод display() выводит оба значения на экран.
Создайте программу, которая продемонстрирует работу класса. Программа должна предложить пользователю нажать одну клавишу для того, чтобы сымитировать заплатившего автолюбителя, и другую клавишу, чтобы сымитировать недобросовестного водителя. Нажатие клавиши Esc должно привести к выдаче текущих значений количества машин и выручки и завершению программы. (Плиз помогите написать прогу)
Diana528 вне форума Ответить с цитированием
Старый 13.02.2013, 16:39   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Плиз помогите написать прогу
В чём помочь? Что не получается? Какими учебными материалами Вы пользуетесь?
Abstraction вне форума Ответить с цитированием
Старый 13.02.2013, 17:06   #3
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

Павловская С++, проблема в общей теме классов.
Diana528 вне форума Ответить с цитированием
Старый 13.02.2013, 17:09   #4
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

Проблема в классах, до сих пор не могу разобраться с этим: Класс должен содержать два поля. Одно из них, типа unsigned int, предназначено для учета количества проехавших автомобилей, а второе, имеющее тип double
Diana528 вне форума Ответить с цитированием
Старый 13.02.2013, 17:35   #5
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Хорошо. Я делаю класс "кота учёного", который может идти налево и направо и запоминает, сколько он рассказал сказок, сколько спел песен и как далеко ушёл от начальной точки. Вначале просто кот, "пустой":
Код:
//Учёный кот
class WonderfulCat {
};//Запомните: описания любых типов оканчиваются на ;
Теперь добавляем поля - это то, что описывает состояние кота. В этот момент смысловая нагрузка полей (это количество, или расстояние, или деньги в кассе) существует только в нашей голове... ну, и в комментариях тоже желательно писать:
Код:
//Учёный кот
class WonderfulCat {
private: //Спецификатор доступа. private: означает, что всё, что ниже,
//"известно" и "доступно" только самому коту. Его личное дело, так сказать.
//Если нет веских причин для иного, любые поля данных должны быть private 

  int m_numSongs; //Число спетых песен. Префикс m_ в названии переменной используется 
//для того, чтобы в дальнейшем коде было легко отличать члены класса от
//прочих переменных. Не хотите - не используйте, этого не требуется.

  int m_numTales; //Число рассказанных сказок

  int m_totalGone; //"Смещение" кота от начальной позиции. Если значение
//отрицательное - это смещение влево, положительное - вправо
};
Сделайте аналогичное для Вашего случая, потом пойдём дальше.
Abstraction вне форума Ответить с цитированием
Старый 13.02.2013, 17:45   #6
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

#include <cstdlib>
#include <iostream>

using namespace std;

class toolbooth
{
private:
int a; // chislo avtomobilei
int b; //chislo deneg

int s; //summarnaya viruchka
};
Diana528 вне форума Ответить с цитированием
Старый 13.02.2013, 18:24   #7
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

1) Код оформляется тегом CODE (кнопочка-"решётка" в интерфейсе отправки сообщения).

2) У Вас два поля же, а не три: "количество автомобилей", типа unsigned int и "суммарная выручка" типа double. Что такое "число денег", мне непонятно.
3) Класс в задании требуется назвать не так. Обратите внимание, в C++ (в отличие от Pascal) прописные и строчные буквы различаются.
Abstraction вне форума Ответить с цитированием
Старый 13.02.2013, 18:32   #8
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

#include <cstdlib>
#include <iostream>

using namespace std;

class toolBooth
{
private:
int a; // chislo avtomobilei

int s; //summarnaya viruchka
};
Diana528 вне форума Ответить с цитированием
Старый 13.02.2013, 18:32   #9
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

правильно?
Diana528 вне форума Ответить с цитированием
Старый 13.02.2013, 18:35   #10
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

#include <cstdlib>
#include <iostream>

using namespace std;

class toolBooth
{
private:
int a; // chislo avtomobilei

int s; //summarnaya viruchka
Diana528 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Классы в C++ Etete Помощь студентам 0 21.05.2012 21:36
Программа на С#. Классы MarihuanaP Фриланс 12 14.12.2011 05:48
С++,ООП,программа на классы VampIrchik Помощь студентам 1 25.01.2011 20:11
Классы в С++ Stager Помощь студентам 4 05.05.2009 10:05