У меня есть программа на C, имитирующая взаимодействие ATM между пользователем и программой, принимая выбор входных данных, чтобы затем произвести вывод.Как мне получить консоль, чтобы ввести правильный ввод в C?
Пользователь должен ввести значение 1111, чтобы продолжить транзакцию, если это не так, программа выдает сообщение об ошибке и продолжает требовать от пользователя ввода правильного вывода, пока программа не прочитает в 1111.
Я попытался использовать цикл while, чтобы продолжать запрашивать правильное значение, 1111, и пока он не будет введен, программа продолжает просить пользователя ввести правильный вывод.
void main() {
int pin;
printf("Please enter the default pin: ");
while (pin != 1111)
{
printf("Invalid input ");
printf("Please enter the default pin again: ");
scanf("%d", &pin);
if (pin == 1111)
{
//The program continues
}
}
}
Каждый раз, когда я набираю в неправильной булавке, он просит пин еще один раз, а затем падает с ошибкой, что программа перестала работать. Я думаю, что я вызываю бесконечный цикл, но я не уверен, что происходит.
Вы инициализируете 'pin' до * хорошего значения *, затем переходите прямо к' while! Good value', который не будет полностью зацикливаться. Поэтому либо вы не опубликовали правильный код, либо не видите никаких подсказок для булавки. – crashmstr