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

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

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

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

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

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

Код:
#include <cstdlib>
#include <iostream>

using namespace std;

class ToolBooth 
{
private:
  unsigned int a; // chislo avtomobilei
  double s; //summarnaya viruchka
public:
 ToolBooth(void): a(0), s(0)
 {}
 void PayingCar(void)
 { ++a, s += 0.5f;
}
 void NopayCar(void)
 ++a;
}
 void Display(void) const;
}; 
      void ToolBooth::Display(void) const
 {    
  std::cout << "Najmite klavishu space\n" <<a << std::endl;
  if (s>0)
  std::cout << "Spasibo\n" << s << "proezjaite" << std::endl;
  else if(s <= 0)
    std::cout << "Stop\n" << s << "Oplatite proezd" << std::endl;
  else
    std::cout << "Najmite klavishu Esc, vasha viruchka v kasse:" << std::endl;
}

Последний раз редактировалось Diana528; 14.02.2013 в 17:54.
Diana528 вне форума Ответить с цитированием
Старый 14.02.2013, 17:51   #22
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
что значит тут std и std::endl
std - пространство имён в C++, в котором "живут" многие полезные объекты - в частности, стандартный поток вывода std::cout (::, как уже упоминалось - оператор области видимости, то есть, std::cout означает "объект cout из пространства имён std"). В старых компиляторах, при указании заголовка <iostream.h> можно использовать cout без указания пространства имён, но, поскольку в современных компиляторах эту возможность у программистов постепенно отбирают, стоит сразу учиться писать правильно.

Также иногда (а в учебниках - довольно часто) пишут где-то в начале файла using namespace std. После этого компилятор будет автоматически пытаться к любому бессмысленному имени приставить спереди std::. Ну, в учебнике это позволяет сделать код более читаемым, а в реальной жизни можно после этого ненароком "пересечься" по именам из разных пространств имён и получить интересные глюки. Заметно лучше, если в коде этих cout много, написать using std::cout; - это обозначает компилятору, что в дальнейшем Вы под cout имеете в виду именно std::cout.

Короче. std:: - это техническая приставка к имени. В первом приближении можете считать, что "полное" имя стандартного потока вывода - std::cout и если в коде обращений к нему всего две-три штуки, то проще так и обращаться.


std::endl - один из так называемых манипуляторов вывода. Конкретно этот - "конец строки": его вывод переводит на новую строку. По некоторым причинам (в основном из соображений переносимости) лучше писать так, чем выводить строку "\r\n".
Abstraction вне форума Ответить с цитированием
Старый 14.02.2013, 17:57   #23
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Сообщение от Diana528 Посмотреть сообщение
Код:
#include <cstdlib>
#include <iostream>

using namespace std;

class ToolBooth 
{
private:
  unsigned int a; // chislo avtomobilei
  double s; //summarnaya viruchka
public:
 ToolBooth(void): a(0), s(0)
 {}
 void PayingCar(void)
 { ++a, s += 0.5f;
}
 void NopayCar(void)
 ++a;
}
 void Display(void) const;
}; 
      void ToolBooth::Display(void) const
 {    
  std::cout << "Najmite klavishu space\n" <<a << std::endl;
  if (s>0)
  std::cout << "Spasibo\n" << s << "proezjaite" << std::endl;
  else if(s <= 0)
    std::cout << "Stop\n" << -m_totalGone << "Oplatite proezd" << std::endl;
  else
    std::cout << "Najmite klavishu Esc, vasha viruchka v kasse:" << std::endl;
}
1) Вы в NopayCar забыли скобочку открыть. Компилятор, конечно, всё равно напомнит...
2) По какой-то загадочной причине авторы Вашего задания настаивают, что всё следует называть с маленькой буквы. Так категорически не принято, особенно в отношении названий классов, но обратите внимание.
3) Содержимое Вашего метода Display() мне, скажем так, непонятно. Можете для начала словами написать, чего Вы хотите в нём сделать? Мне казалось, что требуется просто написать что-то в духе "мимо просвистело 37 машин и в кассе скопилось аж 12 долларов".
Abstraction вне форума Ответить с цитированием
Старый 14.02.2013, 17:58   #24
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

Выводит ошибку, что делать?
Diana528 вне форума Ответить с цитированием
Старый 14.02.2013, 18:00   #25
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

Вот я не могу понять что туда написать, в задании сказано:
Создайте программу, которая продемонстрирует работу класса. Программа должна предложить пользователю нажать одну клавишу для того, чтобы сымитировать заплатившего автолюбителя, и другую клавишу, чтобы сымитировать недобросовестного водителя. Нажатие клавиши Esc должно привести к выдаче текущих значений количества машин и выручки и завершению программы.
Diana528 вне форума Ответить с цитированием
Старый 14.02.2013, 18:07   #26
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Выводит ошибку, что делать?
Какую?.. Я не телепат, к сожалению.
Цитата:
Вот я не могу понять что туда написать, в задании сказано:
Это позже. Давайте сначала закончим с классом, потом будем его использовать.
Abstraction вне форума Ответить с цитированием
Старый 14.02.2013, 18:09   #27
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

в самом конце -
else
std::cout << "Najmite klavishu Esc, vasha viruchka v kasse:" << std::endl;
}
Diana528 вне форума Ответить с цитированием
Старый 14.02.2013, 18:10   #28
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

там return 0 должен быть?
Diana528 вне форума Ответить с цитированием
Старый 14.02.2013, 18:11   #29
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

33 C:\Documents and Settings\Di\Ìîè äîêóìåíòû\Diana BVT-12-4\main.cpp expected `}' at end of input
Diana528 вне форума Ответить с цитированием
Старый 14.02.2013, 18:17   #30
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

Код:
#include <cstdlib>
#include <iostream>

using namespace std;

class ToolBooth 
{
private:
  unsigned int a; // chislo avtomobilei
  double s; //summarnaya viruchka
public:
 ToolBooth(void): a(0), s(0)
 {}
 void PayingCar(void)
 { ++a, s += 0.5f;
}
 void NopayCar(void)
 {
      {
 ++a;
}
 void Display(void) const;
}; 
      void ToolBooth::Display(void) const
 {    
  std::cout << "Najmite klavishu space" <<a << std::endl;
  if (s>0)
  std::cout << "Spasibo" << s << "proezjaite" << std::endl;
  else if(s <= 0)
    std::cout << "Stop" << s << "Oplatite proezd" << std::endl;
  else
    std::cout << "Najmite klavishu Esc, vasha viruchka v kasse:" << std::endl;
}
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