Проверка на ввод вещественного числа - C (СИ)

Узнай цену своей работы

Формулировка задачи:

В общем, вот частичка программы, показывающая заполнение массива с клавиатуры:
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]);
                      }
Количество элементов и сами элементы - целые числа. Когда пытаюсь ввести вещественное количество элементов, например 2,74, он определяет что элементов должно быть 2, т.е. округляет, отображает на экране, но ввести не дает, заканчивает программу. То же самое и с самими элементами. Ввожу вещественное, заканчивает программу, остальные ввести не дает. Должно вроде браться целое число до запятой. А если не берется, то как сделать проверку вещественное ли введено? Заранее спасибо.

Решение задачи: «Проверка на ввод вещественного числа»

textual
Листинг программы
    double size;
    printf("\nВведите количество элементов массива (0 < n <= 40): ");
    scanf("%lf", &size);
    n = (int)size;

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

  1. Объявляется переменная типа double с именем size.
  2. Выводится сообщение с просьбой ввести количество элементов массива.
  3. Вводится количество элементов массива с помощью функции scanf, которое сохраняется в переменной size.
  4. Переменная n инициализируется значением, которое было введено пользователем, приводится к типу int.

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


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

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

9   голосов , оценка 3.667 из 5