Электронная картотека
Рефераты >> Программирование и компьютеры >> Электронная картотека

while (pla->prev)

{

if(strcmpi(pla->namepl,s)==0)

{

printf("│ %5d │ %18s │ %12u │ %15s │ %11u │ ",i,pla->namepl,

pla->year,pla->people,pla->sputnik);

l++;i++;

}

pla=pla->prev;

}

if (strcmpi(pla->namepl,s)==0)

{

printf("│ %5d │ %18s │ %12u │ %15s │ %11u │ ",i,pla->namepl,

pla->year,pla->people,pla->sputnik);

l++;i++; }

puts("└──────┴─────────────────┴────────────┴─────────────────┴─────────────┘");

printf("\n Найдено %d планет.\n",l);

puts(" Поиск по названиям планет завершен. Продолжить?(y- да)");

fflush(stdin);

ch=getch();

}

while(ch=='y');

}

void poisk2(PL *pla) //Функция поиска по годам открытия

{

char ch;

do

{

int i=1,l=0,a,b;

clrscr();

fflush(stdin);

puts("Введите интерессующее вас границы поиска (от чего- то до чего- то) :");

while(scanf("%d%d",&a,&b)!=2)

{

while (getchar()!='\n');

printf("Все- таки стоит здесь что- нибудь ввести\n(от a до b)\n");

}

printf("\n\n Планеты открытые в таком диапозоне(с %d до %d года):\n",a,b);

printf("┌──────┬─────────────────┬────────────┬───────────────┬───────────┐\n");

printf("│Номер │ Название │ Когда │ Кто открыл │ Кол-во │\n");

printf("│ стр. │ планеты │ открыли │ планету │ спутников │\n");

printf("└──────┴─────────────────┴────────────┴───────────────┴───────────┘\n");

printf("┌──────┬─────────────────┬────────────┬───────────────┬───────────┐\n");

while(pla->prev)

{

if((a<=pla->year)&&(b>=pla->year))

{

printf("│ %5d │ %18s │ %12u │ %15s │ %11u │ ",i,pla->namepl,

pla->year,pla->people,pla->sputnik);

l++;i++;

}

pla=pla->prev;

}

if((a<=pla->year)&&(b>=pla->year))

{

printf("│ %5d │ %18s │ %12u │ %15s │ %11u │ ",i,pla->namepl,

pla->year,pla->people,pla->sputnik);

l++;i++;

}

puts("└──────┴─────────────────┴────────────┴───────────────┴───────────┘");

printf("\n Найдено %d планет.\n",l);

puts(" Поиск по годам открытия планет завершен. Продолжить?(y- да)");

fflush(stdin);

ch=getch();

}

while(ch=='y');

}

void klear(PL* pla) //Функцияочисткипамяти

{

PL *plr;

if (pla)

{

if (pla->prev)

{

plr=pla->prev;

while (plr->prev)

{

free(plr->next);

plr=plr->prev;

}

}

else

plr=pla;

free(plr);

}

}

char * fname() //Функциявводаименифайла

{

char *t;

t=(char *)malloc(80*sizeof(char));

cprintf("Введите имя файла: \n");

fflush(stdin);

scanf("%79s",t);

return t;

}

int save1(PL *pla,char *filename) //Функция, сохраняющаяданные

{

FILE *fp;

if((fp=fopen(filename,"w"))==NULL) return 0;

while(pla)

{

fprintf(fp,"%s %d %s %d |",

pla->namepl,pla->year,pla->people,pla->sputnik);

pla=pla->prev;

}

fclose(fp);

return 1;

}

int save(PL *pla) //Функция для сохранения данных

{

char * name;

window(1,1,79,25);

clrscr();

name=fname();

if (save1(pla,name)==1) return 1;

cprintf("\nНевозможно произвести запись!!!");

sovet("Ошибка!!! Нажмите любую кнопку");

getch();

return 0;

}

PL *load(PL *pla) //Функция загрузки данных из файла

{

char c,*name;

int i;


Страница: