Запретить ввод букв в программу - C (СИ)
Формулировка задачи:
Помогите срочно нада !!
#include <stdio.h>
#include <math.h>
int main()
{
float a,b;
printf("a="); scanf("%f",&a);
printf("b="); scanf("%f",&b);
float z=a+b;
printf("Z=%.5f\n",z);
return 0;
}Как сделать коректность ввода?
тоесть? чтобыбуквеные вырожения вводить было нельзя
тоесть от (а-я) и от (a -z) иличтоб какоето окошка выскакивало типа нельзя ввести такие данные
Решение задачи: «Запретить ввод букв в программу»
textual
Листинг программы
#include <stdio.h>
int main(void) {
float f;
while ( printf("Number: ") && scanf("%f", &f) != 1 ) {
char c;
while ( scanf("%c", &c) == 1 && c != '\n' )
;
printf("Wrong input!\n");
}
printf("New value for Pi constant is %f\n", f);
return 0;
}
Объяснение кода листинга программы
В этом коде на языке C:
- Объявлена переменная типа float f для хранения числа.
- Используется цикл while для проверки ввода числа.
- Внутри цикла, после вывода сообщения
Number:, происходит попытка прочитать число с помощью функции scanf в переменную f. - Если число введено некорректно, то с помощью функции scanf считывается символ до тех пор, пока не будет введен корректный символ.
- Если число введено корректно, то программа продолжает работу.
- После окончания цикла выводится сообщение
New value for Pi constant is ...с новым значением числа Пи. - Возвращается 0, чтобы указать, что программа успешно завершилась. Список переменных:
- f — переменная типа float для хранения числа.
- c — переменная типа char для хранения считанного символа. Выводы:
- В цикле while происходит проверка ввода числа.
- Если число введено некорректно, то считывается символ до тех пор, пока не будет введен корректный символ.
- Если число введено корректно, то программа продолжает работу.
- После окончания цикла выводится сообщение
New value for Pi constant is ...с новым значением числа Пи.