Защита от дурака - C (СИ)
Формулировка задачи:
Добрый день! Помогите пожалуйста:как сделать, чтобы проверялось,что вводимые с клавиатуры данные принадлежат типу int.
Заранее спасибо!
#include <stdio.h> #include <conio.h> #include <math.h> #define a 1 int main() { int x; float g,h,c; double f; clrscr(); metka: printf("Vvedite x ne ravnoe 0:"); scanf("%d",&x); printf("x=%d\n",x); if (x==0) { printf("\nError!\n"); goto metka; } else { g=sin(x-1/12)+log(a*abs(x)); h=abs(1-sin(1/(a*x))); if (h==0) { printf("Error!"); goto metka; } else { c=g/h; f=c*exp(x-1); printf("f=%.2f",f); } } getch(); return 0; }
Решение задачи: «Защита от дурака»
textual
Листинг программы
int n; char buf[32]; fgets(buf, 31, stdin); if(sscanf(buf, "%d", &n) != 1) printf("Error");
Объяснение кода листинга программы
- Объявлены две переменные:
n
типа int иbuf
типа char с размером 32 символа. - Введена функция
fgets()
, которая считывает строку из стандартного ввода (stdin). - Введенная строка сохраняется в переменной
buf
. - С помощью функции
sscanf()
из введенной строки извлекается значение для переменнойn
. - Если извлечение значения не удалось (получено некорректное значение), то выводится сообщение об ошибке
Error
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д