C语言课设学生信息管理系统Word下载.docx
- 文档编号:17995533
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:15
- 大小:60.07KB
C语言课设学生信息管理系统Word下载.docx
《C语言课设学生信息管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《C语言课设学生信息管理系统Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
stdlib.h>
conio.h>
main()
{structstud*head;
structstud*creat(void);
voiddisplay(structstud*head);
structstud*dele(structstud*head);
structstud*add(structstud*head);
structstud*modify(structstud*head);
voidsearch(structstud*head);
voidsave(structstud*head);
structstud*sort(structstud*head);
structstud*load();
charch;
head=NULL;
for(;
;
)
{clrscr();
/*清屏函数*/
printf(“\n\n\t\tWelcometostudentinformationmanagementsystem”);
printf(“\n\n\t**************************************************************”);
printf(“\n\t\t\t1:
Entertheinformation”);
printf(“\n\t\t\t2:
Listtheinformation”);
printf(“\n\t\t\t3:
Deletetheinformation”);
printf(“\n\t\t\t4:
Addtheinformation”);
printf(“\n\t\t\t5:
Modifytheinformation”);
printf(“\n\t\t\t6:
Searchtheinformation”);
printf(“\n\t\t\t7:
Sorttheinformation”);
printf(“\n\t\t\t8:
Savetheinformation”);
printf(“\n\t\t\t9:
Loadtheinformation”);
printf(“\n\t\t\t0:
Exit“);
printf(“\n\t\t\tEnteryourchoice:
”);
fflush(stdin);
ch=getchar();
getchar();
switch(ch)
{
case‘1’:
head=creat();
break;
case‘2’:
display(head);
system(“pause”);
break;
case‘3’:
head=dele(head);
case‘4’:
head=add(head);
case‘5’:
head=modify(head);
case‘6’:
search(head);
case‘7’:
head=sort(head);
case‘8’:
save(head);
case‘9’:
head=load();
case‘0’:
return;
default:
clrscr();
printf(“\n\tError!
Pleasecheckyourinput\n\n”);
}}
}
structstud*creat(void)/*链表的创建*/
{structstud*head,*p1;
clrscr();
p1=(structstud*)malloc(sizeof(structstud));
printf(“\tentername:
gets(p1->
name);
printf(“\tenternumber:
scanf(“%ld”,&
p1->
num);
printf(“\tenterage:
scanf(“%d”,&
age);
printf(“\tentersex:
fflush(stdin);
scanf(“%c”,&
sex);
printf(“\tenterMathscore:
scanf(“%d”,&
score[0]);
printf(“\tenterEnglishscore:
score[1]);
printf(“\tenterCscore:
score[2]);
printf(“\tentertelephonenumber:
gets(p1->
tele);
head=p1;
next=NULL;
do{printf(“\n\tDOYOUWANTTOCONTINUE?
YorN?
printf(“\n\tEnteryourchoise:
ch=getchar();
if(ch==’y’||ch==’Y’)
elseif(ch!
=’N’&
&
ch!
=’n’)
{printf(“\n\tError!
Pleasecheckyourinput”);
ch=’y’;
}while(ch==’y’||ch==’Y’);
return(head);
structstud*dele(structstud*head)/*链表的删除*/
{structstud*p1,*p2;
intchoose;
longdelnum;
charname[20];
printf(“\n\t\tChoosethewayyouwant”);
printf(“\n\t1:
Accordingtoname\n“);
printf(“\n\t2:
Accordingtonum\n”);
printf(“\n\tEnteryourchoice:
choose);
if(choose==1)
{printf(“\n\tEnterthename:
gets(name);
if(head==NULL){printf(“\t\nNoinformation!
\n”);
}p1=head;
while(strcmp(name,p1->
name)!
=0&
next!
=NULL)
{p2=p1;
p1=p1->
next;
if(strcmp(name,p1->
name)==0)
{if(p1==head)head=p1->
elsep2->
next=p1->
printf(“\tDeleteSuccessed!
\n\n”);
elseprintf(“\tNotbeenfind!
elseif(choose==2)
{printf(“\n\tEnterthenumber:
delnum);
if(head==NULL){printf(“\nNoinformation!
while(delnum!
=p1->
num&
if(delnum==p1->
num)
else{printf(“\n\tError!
voiddisplay(structstud*head)
{structstud*p;
p=head;
if(head==NULL)
printf(“\n\tNoinformation\n\n”);
else{printf(“name\tnumber\tage\tsex\tMath\tEnglish\tC\ttelephonenumber\n”);
do
{
printf(“%s\t%ld\t%d\t%c\t%d\t%d\t%d\t%s\n”,p->
name,p->
num,p->
age,p->
sex,p->
score[0],p->
score[1],p->
score[2],p->
p=p->
while(p!
=NULL);
structstud*add(structstud*head)/*链表的插入*/
{structstud*p1,*p2,*p0;
p0=(structstud*)malloc(sizeof(structstud));
printf(“\n\t\tInputtheinformation:
printf(“\n\t\tname:
gets(p0->
printf(“\t\tnumber:
p0->
printf(“\t\tage:
printf(“\t\tsex:
printf(“\t\tMathscore:
printf(“\t\tEnglishscore:
printf(“\t\tCscore:
printf(“\t\ttelephonenumber:
p1=head;
{head=p0;
else
{while(p0->
num>
{p2=p1,
if(p0->
num<
{if(head==p1)head=p0;
next=p0;
next=p1;
else{p1->
}}
structstud*modify(structstud*head)/*链表的修改*/
printf(“\n\tInputthestudent’sname:
while(strcmp(p0->
name,p1->
if(strcmp(p0->
{printf(“name\tnumber\tage\tsex\tMath\tEnglish\tC\ttelephonenumber\n”);
printf(“%s\t%ld\t%d\t%c\t%d\t%d\t%d\t%s\n”,p1->
num,p1->
age,p1->
sex,p1->
score[0],p1->
score[1],p1->
score[2],p1->
if(p1==head)head=p1->
elsep2->
printf(“\tNewinformation:
number:
scanf(“%ld”,&
printf(“\t\t\tage:
printf(“\t\t\tsex:
scanf(“%c”,&
printf(“\t\t\tMathscore:
printf(“\t\t\tEnglishscore:
printf(“\t\t\tCscore:
printf(“\t\t\ttelephonenumber:
gets(p0->
p1=head;
if(head==NULL)
printf(“ModifySuccessed!
elseprintf(“Notbeenfind!
voidsearch(structstud*head)/*查询链表*/
{printf(“\n\tenterthename:
if(head==NULL){printf(“\t\nNoinformation!
{p=head;
while(strcmp(name,p->
p->
{p=p->
if(strcmp(name,p->
elseprintf(“Notbeenfind!
{printf(“\n\tEnterthenumber:
if(head==NULL){printf(“\nNoinformation!
while(num!
=p->
if(num==p->
elseprintf(“\n\tError!
structstud*sort(structstud*head)
structstud*first;
structstud*t;
structstud*p;
structstud*q;
intch;
AccordingtoMath:
AccordingtoEnglish\n”);
printf(“\n\t3:
AccordingtoC\n”);
ch);
first=head->
head->
next=NULL;
while(first!
=NULL)
{for(t=first,q=head;
((q!
=NULL)&
(q->
score[ch-1]>
t->
score[ch-1]));
p=q,q=q->
next);
first=first->
if(q==head)
head=t;
{p->
next=t;
next=q;
printf(“\n\t\tSuccess!
returnhead;
voidsave(structstud*head)/*保存链表*/
{FILE*fp;
charfilename[20];
printf(“\n\ninputthefilename:
“);
gets(filename);
if((fp=fopen(filename,”w”))==NULL)
{printf(“Savefile%serror!
Typeitagain.\n\n”,filename);
exit(0);
{fprintf(fp,”%s\t”,p->
fprintf(fp,”%ld\t”,p->
fprintf(fp,”%d\t”,p->
fprintf(fp,”%c\t”,p->
fprintf(fp,”%s\t\n”,p->
fclose(fp);
structstud*load()/*链表的导入*/
structstud*head,*p1,*p2;
if((fp=fopen(filename,”r”))==NULL)
{printf(“Loadfile%serror!
if(!
feof(fp))
{head=(structstud*)malloc(sizeof(structstud));
fscanf(fp,”%s\t”,&
fscanf(fp,”%ld\t”,&
fscanf(fp,”%d\t”,&
fscanf(fp,”%c\t”,&
fscanf(fp,”
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学生 信息管理 系统