Разрешить ввод данных только типа Float - C (СИ)
Формулировка задачи:
#include <stdio.h> #include <conio.h> void main () { clrscr(); float x,y; printf ("Vvedite koordinatu X tochki E\n"); scanf ("%f",&x); if ((x<=0)||(x>=0)) { printf ("Vvedite koordinatu Y tochki E\n"); scanf ("%f",&y); if ((y<=0)||(y>=0)) { if ((y<=2*x+3)&&(y<=(-x))&&(y>=0)) printf("Tockha prinadlejit figure ABCD"); else { if ((y<=0)&&(y<=(2*x)+3)&&(y>=x/3-1/3)) printf ("Tockha prinadlejit figure ABCD"); else printf("Tockha ne prinadlejit figure ABCD"); } } else printf ("Oshibka vvoda!"); } else printf ("Oshibka vvoda!"); getch(); }
Решение задачи: «Разрешить ввод данных только типа Float»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <float.h> void main () { clrscr(); float x=FLT_MAX,y=FLT_MAX; printf ("Vvedite koordinatu X tochki E\n"); scanf ("%f",&x); if ((x!=FLT_MAX)) { printf ("Vvedite koordinatu Y tochki E\n"); scanf ("%f",&y); if ((y!=FLT_MAX)) { if ((y<=2*x+3)&&(y<=(-x))&&(y>=0)) printf("Tockha prinadlejit figure ABCD"); else { if ((y<=0)&&(y<=(2*x)+3)&&(y>=x/3-1/3)) printf ("Tockha prinadlejit figure ABCD"); else printf("Tockha ne prinadlejit figure ABCD"); } } else printf ("Oshibka vvoda!"); } else printf ("Oshibka vvoda!"); getch(); }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы:
, , . - Задаём начальные значения переменных x и y равными максимальному значению типа float (FLT_MAX).
- Выводим сообщение и призыв к вводу координаты X.
- Считываем значение координаты X с помощью функции scanf и сохраняем его в переменной x.
- Проверяем, что введенное значение не равно FLT_MAX (то есть не является начальным).
- Если условие выполняется, то выводим сообщение и призыв к вводу координаты Y.
- Считываем значение координаты Y с помощью функции scanf и сохраняем его в переменной y.
- Проверяем, что введенное значение не равно FLT_MAX (то есть не является начальным).
- Если условие выполняется, то проверяем, что значение y находится в определенном диапазоне: (y<=2*x+3)&&(y<=(-x))&&(y>=0).
- Если условие выполняется, то выводим сообщение
Tockha prinadlejit figure ABCD
. - Если условие не выполняется, то проверяем, что значение y находится в диапазоне (y<=0)&&(y<=(2*x)+3)&&(y>=x/3-1/3).
- Если условие выполняется, то выводим сообщение
Tockha prinadlejit figure ABCD
. - Если условие не выполняется, то выводим сообщение
Tockha ne prinadlejit figure ABCD
. - Если в процессе проверки значение y оказывается меньше нуля, то выводим сообщение
Oshibka vvoda!
. - Если в процессе проверки значение y оказывается больше или равно 2*x+3, то выводим сообщение
Oshibka vvoda!
. - Если в процессе проверки значение y оказывается меньше x/3-1/3, то выводим сообщение
Oshibka vvoda!
. - Если значение x или y было прочитано некорректно, то выводим сообщение
Oshibka vvoda!
. - Используем функцию getch() для приостановки выполнения программы и ожидания нажатия клавиши.
- Объявляем функцию main() как точку входа в программу.
- Все действия программы выполняются в рамках переменной типа int, которая не имеет имени и не видна за пределами функции main().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д