Если введена не цифра, то написать, что нужно вводить только цифры и перейти снова к вводу - C (СИ)
Формулировка задачи:
Доброго времени суток. Я новичок в этом деле. Как реализовать функцию: если введена не цифра, то написать, что нужно вводить только цифры и перейти снова к вводу.
#include <stdio.h> #include <stdlib.h> #include <conio.h> int main() { char i, counter; printf("How much do I say \"Hello\" ???\n"); scanf("%c", &counter); for(i='0'; i<counter; ++i) //повторения цыкла, в зависимости от введенной цифры с клавиатуры; { printf("Hello\n"); } getch(); }
Решение задачи: «Если введена не цифра, то написать, что нужно вводить только цифры и перейти снова к вводу»
textual
Листинг программы
#include <stdio.h> int main() { int num, status = 0; do { status = scanf("%d", &num); if (status != 1) printf("An integer expected\n"); fflush (stdin); } while (status != 1); printf("Your integer: %d", num); getchar(); return 0; }
Объяснение кода листинга программы
- Включение стандартной библиотеки
- Объявление переменных: — num (integer) — status (integer), инициализируется значением 0
- Вход в цикл do-while
- Выполнение команды scanf для ввода целого числа в переменную num
- Проверка статуса ввода (1 - успешно, 0 - неуспешно)
- Если статус ввода не равен 1, вывод сообщения об ожидаемом целочисленном вводе
- Очистка буфера ввода с помощью fflush(stdin)
- Повторение шагов 4-7 до тех пор, пока статус ввода не станет равным 1
- Вывод значения переменной num
- Ввод символа для завершения работы программы
- Возврат 0 для завершения программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д