Проверка переменной на принадлежность к числовому типу - 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);
Объяснение кода листинга программы
- Объявляется переменная типа double с именем
b
. - Запускается цикл do-while, который будет выполняться до тех пор, пока значение переменной
a
не станет равным 1. - Внутри цикла происходит считывание значения с помощью функции scanf с форматом
%lf
и указанием адреса переменнойb
. - Результат считывания значения сохраняется в переменной
a
. - Если значение
a
не равно 1, то происходит переход к следующей итерации цикла. - Если значение
a
равно 1, то происходит выход из цикла и выполнение программы продолжается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д