Проверка на ввод вещественного числа - C (СИ)
Формулировка задачи:
В общем, вот частичка программы, показывающая заполнение массива с клавиатуры:
Количество элементов и сами элементы - целые числа. Когда пытаюсь ввести вещественное количество элементов, например 2,74, он определяет что элементов должно быть 2, т.е. округляет, отображает на экране, но ввести не дает, заканчивает программу. То же самое и с самими элементами. Ввожу вещественное, заканчивает программу, остальные ввести не дает. Должно вроде браться целое число до запятой. А если не берется, то как сделать проверку вещественное ли введено? Заранее спасибо.
printf("\nВведите количество элементов массива (0 < n <= 40): "); scanf("%d", &n); while ( (n <= 0) || (n > 40) ) { printf("\nОшибка!"); printf("\nВведите количество элементов массива (0 < n <= 40): "); scanf("%d", &n); } printf("\n\nВведите элементы массива (целые неотрицательные числа):\n\n"); for( i=0; i<n; i++) { printf("\nВведите MASS[%d]:\n", i); scanf("%d", &MASS[i]); }
Решение задачи: «Проверка на ввод вещественного числа»
textual
Листинг программы
double size; printf("\nВведите количество элементов массива (0 < n <= 40): "); scanf("%lf", &size); n = (int)size;
Объяснение кода листинга программы
- Объявляется переменная типа double с именем
size
. - Выводится сообщение с просьбой ввести количество элементов массива.
- Вводится количество элементов массива с помощью функции scanf, которое сохраняется в переменной
size
. - Переменная
n
инициализируется значением, которое было введено пользователем, приводится к типу int.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д