xh,p->xm,p->gs,p->yy,p->wl);
p=p->next;
}
fclose(fp);
printf("保存结束按任意键继续\n");
getch();
}
else
{
printf("当前链表为空按任意键继续\n");
getch();
}
}//保存文件。
void read(struct xs *hd)
{
int i;
struct xs *p=hd->next;
FILE *fp;
fr(hd);
fp=fopen("xzy.txt","r");
fscanf(fp,"%3d\n",&num);
for(i=0;ixh,&p->xm,&p->gs,&p->yy,&p->wl);
p->next=hd->next;
hd->next=p;
}
fclose(fp);
printf("读取结束按任意键继续\n");
getch();
}//读取数据。
void print(struct xs *hd)
{
struct xs *p;
p=hd->next;
if(p!=NULL)
{
printf("***************************************\n");
printf("学号 姓名 高数 英语 物理\n");
printf("***************************************\n");
while(p!=NULL)
{
printf("%4d %11s %5d %6d %6d\n",p->xh,p->xm,p->gs,p->yy,p->wl);
p=p->next;
}
printf("***************************************\n");
printf("显示结束按任意键继续\n");
getch();
}
else
{
printf("当前表链为空,请先读取保存文件,按任意键继续\n");
getch();
}
}//显示数据。
void menu()
{
system("cls");
printf("***************************************\n");
printf("* 学生管理系统(1.0) *\n");
printf("***************************************\n");
printf("* 计科B123 董帅帅 201207014316 *\n");
printf("***************************************\n");
printf("* 1-创建链表 *\n");
printf("* 2-数据显示 *\n");
printf("* 3-保存文件 *\n");
printf("* 4-读取文件 *\n");
printf("* 5-系统退出 *\n");
printf("***************************************\n");
printf("** 请选择操作(1-5) **\n");
}//菜单
void main()
{
struct xs *head;
int xz=0;
head=init();
while(xz!=5)
{
menu();
scanf("%d",&xz);
switch(xz)
{
case 1:create(head);break;
case 2:print(head);break;
case 3:save(head);break;
case 4:read(head);break;
case 5:break;
}
}
fr(head);
free(head);
}
实验收获:
通过编写该程序,我明白了程序的实用性,并且知道了程序可以对我们的生活带来巨大的便利。而且通过这次实验我知道了编写程序的严谨性,一个小小的错误都会使运行结果错误,了解了这么复杂的程序,以后还会遇到更多的,更加复杂的程序,所以要培养自己严谨的逻辑思维能力和计算机操作能力,相信不久的将来我一定可以做到更好。
教 师 评 价
评定项目
A
B
C
D
评定项目
A
B
C
D
算法正确
界面美观,布局合理
程序结构合理
操作熟练
语法、语义正确
解析完整
实验结果正确
文字流畅
报告规范
题解正确
其他:
评价教师签名:
年 月 日
第 10 页