Задание:
Определить структуру с тремя полями, создать массив из 7 элементов типа данной структуры, заполнить его и вывести на экран. Столкнулся с проблемой: в структуре 3 поля: два из них - типа
char, одно - типа
int. При заполнении полей типа
char, я использую функцию
fgets(), при заполнении поля
int использую обычный
scanf(), при этом, после заполнения первого элемента массива структур, у меня пропускается заполнения первого поля следующего элемента массива... Вот как это выглядит:
Вот код самой программы:
#include <stdio.h>
#include <stdlib.h>
struct aeroflot{
char nazn[20];
char tip[20];
int numr;
};
int main(){
int i;
struct aeroflot airport[7];
for( i = 0; i < 7; i++ ){
printf("Enter #%d flight nazn: ", i);
fgets(airport[i].nazn, 20, stdin);
printf("Enter #%d flight tip: ", i);
fgets(airport[i].tip, 20, stdin);
printf("Enter #%d flight numr:", i);
scanf("%d", &airport[i].numr);
printf("You entered:\n");
fputs(airport[i].nazn, stdout);
fputs(airport[i].tip, stdout);
printf("\n%d", airport[i].numr);
}
return 0;
}
Помогите понять, в чем проблема и объясните как заполняют поле int в таких ситуациях... Может нужно юзать другие ф-ции?