Защита от дурака - 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");

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

  1. Объявлены две переменные: n типа int и buf типа char с размером 32 символа.
  2. Введена функция fgets(), которая считывает строку из стандартного ввода (stdin).
  3. Введенная строка сохраняется в переменной buf.
  4. С помощью функции sscanf() из введенной строки извлекается значение для переменной n.
  5. Если извлечение значения не удалось (получено некорректное значение), то выводится сообщение об ошибке Error.

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


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

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

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