Создать переменную структуру - C (СИ)
Формулировка задачи:
Помгите пожалуйста! В задаче требуется создать переменную структуру, но везде где есть числовые данные он выдает ошибку(строки 23,31, 32, 38 и 40).
# include <stdio.h>
# include <conio.h>
#include <string.h>
int main()
{typedef struct{
int nomber;
int type;
union{
char fam[10];
char nazv[10];
int otdel;
char adr[20];
} sprav;
}tel;
tel t;
int n,i;
puts("vvedite kol-vo telefonov");
scanf("%d", &n);
puts("vvedite tip");
scanf("%d", &t.type);
if(t.type==1) {puts("vvedite telefon familiu i adres");
for(i=0;i<n;i++)
{fflush(stdin); scanf("%d", &t.nomber[i]);
fflush(stdin); scanf("%s", &t.sprav.fam[i]);
fflush(stdin); scanf("%s", &t.sprav.adr[i]);
}
puts("vvedite zapros");
char fam1[10];
gets(fam1);
for(i=0;i<n;i++)
{if (strcmp(fam1, t.sprav.fam[i])==0) {printf("%d", t.nomber[i]);
printf("%s", t.sprav.adr[i]);
}
else puts("ne naideno");
}}
if(t.type==2) {puts("vvedite telefon nazvanie i otdel");
for(i=0;i<n;i++)
{fflush(stdin); scanf("%d", &t.nomber[i]);
fflush(stdin); scanf("%s", &t.sprav.nazv[i]);
fflush(stdin); scanf("%d", &t.sprav.otdel[i]);
}}
return 0;
}Решение задачи: «Создать переменную структуру»
textual
Листинг программы
typedef struct{
int nomber;
int type;
union{
char fam[10];
char nazv[10];
int otdel;
char adr[20];
} sprav;
}tel;
Объяснение кода листинга программы
- Создается структура данных типа
tel. - В структуре есть переменная
nomberтипаint. - В структуре есть переменная
typeтипаint. - В структуре есть переменная
spravтипаunion. - В
unionесть несколько вариантов данных:famтипаcharс длиной 10 символов.nazvтипаcharс длиной 10 символов.otdelтипаint.adrтипаcharс длиной 20 символов.
- В структуре есть свободное место для хранения информации.