Как запретить ввод символов - C (СИ)
Формулировка задачи:
Можно ли как-то запретить ввод символов в т е мне надо, чтобы программа выбирала только цифры или не выполнялась, пока пользователь не введет корректные данные, или можно это сделать с помощью регулярных выражений?
Для примера полный код:
При вводе буквы получается, что остальные координаты вводить не надо.
scanf("%f", &qwe);
#include <stdio.h> #include <locale.h> #include <conio.h> main(void) { setlocale(LC_ALL,"Russian"); //установка русского языка // Объявление переменных int i; float t[4][2]; // Массив координат float qwe; // рабочая переменная printf("\n\n\nВведите:"); //ввод данных for(i=0; i<=3; i++) { printf("\nКоординаты: %d-ой точки: \n \n \t \t x=", i+1); scanf("%f", &qwe); t[i][0]=qwe; printf("\n \t \t y="); scanf("%f", &qwe); t[i][1]=qwe; } getch(); }
Решение задачи: «Как запретить ввод символов»
textual
Листинг программы
#include<stdio.h> int main(){ float x; while(scanf("%f", &x)) printf(" x*x= %f\n\n", x*x); return 0; }
Объяснение кода листинга программы
В этом коде:
- В первой строке подключается стандартная библиотека scanf.h, которая позволяет вводить данные с клавиатуры.
- В функции main() создается переменная типа float с именем x.
- Далее, в цикле while(scanf(
%f
, &x)) происходит считывание значения с клавиатуры и сохранение его в переменной x. С помощью функции scanf() происходит считывание числа с плавающей точкой (числа с десятичной частью). - В каждой итерации цикла значение x выводится на экран с помощью функции printf(). Выводится значение x*x.
- Цикл продолжается до тех пор, пока на клавиатуре не будет введено значение.
- В конце функции main() возвращается 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д