База данных "Студенты"
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
?.О.Бочков, Д.М.Субботин Язык программирования Си для персонального компьютера, Москва СП Диалог 1996г.
.Б.И.Березин, С.Б.Березин Начальный курс С и С++, Москва Диалог-Мифи1996г.
.Е.И.Козел, Л.М.Романовская, Т.В.Русс От Си к С++, Москва Финансы и статистика 1993г.
Листинг программы
#include
#include
#include student
{name[20];inik[4];curs;fak[5];jobname[20];job[9];usp;student *prior;student *next;
}[100];int M=100;control
{nb;nf;student *bbeg;student *bend;student *fbeg;student *fend;
} ctrl;init(void)
{student *point=st;i;.nb=0;.nf=0;.bbeg=NULL;.bend=NULL;.fbeg=st;.fend=st;=st;("---------------------------");("|inicializacia massiva|");
printf("-----------------------------\n\n\n");(i=0;i<M-1;i++)
{(ctrl.nf!=0)
{-> prior=point-1;-> next=point+1;
}
{-> prior=NULL;-> next=point+1;
}++;.nf++;.fend++;
}.nf++;->prior=point-1;-> next=NULL;0;
}fr(struct student *ptr)
{(ctrl.nb==M)
{>prior=NULL;>next=NULL;.fbeg->prior=ptr;.fbeg=ptr;
}
prior=NULL;>next=ctrl.fbeg;.fbeg->prior=ptr;.fbeg=ptr;">{>prior=NULL;>next=ctrl.fbeg;.fbeg->prior=ptr;.fbeg=ptr;
}.nb--;.nf++;0;
}student *find(char *nam)
{i;student *ptf;
ptf=ctrl.bbeg;(i=0;i<ctrl.nb;i++)
{((strcmp(nam,ptf->name))==0)ptf;=ptf->next;
}NULL;
}delet (void)
{nam[20];i;student *ptr;("--------------------------");("|Funkcia udalenia elementa|");("---------------------------\n");(ctrl.nb==0)
{("Spicok zaniatih elementov pust\n");-1;
}("Vvedite Familiu:\n");("%s",nam);((ptr=find(nam))==0)
{("Familia ne neidena\n");
return -1;
}(ptr==ctrl.bbeg)
{(ctrl.nb==1)
{.bend=NULL;(ptr);0;
}
{.bbeg=ptr->next;.bbeg->prior=NULL;(ptr);0;
}
}
{(ptr==ctrl.bend)
{>prior->next=NULL;.bend=ptr->prior;(ptr);0;
}
{>prior->next=ptr->next;>next->prior=ptr->prior;(ptr);0;
}
}
}input(void)
{student *ptr;("-------------------------");("|funkcia vstavki elemntov |");("----------------------------\n\n");(ctrl.nf==0)
{("Svobodnih elementov net\n");-1;
name);("Vvediteiniciali:");("%s",ptr->inik);("Vveditecurs:");("%d",&ptr->curs);("Vveditefakultet:");("%s",ptr->fak);("Vveditenaimenovaniespecialnosti:");("%s",ptr->jobname);("Vveditecodgruppi:");("%s",ptr->job);("Vvediteuspevaemost:");("%d",&ptr->usp);(ctrl.nf==1)">} {= ctrl.fbeg;("Vvedite familiu:");(" %s",ptr->name);("Vvedite iniciali:");(" %s",ptr->inik);("Vvedite curs:");(" %d",&ptr->curs);("Vvedite fakultet:");(" %s",ptr->fak);("Vvedite naimenovanie specialnosti:");(" %s",ptr->jobname);("Vvedite cod gruppi:");(" %s",ptr->job);("Vvedite uspevaemost:");(" %d",&ptr->usp);(ctrl.nf==1)
next=NULL;>prior=ctrl.bend;.bend->next=ptr;.bend=ptr;.fend=NULL;">{.fbeg=NULL;>next=NULL;>prior=ctrl.bend;.bend->next=ptr;.bend=ptr;.fend=NULL;
}
next;>next=NULL;>prior=ctrl.bend;.bend->next=ptr;.bend=ptr;.fbeg->prior=NULL;">{(ctrl.nb==0).bbeg=ptr;.fbeg=ptr->next;>next=NULL;>prior=ctrl.bend;.bend->next=ptr;.bend=ptr;.fbeg->prior=NULL;
}.nb++;.nf--;0;
} }print(void)
{i;student *ptr;=ctrl.bbeg;(" DATEBASE \"STUDENT\"\n\n");(ctrl.nb==0)
{(" __________________\n");("|Baza dannih pusta|\n");(" ------------------\n\n\n");-1;
}("________________________________________________________________________________");("|NO| Familia | I.O |Kurs|Fakultet| Sprcialnost | Kod |Uspevaemost|");("| | | | | | | | |");("|--|-----------------|-----|----|--------|----------------|--------|-----------|");(i=0;i<ctrl.nb;i++)
{("|| s|",i+1,ptr->name);(" %4s|",ptr->inik);(" |",ptr->curs);(" %5s|",ptr->fak);(" s|",ptr->jobname);(" %7s|",ptr->job);(" |",ptr->usp);("|--|-----------------|-----|----|--------|----------------|--------|-----------|");=ptr->next;
}("\n Obshee chislo zapisei = %d\n",i);0;
}save(void)
{i,k;student *ptr;
char *c;*pti;*fl;
if((fl=fopen("bdd.txt","w"))==NULL)
{("bdd.txt");-1;
}(ctrl.nb==0)
{("Baza dannih pusta\n");("Zapis na disk ne proizvoditsia\n");-1;
}
{("Proizvoditsia zapis BD v fail");=st;=&ctrl.nb;
c=(char*)pti;(i=0;i<sizeof(ctrl); i++)
putc(*c++,fl);=(char*)ptr;(k=0;k<sizeof(st); k++)(*c++,fl);(fl);0;
}}load(void)
{i;student *ptr;*pti;*c,d;*fl;((fl=fopen("bdd.txt","r"))==NULL)
{("bdd.txt");-1;
}(ctrl.nb==0)("Baza dannih pusta\n");(ctrl.nb !=0)
{("Baza dannih v osnovnoi pamiati ne pusta\n");
puts("Proizvodit zagruzku? [y,n]:");
scanf(" %s",&d);(d==N || d==n)
{("Zapros na zagruzku bazi otmenen\n");1;
}
}("Proizvoditsia zagruzka bazi dannih\n");
pti=&ctrl.nb;=(char*)pti;(i=0; i<sizeof(ctrl); i++)
*c++=getc(fl);=st;=(char*)ptr;(i=0;i<sizeof(st);i++)
{((*c=getc(fl))!=EOF)++;
{(fl);0;
}
}0;
}postav (void)
{fam[20];i;student *ptr;("----------------------------");("|Funkcia poiska studenta|");("---------------------------\n");(ctrl.nb==0)
{("Spicok zaniatih elementov pust\n");-1;
}("Vvedite Familiu:\n");("%s",fam);((ptr=find(fam))==0)
{("\nFamilia ne neidena\n");
return -1;
}(ptr==ctrl.bbeg)
{(ctrl.nb==1)
{(" Student naiden\n");("_____________________________________________________________________________\n");("| Familia | I.O |Kurs|Fakultet| Sprcialnost | Kod |Uspevaemost|\n");("| | | | | | | |\n");("|-----------------|-----|----|--------|----------------|--------|-----------|\n");("| s|",ptr->name);(" %4s|",ptr->inik);(" |",ptr->curs);(" %5s|",ptr->fak);(" s|",ptr->jobname);(" %7s|",ptr->job);(" |\n",ptr->usp);("|-----------------|-----|----|--------|----------------|--------|-----------|\n\n");
}
{(" Student naiden\n");("_____________________________________________________________________________\n");("| Familia | I.O |Kurs|Fakultet| Sprcialnost | Kod |Uspevaemost|\n");("| | | | | | | |\n");("|-----------------|-----|----|--------|----------------|--------|-----------|\n");("| s|",ptr->name);(" %4s|",ptr->inik);(" |",ptr->curs);(" %5s|",ptr->fak);(" s|",ptr->jobname);(" %7s|",ptr->job);(" |\n",ptr->usp);("|-----------------|-----|----|--------|----------------|--------|-----------|\n\n");
}
}
{(ptr==ctrl.bend)
{(" Student naiden\n");("_____________________________________________________________________________\n");("| Familia | I.O |Kurs|Fakultet| Sprcialnost | Kod |Uspevaemost|\n");("| | | | | | | |\n");("|-----------------|-----|----|--------|----------------|--------|-----------|\n");("| s|",ptr->name);(" %4s|",ptr->inik);(" |",ptr->curs);(" %5s|",ptr->fak);(" s|",ptr->jobname);(" %7s|",ptr->job);(" |\n",ptr->usp);("|-----------------|-----|----|--------|----------------|--------|-----------|\n\n");
}
{(" Student naiden\n");("_____________________________________________________________________________\n");("| Familia | I.O |Kurs|Fakultet| Sprcialnost | Kod |Uspevaemost|\n");("| | | | | | | |\n");("|-----------------|-----|----|--------|----------------|--------|-----------|\n");("| s|",ptr->name);(" %4s|",ptr->inik);(" |",ptr->curs);(" %5s|",ptr->fak);(" s|",ptr->jobname);(" %7s|",ptr->job);(" |\n",ptr->usp);("|-----------------|-----|----|--------|----------------|--------|-----------|\n\n");0;
}
}
}main(void)
{numb[10];();(1)
{("\t MENU \n");("\t______________________________________\n");("\t|1| Vvod svedenii o novom sotrudnike |\n");(&qu