Курсовая работа: Динамическое формирование и преобразование списков и структур
FILE *f;
int n;
char filename[50];
start=NULL;
last=NULL;
clrscr();
printf("Enter path to file to open (ex. C:\\file.txt):\n");
scanf("%s", filename);
if((f=fopen(filename, "r"))==NULL) {
printf("(!) Invalid filename or file is missing! Press any key to return to menu.");
getch();
} else
if(filelength(fileno(f))==0) {
clrscr();
printf("File is empty! Press any key...");
getch();
goto end;
}
else {
while (!feof(f)) {
p=(mg*)malloc(sizeof(mg));
scanf(f, "%d", &(p->num));
fscanf(f, "%s", p->adr.city);
fscanf(f, "%s", p->adr.str);
fscanf(f, "%d", &(p->adr.dom));
for(n=0;n<5;n++) {
fscanf(f, "%s", p->pro[n].name);
fscanf(f, "%d", &(p->pro[n].price));
fscanf(f, "%s", p->pro[n].time);