Я пытаюсь проверить, вводит ли пользователь правильное значение с возвращаемыми значениями. Он должен ввести четное число от 0 до 100.
Думаю, я правильно понял, но теперь моя проблема в том, что пользователь должен дважды нажать клавишу «Enter», чтобы завершить функцию scanf.
Есть ли у меня еще одна возможность избежать этого от пользователя?
Вот код, который я написал:
#include <stdio.h>
#include <windows.h>
int main( void )
{
int ok, input = -1;
char c;
while(input < 1 || input > 100 || input%2 != 0) { //repeat loop if Input is not even or betwenn 0 and 100
printf("Enter an odd number between 1 und 100: ");
int ok = scanf("%d%c", &input, &c); //Input is correct if ok = 2 and c = 10'\n'
while((c = getchar()) != '\n' && c != EOF) {} //this loop empties the input buffer to avoid infinite loops if users enters a character
}
printf("You habe chosen the number %d ", input);
getchar();
return 0;
}