|
21 / 21 / 8
Регистрация: 16.11.2012
Сообщений: 349
|
||||||
Лишний раз выводит сообщение28.11.2013, 19:48. Показов 1349. Ответов 11
Метки нет (Все метки)
Добрый вечер.
Уже час бьюсь над следующей проблемой. Почему выводится сообщение: "Oshibka! Poprobuyte snova: Oshibka! Poprobuyte snova: ", вместо: "Oshibka! Poprobuyte snova: " ???
0
|
||||||
| 28.11.2013, 19:48 | |
|
Ответы с готовыми решениями:
11
cout выводит сообщение один раз..больше не хочет.... Хаффман. Выводит лишний элемент Список, выводит лишний нолик |
|
43 / 40 / 2
Регистрация: 21.09.2009
Сообщений: 145
|
||||||
| 28.11.2013, 19:59 | ||||||
0
|
||||||
|
21 / 21 / 8
Регистрация: 16.11.2012
Сообщений: 349
|
|
| 28.11.2013, 20:03 [ТС] | |
|
fridi, ничего не изменилось.
0
|
|
|
43 / 40 / 2
Регистрация: 21.09.2009
Сообщений: 145
|
||||||
| 28.11.2013, 20:06 | ||||||
1
|
||||||
|
21 / 21 / 8
Регистрация: 16.11.2012
Сообщений: 349
|
|
| 28.11.2013, 20:09 [ТС] | |
|
fridi, спасибо! А почему cin вместо scanf? Ведь вся проблема именно с этим, а не с break..
0
|
|
|
43 / 40 / 2
Регистрация: 21.09.2009
Сообщений: 145
|
|
| 28.11.2013, 20:15 | |
|
genock94 scanf - проглатывает что выводится на консоль, поэтому и была проблема, после неверного ввода, писалось сообщение и scanf подхватывал эту строку, и управление передавалось на ветку default....
1
|
|
|
21 / 21 / 8
Регистрация: 16.11.2012
Сообщений: 349
|
|
| 28.11.2013, 20:18 [ТС] | |
|
Аркалык, дело в том, что цикл do введён в код для того, чтобы в случае возникновения ошибки (неправильно введённого символа, например) программа выдала бы сообщение:"Oshibka! Poprobuyte snova: " и заново попросила бы ввести пользователя символ (начался новый круг цикла do). Булева переменная error сигнализирует о наличии ошибки (неверно введённого символа, например), и т.к. в условии цикла do while (error == 1) у переменной error стоит значение 1, то цикл повторит круг. Поэтому нельзя изменить значение error на 0 в 29 строке.
1
|
|
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
||||||||||||||||
| 28.11.2013, 20:20 | ||||||||||||||||
|
genock94, насколько я знаю, всё дело в переводе каретки, который остался в буфере ввода после scanf. Самое простое, как это можно увидет:
Тут произошло то же - второе сообщение вывелось потому, что программа посчитала, что вы ввели два символа - один, допустим, Z, а второй '\n' Исправить можно несколькими способами. Раньше я делал так:
1
|
||||||||||||||||
|
21 / 21 / 8
Регистрация: 16.11.2012
Сообщений: 349
|
|
| 28.11.2013, 20:22 [ТС] | |
|
fridi, ясно. Спасибо.
Не по теме: А где можно посмотреть подробные описания функций C++ (вплоть до алгоритма)? А то вот какая штука происходит с scanf, а я и не знал) Добавлено через 1 минуту nexen, класс) Спасибо!
0
|
|
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|
| 28.11.2013, 20:23 | |
|
genock94, а это и с cin происходит. Просто в меньшей мере, так сказать. В данном случае, как видите, всё впорядке. Но у cin тоже есть метод на всякий случай: cin.ignore() помоему - пропускает '\n' в буфере ввода.
1
|
|
|
21 / 21 / 8
Регистрация: 16.11.2012
Сообщений: 349
|
||||||
| 28.11.2013, 20:29 [ТС] | ||||||
|
nexen, нашел еще 1 способ (использовать функцию geth(), только нельзя забыть подключить библиотеку conio.h):
0
|
||||||
|
|
||||||
| 30.11.2013, 12:45 | ||||||
|
genock94, просто делай всегда перед scanf
1
|
||||||
| 30.11.2013, 12:45 | |
|
Помогаю со студенческими работами здесь
12
Контейнер map. Выводит лишний символ Почему лишний раз выводится строка? _getch() считывает номер и прогоняет цикл лишний раз
printf в цикле выводит сообщение несколько раз Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит:
токи, напряжения и их 1 и 2 производные при t = 0;. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|