1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 26
|
||||||
1 | ||||||
Проверка ввода27.06.2017, 18:35. Просмотров 1135. Ответов 13
Метки нет Все метки)
(
Здравствуйте, помогите, пожалуйста, написать функцию для обработки неправильного ввода символов. Программа для высчитывания логических выражений, считает вроде корректно, но нету защиты от дурака и неправильно вводимых символов.
Можно вводить 1,0, ()&^|! а остальное должно быть запрещено, т.е выходить надпись что " вы ввели не корректно" или что то похожее.
0
|
|
27.06.2017, 18:35 | |
Проверка ввода Проверка ввода gets() проверка ввода |
|
66 / 49 / 27
Регистрация: 27.04.2015
Сообщений: 201
|
||||||
27.06.2017, 18:57 | 2 | |||||
Если уверены, что программа работает корректно, то можете добавить эту функцию и вызывать ее проверяя конкретный char после каждого считывания. Выглядит как костыль, но к этому коду я затрудняюсь придумать что-то лучше.
0
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 26
|
|
27.06.2017, 19:11 [ТС] | 3 |
А не подскажете, в каком точно месте вставлятЬ?
0
|
66 / 49 / 27
Регистрация: 27.04.2015
Сообщений: 201
|
||||||
27.06.2017, 19:15 | 4 | |||||
После каждой строчки где считывается char
0
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 26
|
|
27.06.2017, 19:26 [ТС] | 5 |
Программа всегда, даже при правильном вводе выводит, что ввели неправильно.
0
|
66 / 49 / 27
Регистрация: 27.04.2015
Сообщений: 201
|
||||||
27.06.2017, 19:29 | 6 | |||||
Что конкретно вы вводите?) Вы программу сами вообще писали?
0
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 26
|
|
27.06.2017, 19:36 [ТС] | 7 |
я вводил банальное выражение: 1&1
должно было вывести 1
0
|
66 / 49 / 27
Регистрация: 27.04.2015
Сообщений: 201
|
||||||
27.06.2017, 19:54 | 8 | |||||
![]() Решение
не учел символ переноса каретки '\n', добавил в условие, пользуйтесь)
1
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 26
|
|
27.06.2017, 20:10 [ТС] | 9 |
Спасибо!
1
|
MrGluck
|
||||||
28.06.2017, 13:47
#10
|
||||||
0
|
Велосипедист...
349 / 216 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
|
28.06.2017, 13:54 | 11 |
YarRainbow,
![]() '1' , '2' ?
0
|
66 / 49 / 27
Регистрация: 27.04.2015
Сообщений: 201
|
|
28.06.2017, 13:57 | 12 |
Captain Maxee, Это я тоже подправил в последнем листинге, мог бы и заметить..)
0
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 26
|
||||||
28.06.2017, 14:48 [ТС] | 13 | |||||
Попрошу ещё помощи, как сделать сообщение о некорректном вводе если, например, ввели так:
1&&0 или (1^0)1 чтобы если так ввести то выходило сообщение о неправильном вводе, а не считало как сейчас?
0
|
66 / 49 / 27
Регистрация: 27.04.2015
Сообщений: 201
|
|
28.06.2017, 14:56 | 14 |
Начинается...)
Добавить проверку, чтобы операции чередовались со значениями. PS А вообще, правильное планирование - залог успеха. Я бы все эти проверки делал с какой-нибудь строкой, а потом ее уже бы считывал посимвольно (хотя я вообще не уверен, что данный алгоритм работает верно, потому что при помощи скобок можно сместить порядок выполнения операций, а здесь же вычисления идут линейно, если я правильно оценил беглым взглядом) Переписывать непродуманную программу целиком (или тем более - писать под нее костыли) сейчас нет времени и желания, no offence..)
0
|
28.06.2017, 14:56 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Проверка ввода Проверка ввода Проверка ввода Проверка ввода Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |