0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 80
|
||||||
1 | ||||||
Как организовать повтор ввода при неправильном ответе14.11.2015, 21:03. Показов 5741. Ответов 9
Метки нет (Все метки)
Добрый вечер, форумчане!
Пытаюсь сделать в консоли программку - квест. Пользователь вводит правильный ответ, и программа продолжает действовать. Для этого использую два рядка - один уже заполненый, а второй сравниваю с первым через strcmp, если результат - не 0, то ошибка, если 0 - то переходим к следующему вопросу. Вопрос такой - как отменить переход к следующему вопросу, если на предыдущий дан неправильный ответ? Пробовал через do while - не получилось, пробовал использовать goto (знаю что лучше не использовать). Если написан один вопрос - не пускает, пока не напишешь правильный ответ, а если два - то вообще не пускает. Подскажите, пожалуйста, что я делаю не так.
0
|
14.11.2015, 21:03 | |
Ответы с готовыми решениями:
9
Как сделать так, чтобы консоль при неправильном ответе закрывалась? как организовать повтор ввода данных Организовать повтор ввода при нажатии Enter Вычитание времени при неправильном ответе |
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
|
|
14.11.2015, 21:09 | 2 |
Используйте break чтобы остановить, continue чтобы продолжить. Подробнее здесь: Оператор break
0
|
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 80
|
|
14.11.2015, 21:11 [ТС] | 3 |
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
||||||
14.11.2015, 21:25 | 4 | |||||
0
|
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 80
|
||||||
14.11.2015, 21:36 [ТС] | 5 | |||||
zss, спасибо!!!
Добавлено через 9 минут zss, странно, ввожу второй рядок такой же как и первый - все равно выдает
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
|
14.11.2015, 21:57 | 6 |
Значит чем-то они отличаются, иначе strcmp(str1,str2)!=0 было бы ложью
Посмотрите отладчиком https://www.cyberforum.ru/cpp-... 62479.html Может Вы вводите пробельные символы?
0
|
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 80
|
|
14.11.2015, 22:12 [ТС] | 7 |
Нет, пробелы не ввожу. Отладчик показал вот это (если я правильно понял что делать):
0
|
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 80
|
|
14.11.2015, 22:53 [ТС] | 8 |
А есть ещё какие-то способы сравнить рядок?
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
|
15.11.2015, 13:54 | 9 |
Сообщение было отмечено Nazar25 как решение
Решение
Надо в этом месте посмотреть не это, а значение переменных str1 и str2 и убедиться, что они действительно разные.
Кстати, зачем 3 объявления одной и той же функции: И зачем Вы вообще это сделали? strcmp объявлена в string.h Вот его и надо подключить. Еще одна ошибка Почему размер str1 указан 10, когда надо 11: 10 символов+терминальный ноль. Скорее всего, из-за этого и получается, что переменные разные, т.к. изменение одной переменной приводит к изменению другой.
1
|
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 80
|
|
15.11.2015, 14:25 [ТС] | 10 |
zss, спасибо, вы очень помогли. Удалил три объявления функции, увеличил на один кол-во элементов рядка - и сработало!
0
|
15.11.2015, 14:25 | |
15.11.2015, 14:25 | |
Помогаю со студенческими работами здесь
10
Запрос ввода числа. При вводе текста - повтор запроса. Как осуществить? Как организовать повтор программы? Плеер: как организовать повтор одной песни, всех песен, случайно Реализовать повтор ввода данных в программу или отказ от ввода Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |