Проверка переменной на принадлежность к числовому типу - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Доброго всего да побольше! Есть переменная, к примеру double x; выводится на экран сообщение "Введите X: ", пользователь случайно вводит не число, а букивку или любой другой символ, как осуществить проверку принадлежности введенного значения к типу double, чтобы вывести сообщение типа: "Введи число, осел!". И дать ему второй шанс ввести число. Считываю введенные данные так:
float main()
{
    float s, t, sol;
    printf("Enter s: ");
    scanf("%f", &s);
    printf("Enter t: ");
    scanf("%f", &t);
    sol = solFunc( t, -2*s, 1.17 ) + solFunc( 2.2, t, s-t );
    printf("\n%f\n\n", sol);
    system("pause");
}
Вот такое:
if ( s == int )
не работает. Такое:
do{
 printf("Enter s: ");
 if(scanf("%f", &s)==1) break;
 printf("Нихт ферштэйн!");
}while(1==1);
тоже. Просто зацикливается. Такое:
for(i=0; i<1; i++){
 printf("Enter s: ");
 if(scanf("%f", &s)==1) break;
 printf("Нихт ферштэйн!");
}
тоже. Если ввесли не число, пишет сообщение об ошибке, и просит вводить уже следующую переменную. Есть какие предложения по этому?

Шйорт побьери, уже есть ответ, удалите пожалуйста тему

Решение задачи: «Проверка переменной на принадлежность к числовому типу»

textual
Листинг программы
double b;
do
{
    fflush(stdin);
    int a = sacnf("%lf",&b);
}while(a!=1);

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

  1. Объявляется переменная типа double с именем b.
  2. Запускается цикл do-while, который будет выполняться до тех пор, пока значение переменной a не станет равным 1.
  3. Внутри цикла происходит считывание значения с помощью функции scanf с форматом %lf и указанием адреса переменной b.
  4. Результат считывания значения сохраняется в переменной a.
  5. Если значение a не равно 1, то происходит переход к следующей итерации цикла.
  6. Если значение a равно 1, то происходит выход из цикла и выполнение программы продолжается.

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


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

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

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