|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.12.2011, 19:16 | #1 |
Форумчанин
Регистрация: 29.10.2011
Сообщений: 141
|
Короткий вопрос. cin
int p;
cin>>p; что произойдет если ввести букву или строку содержащую буквы? я знаю что ввод прекратиться и в p ничего записано не будет. Собственно мне надо просто вывести сообщение об ошибке если кто то введет буквы или строку. |
16.12.2011, 19:21 | #2 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Ну а если сам все знаешь, чего тогда спрашиваешь то?)
|
16.12.2011, 19:40 | #3 |
Форумчанин
Регистрация: 29.10.2011
Сообщений: 141
|
Вообщем дело такое) В программе которую пишу ввожу подряд 6 значений. дату.
проверить чтобы числа были правильные легко, не меньше нуля. и не больше какого то числа. (60 для секунд и т.д) но если ввести туда буквы, cin просто прекращает свою работу. и я не знаю как отследить ввод букв. |
16.12.2011, 19:41 | #4 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
pinkiller
Собственно мне надо просто вывести сообщение об ошибке если кто то введет буквы или строку. int p; if (!(std::cin >> p)) { std::cerr << "букавки не понимать мая, насяльника!" << std::endl; }
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
16.12.2011, 19:50 | #5 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
cin >> buf; //исследуем буфер. Если пользователь ввёл то, что нам нужно, //то копируем данные из буфера куда нам нужно, и работаем как обычно |
|
16.12.2011, 20:17 | #6 |
Форумчанин
Регистрация: 29.10.2011
Сообщений: 141
|
а если у меня не cin а перегруженая функция где используеться is формата istream и обратиться std::is невозможно?
|
16.12.2011, 20:31 | #7 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
|
17.12.2011, 14:15 | #8 |
Форумчанин
Регистрация: 29.10.2011
Сообщений: 141
|
переменная типа istream, чтобы перегрузить cin
|
17.12.2011, 16:55 | #9 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
|
17.12.2011, 21:03 | #10 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ну присвоили вы cin новое значение, и что с того? что нельзя его применить больше?
код из поста 4 работает для любых istream. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
cin.get в while | kaljan775 | Общие вопросы C/C++ | 6 | 30.09.2010 14:59 |
Cin | _-Re@l-_ | Общие вопросы C/C++ | 8 | 25.06.2010 23:17 |
Короткий повтор сигнала в биосе AWARD | D-manF | Компьютерное железо | 1 | 24.12.2009 14:28 |
Как получить короткий путь | Д'якон | Общие вопросы Delphi | 4 | 12.09.2009 13:16 |
Короткий вопрос - где можно создать свой сайт | Siroga35 | Свободное общение | 5 | 22.01.2009 16:23 |