Ввод данных в массив структур - C (СИ)

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

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

Добрый день! Подскажите пожалуйста как решить проблему - ввод данных в первый элемент структуры производится только для 1 структуры в массиве, в последующих циклах это пропускается и предлагается сразу ввод во вторую строку. В чем может быть проблема?
for (int i = 0; i<n; i++) 
{ 
puts("Enter name: "); 
gets_s(book[i].NAME); 
_flushall(); 
puts("Enter zodiac: "); 
gets_s(book[i].ZODIAC); 
puts("Enter date of birth: "); 
scanf_s("%d %d %d", &book[i].BDAY[0], &book[i].BDAY[1], &book[i].BDAY[2]); 
};
Сама структура
struct znak 
{ 
char NAME[10]; 
char ZODIAC[15]; 
int BDAY[3]; 
} book[n];

Решение задачи: «Ввод данных в массив структур»

textual
Листинг программы
for (int i = 0; i<n; i++) 
{ 
puts("Enter name: "); 
scanf("%s", book[i].NAME); 
_flushall(); 
puts("Enter zodiac: "); 
scanf("%s", book[i].ZODIAC); 
puts("Enter date of birth: "); 
scanf_s("%d %d %d", &book[i].BDAY[0], &book[i].BDAY[1], &book[i].BDAY[2]); 
};

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

  1. Ввод данных в массив структур.
  2. Используется цикл for для прохода по всем элементам массива.
  3. В каждой итерации цикла пользователю предлагается ввести данные для каждого поля структуры.
  4. Для ввода имени используется функция scanf с форматом %s, которая считывает строку символов и сохраняет ее в поле NAME структуры.
  5. Для ввода знака зодиака также используется функция scanf с форматом %s, которая считывает строку символов и сохраняет ее в поле ZODIAC структуры.
  6. Для ввода даты рождения используется функция scanf_s с форматом %d %d %d, которая считывает три целых числа и сохраняет их в поле BDAY структуры.
  7. В конце каждой итерации цикла пользователю предлагается ввести данные для следующего элемента структуры.
  8. После завершения цикла все введенные данные сохраняются в массиве структур.

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


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

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

7   голосов , оценка 4.571 из 5
Похожие ответы