Если введена не цифра, то написать, что нужно вводить только цифры и перейти снова к вводу - 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;
}

Объяснение кода листинга программы

  1. Включение стандартной библиотеки
  2. Объявление переменных: — num (integer) — status (integer), инициализируется значением 0
  3. Вход в цикл do-while
  4. Выполнение команды scanf для ввода целого числа в переменную num
  5. Проверка статуса ввода (1 - успешно, 0 - неуспешно)
  6. Если статус ввода не равен 1, вывод сообщения об ожидаемом целочисленном вводе
  7. Очистка буфера ввода с помощью fflush(stdin)
  8. Повторение шагов 4-7 до тех пор, пока статус ввода не станет равным 1
  9. Вывод значения переменной num
  10. Ввод символа для завершения работы программы
  11. Возврат 0 для завершения программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы