Scanf, ввожу не цифры, а буквы, чтобы вызвать условный оператор else - C (СИ)
Формулировка задачи:
Как сделать так? допустим я ввожу цифру не от 0 до 100, а какое нибудь слово, после чего вызывался бы условный оператор else?
printf("Enter your current percent in the class: "); scanf("%lf", ¤tGrade); if ( (currentGrade>=0) && (currentGrade<=100 ) ) currentGrade = currentGrade; else { printf("Invalid formatting. Ending program."); _Exit (EXIT_SUCCESS); }
Решение задачи: «Scanf, ввожу не цифры, а буквы, чтобы вызвать условный оператор else»
textual
Листинг программы
int n = scanf("%lf", ¤tGrade); if ( n == 1 && currentGrade >= 0 && currentGrade <= 100 ) currentGrade = currentGrade; else { printf("Invalid formatting. Ending program."); _Exit (EXIT_SUCCESS); }
Объяснение кода листинга программы
int n = scanf(
%lf, ¤tGrade);
- ввод значения с помощью функции scanf в переменную currentGrade. Возвращает количество успешно введенных значений, в данном случае ожидается 1 значение.if ( n == 1 && currentGrade >= 0 && currentGrade <= 100 )
- проверка условия, что было введено корректное значение. Если условие выполняется, то значение currentGrade не изменяется.currentGrade = currentGrade;
- присваивание текущего значения переменной currentGrade.else
- если условие в предыдущем операторе не выполнилось.printf(
Invalid formatting. Ending program.);
- вывод сообщения об ошибке ввода._Exit (EXIT_SUCCESS);
- завершение программы с кодом успеха.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д