《c语言大作业成绩管理dox.pdf》由会员分享,可在线阅读,更多相关《c语言大作业成绩管理dox.pdf(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录目录学生成绩管理程序.2题目要求.2设计目的.3总体设计.3详细设计.41、宏定义,进行预处理。.42、主菜单函数.53、输入函数.64、查询函数.95、修改函数.106、插入函数.127、显示函数.148、统计函数.159、删除函数.1710、菜单选择函数.1911、退出系统.21心得体验.21程序清单:.21学生成绩管理程序学生成绩管理程序题目要求题目要求1.1.问题描述问题描述:对在校学生几门课程的考试成绩进行统一管理.每个学生记录包括学号,姓名,性别,数学,英语,程序,语文成绩,默认以学号为序存放.2.2.要求要求:(1)一个文件按以班为单位存储学生记录.(2)将允许的操作分为四种
2、,以 A,B,C,D,E,F 为标志:A:插入一个学生记录;B:修改学生记录;C:删除一个学生记录;D:查找一个学生记录;E:浏览学生成绩:F:退出3.计算学生的总成绩.4.按学号排序输出全班学生成绩表.设计目的设计目的根据题目要求,由于学生信息是存放在文件中,所以应提供文件的输入,输出等操作;在程序中需要浏览学生的信息,应提供显示,查找,排序等操作;另外还应提供键盘式选择菜单实现功能选择.总体设计总体设计根据上面的需求分析,可以将这个系统分为以下模块:输入模块,修改模块,删除模块,查找模块,显示模块.排序模块。其中嵌入相关函数以下为大概模块框架:详细设计详细设计1 1、宏定义,进行预处理。、
3、宏定义,进行预处理。#include#include#include#include#define N 100struct student char name10;int num;char sex10;float math;float yingyu;float proj;float ywen;float aver;float sum;stu;2 2、主菜单函数、主菜单函数/菜单void menu()system(cls);/*清屏*/printf(=n);printf(*欢迎使用学生成绩管理系统 *n);printf(*=*n);printf(*请按键选择相应的功能:*n);printf(*1
4、.成绩录入 *n);printf(*2.查询成绩 *n);printf(*3.修改成绩 *n);printf(*4.插入成绩 *n);printf(*5.报表输出 *n);printf(*6.统计输出 *n);printf(*7.删除操作 *n);printf(*0.退出系统 *n);printf(*=*n);printf(=n);printf(nnnnnnn *电子14-1,潘才身(14034520123)制作 *n);3 3、输入函数、输入函数/成绩录入函数void input()system(cls);FILE*fp;student xs;/*定义一个结构体变量来装从文件中读出来的数据*
5、/int c=1;if(fp=fopen(student.dat,ab)=NULL)printf(cant open file!n);exit(0);printf(n成绩录入);printf(n*);while(c+)printf(n请输入您的姓名(结束请输入姓名为 ok):);scanf(%s,xs.name);if(strcmp(xs.name,ok)=0)break;/*判断姓名是否为 ok,用字符串判断*/printf(n请输入学号:);scanf(%d,&xs.num);printf(n性别:);scanf(%s,&xs.sex);printf(n请输入高数的成绩:);scanf(%
6、f,&xs.math);printf(n请输入英语的成绩:);scanf(%f,&xs.yingyu);printf(n请输入程序的成绩:);scanf(%f,&xs.proj);printf(n请输入语文的成绩:);scanf(%f,&xs.ywen);xs.aver=0;/*给平均分变量赋初值*/xs.aver=(xs.math+xs.yingyu+xs.proj+xs.ywen)/4;xs.sum=0;xs.sum=xs.math+xs.yingyu+xs.proj+xs.ywen;fwrite(&xs,sizeof(stu),1,fp);/将成绩信息写入文件 system(cls);f
7、close(fp);/姓名查找函数void xingming()FILE*fp;student xs;char name10;printf(n输入要查学生的姓名:);scanf(%s,name);if(fp=fopen(student.dat,rb)=NULL)/读取存放好的数据 printf(cant open file!n);exit(0);while(!feof(fp)fread(&xs,sizeof(stu),1,fp);if(strcmp(xs.name,name)=0)/*按姓名查询时判断输入的姓名是否存在,会循环从数据中找取*/printf(n学生的信息如下:n);printf(
8、n%10s%6s%6s%6s%6s%6s%6s%6s%6sn,姓名,学号,性别,高数,英语,程序,语文,平均成绩,总成绩);printf(n%10s%6d%6s%6.2f%6.2f%6.2f%6.2f%6.2f%6.2fn,xs.name,xs.num,xs.sex,xs.math,xs.yingyu,xs.proj,xs.ywen,xs.aver,xs.sum);break;if(feof(fp)printf(n查找失败);/*学生不存在*/fclose(fp);/学号查询函数void xuehao()FILE*fp;student xs;int num;printf(n输入要查学生的学号:
9、);scanf(%d,&num);if(fp=fopen(student.dat,rb)=NULL)/读取数据 printf(cant open file!n);exit(0);while(!feof(fp)fread(&xs,sizeof(stu),1,fp);if(xs.num=num)/*按学号查询时判断输入的学号是否存在,会循环从数据中找取*/printf(n学生的信息如下:n);printf(n%10s%6s%6s%6s%6s%6s%6s%6s%6sn,姓名,学号,性别,高数,英语,程序,语文,平均成绩,总成绩);printf(n%10s%6d%6s%6.2f%6.2f%6.2f%6
10、.2f%6.2f%6.2fn,xs.name,xs.num,xs.sex,xs.math,xs.yingyu,xs.proj,xs.ywen,xs.aver,xs.sum);break;if(feof(fp)printf(n查找失败);fclose(fp);4 4、查询函数、查询函数/查询函数void search()char ch1;system(cls);printf(请输入按何种方式查询:n);printf(n 1-姓名,2-学号:);ch1=getchar();/*用字符接收*/switch(ch1)/*判断*/case 1:xingming();break;/姓名查询 case 2:
11、xuehao();break;/学号查询 printf(n按任意键返回主菜单 );getch();/*让屏幕停留同时按任意键返回*/5 5、修改函数、修改函数/修改:输入学生的姓名,查找该学生,若找到则修改该生的成绩信息,并显示修改前后的结果;void modi()student xs;FILE*fp;char name10;system(cls);printf(n输入要修改的学生的姓名:);scanf(%s,name);if(fp=fopen(student.dat,rb+)=NULL)printf(cant open file!n);exit(0);while(!feof(fp)fread
12、(&xs,sizeof(stu),1,fp);if(strcmp(xs.name,name)=0)/*判断输入要修改的姓名是否存在*/printf(修改前学生的信息如下:n);printf(n%10s%6s%6s%6s%6s%6s%6s%6s%6sn,姓名,学号,性别,高数,英语,程序,语文,平均成绩,总成绩);printf(n%10s%6d%6s%6.2f%6.2f%6.2f%6.2f%6.2fn,xs.name,xs.num,xs.sex,xs.math,xs.yingyu,xs.proj,xs.ywen,xs.aver,xs.sum);printf(n请输入该生的高数成绩:);scanf
13、(%f,&xs.math);printf(n英语成绩:);scanf(%f,&xs.yingyu);printf(n程序成绩:);scanf(%f,&xs.proj);printf(n语文成绩:);scanf(%f,&xs.ywen);xs.aver=(xs.math+xs.yingyu+xs.proj+xs.ywen)/4;xs.sum=xs.math+xs.yingyu+xs.proj+xs.ywen;break;if(!feof(fp)printf(n修改后的学生的信息如下:n);printf(n%10s%6s%6s%6s%6s%6s%6s%6s%6sn,姓名,学号,性别,高数,英语,程
14、序,语文,平均成绩,总成绩);printf(n%10s%6d%6s%6.2f%6.2f%6.2f%6.2f%6.2fn,xs.name,xs.num,xs.sex,xs.math,xs.yingyu,xs.proj,xs.ywen,xs.aver,xs.sum);fseek(fp,sizeof(stu),1);/*负号表示后退,1 表示文件当前位置*/fwrite(&xs,sizeof(stu),1,fp);/*再写入,同时把要修改的那个覆盖掉*/else printf(n学生不存在,修改失败!);fclose(fp);printf(n按任意键返回主菜单 );getch();6 6、插入函数、
15、插入函数/插入:输入学生的平时的各项成绩,插入到指定位置;当指定的位置超出范围时,将其插入到全班的最后,并显示插入成功后的结果。void insert()int i=0,j,k,lenth;FILE*fp;student s,xsN;system(cls);printf(n请输入插入的学生的姓名:);scanf(%s,&s.name);printf(n学生的学号:);scanf(%d,&s.num);printf(n学生的性别:);scanf(%s,&s.sex);printf(n高数成绩:);scanf(%f,&s.math);printf(n英语成绩:);scanf(%f,&s.yingy
16、u);printf(n程序成绩:);scanf(%f,&s.proj);printf(n语文成绩:);scanf(%f,&s.ywen);s.aver=(s.math+s.yingyu+s.proj+s.ywen)/4;s.sum=s.math+s.yingyu+s.proj+s.ywen;printf(n插入位置:);scanf(%d,&k);if(fp=fopen(student.dat,rb)=NULL)printf(cant open file!n);exit(0);while(!feof(fp)fread(&xsi,sizeof(stu),1,fp);/*把数据读入到结构体数组中*/
17、if(feof(fp)break;i+;fclose(fp);lenth=i;if(k=0)/*k 的位置要位于数组范围之内*/插入 for(j=lenth-1;j=k;j-)xsj+1=xsj;/*一开始 j 是最大的,往后移一个这样移动避免数据被覆盖*/*循环是只循环这一句的*/xsk=s;/*将输入的学生信息加入这个 k 位置*/lenth+;/*长度+1*/写回 if(fp=fopen(student.dat,wb)=NULL)printf(不能建立文件!n);exit(0);for(i=0;ilenth;i+)fwrite(&xsi,sizeof(stu),1,fp);else/*不
18、再数组范围之内*/if(fp=fopen(student.dat,ab)=NULL)printf(不能建立文件!n);exit(0);fwrite(&s,sizeof(stu),1,fp);printf(n按任意键返回主菜单 );fclose(fp);7 7、显示函数、显示函数/显示函数void print()FILE*fp;student s;system(cls);if(fp=fopen(student.dat,rb)=NULL)printf(cant open file!n);exit(0);printf(学生成绩表 );printf(n*);printf(n%10s%10s%6s%6s
19、%6s%6s%6s%6s%6s n,姓名,学号,性别,高数,英语,程序,语文,平均成绩,总成绩);while(!feof(fp)fread(&s,sizeof(stu),1,fp);/从文件中读取成绩信息 if(feof(fp)break;/判断是否文件尾printf(n%10s%6d%6s%6.2f%6.2f%6.2f%6.2f%6.2f%6.2fn,s.name,s.num,s.sex,s.math,s.yingyu,s.proj,s.ywen,s.aver,s.sum);fclose(fp);printf(n按任意键返回主菜单 );getch();8 8、统计函数、统计函数/统计函数vo
20、id tongji()int i=0,j=0,k=0,l=0,m=0,n,p,q,r,t,u;FILE*fp;student sN,*p1N,*p2N,*p3N,*p4N;/*用指针数组*/system(cls);if(fp=fopen(student.dat,rb)=NULL)printf(cantt open file!n);exit(0);while(!feof(fp)fread(&si+,sizeof(stu),1,fp);/*读入数据*/if(feof(fp)break;t=i;i=0;for(u=0;ut;u+)/*以下每个指针数组用于指向各分数段的学生信息*/if(si.aver
21、=60&si.aver=80&si.aver=90)p4m+=&si+;continue;printf(学生成绩单 );printf(n 90 以上的人有:姓名学号平均分n);for(r=0;rname,p4r-num,p4r-aver);printf(n 80-89 分的人有:姓名学号平均分n);for(q=0;qname,p3q-num,p3q-aver);printf(n 60-79 分的人有:姓名学号平均分n);for(p=0;pname,p2p-num,p2p-aver);printf(n 不及格的人有:姓名学号平均分n);for(n=0;nname,p1n-num,p1n-aver
22、);fclose(fp);printf(n按任意键返回主菜单 );getch();9 9、删除函数、删除函数/删除:输入学生姓名,若该学生存在,则删除,并显示删除后余下的学生成绩信息void dele()student xsN;FILE*fp;char name10;int i=0,len,k=-1/*k=0)/*k0 说明找到删除学生位置*/if(fp=fopen(student.dat,wb+)=NULL)printf(cant open file!n);exit(0);for(i=0;ilen;i+)if(i=k)continue;/*从这个位置开始写入*/fwrite(&xsi,siz
23、eof(stu),1,fp);fclose(fp);else printf(n删除失败n);getch();/*失败后重新返回菜单*/printf(n按任意键返回主菜单 );print();1010、菜单选择函数、菜单选择函数/菜单选择void main()char ch;system(color 3f);while(1)menu();/显示菜单 ch=getch();/选择菜单 if(ch=0)break;switch(ch)/判断功能项 case1:input();break;case 2:search();break;case 3:modi();break;case 4:insert()
24、;break;case 5:print();break;case 6:tongji();break;case 7:dele();break;1111、退出系统、退出系统在主函数中,加一个在主函数中,加一个 if if 函数,判断功能选择项是否为“函数,判断功能选择项是否为“0 0”,如果为“,如果为“0 0”,则中断整个主,则中断整个主函数,否则继续主函数:函数,否则继续主函数:if(ch=0)break;if(ch=0)break;心得体验心得体验C 语言,个人认为是一门很有趣的科目,就像人和机器对话,这次做作业也得心应手,除了文件处理这个模块没有细学,感到吃紧之外,其余的都还可以。这次的课
25、程设计总体来说,比前段时期的 C 语言综合实验难度大了,而且综合性更强,少了综合实验是老师给我们提供的那些函数,所有的函数都要自己去想,自己去找,翻阅好多的书,上机自己动手体验,极大的促进了自己的动手能力及独立思考能力,总体上完成了老师要求的基本功能,没有完成其他的扩展功能,有待改进的地方就是未能设置很好的界面,以及没有细学的文件处理模块的知识。不管怎样,这次作业让我对 c 语言的操作更加深刻了解,更加熟悉如何运用函数的调用和嵌套,还有对指针,for 语句,switch 语句的理解和使用。同时自己对程序的条理整洁,注释清楚,可读性等的要求更加高了。程序清单:程序清单:#include#incl
26、ude#include#include#define N 100struct studentchar name10;int num;charsex10;float math;float yingyu;float proj;float ywen;float aver;float sum;stu;/菜单void menu()system(cls);/*清屏*/printf(=n);printf(*欢迎使用学生成绩管理系统*n);printf(*=*n);printf(*请按键选择相应的功能:*n);printf(*1.成绩录入*n);printf(*2.查询成绩*n);printf(*3.修改成绩
27、*n);printf(*4.插入成绩*n);printf(*5.报表输出*n);printf(*6.统计输出*n);printf(*7.删除操作*n);printf(*0.退出系统*n);printf(*=*n);printf(=n);printf(nnnnnnn*电子 14-1,潘才身(14034520123)制作*n);/成绩录入函数void input()system(cls);FILE*fp;student xs;/*定义一个结构体变量来装从文件中读出来的数据*/int c=1;if(fp=fopen(student.dat,ab)=NULL)printf(cantopenfile!n
28、);exit(0);printf(n成绩录入);printf(n*);while(c+)printf(n请输入您的姓名(结束请输入姓名为 ok):);scanf(%s,xs.name);if(strcmp(xs.name,ok)=0)break;/*判断姓名是否为 ok,用字符串判断*/printf(n请输入学号:);scanf(%d,&xs.num);printf(n性别:);scanf(%s,&xs.sex);printf(n请输入高数的成绩:);scanf(%f,&xs.math);printf(n请输入英语的成绩:);scanf(%f,&xs.yingyu);printf(n请输入程序
29、的成绩:);scanf(%f,&xs.proj);printf(n请输入语文的成绩:);scanf(%f,&xs.ywen);xs.aver=0;/*给平均分变量赋初值*/xs.aver=(xs.math+xs.yingyu+xs.proj+xs.ywen)/4;xs.sum=0;xs.sum=xs.math+xs.yingyu+xs.proj+xs.ywen;fwrite(&xs,sizeof(stu),1,fp);/将成绩信息写入文件system(cls);fclose(fp);/姓名查找函数void xingming()FILE*fp;student xs;char name10;pri
30、ntf(n输入要查学生的姓名:);scanf(%s,name);if(fp=fopen(student.dat,rb)=NULL)/读取存放好的数据printf(cant open file!n);exit(0);while(!feof(fp)fread(&xs,sizeof(stu),1,fp);if(strcmp(xs.name,name)=0)/*按姓名查询时判断输入的姓名是否存在,会循环从数据中找取*/printf(n学生的信息如下:n);printf(n%10s%6s%6s%6s%6s%6s%6s%6s%6sn,姓名,学号,性别,高数,英语,程序,语文,平均成绩,总成绩);print
31、f(n%10s%6d%6s%6.2f%6.2f%6.2f%6.2f%6.2f%6.2fn,xs.name,xs.num,xs.sex,xs.math,xs.yingyu,xs.proj,xs.ywen,xs.aver,xs.sum);break;if(feof(fp)printf(n查找失败);/*学生不存在*/fclose(fp);/学号查询函数void xuehao()FILE*fp;student xs;int num;printf(n输入要查学生的学号:);scanf(%d,&num);if(fp=fopen(student.dat,rb)=NULL)/读取数据printf(cant
32、open file!n);exit(0);while(!feof(fp)fread(&xs,sizeof(stu),1,fp);if(xs.num=num)/*按学号查询时判断输入的学号是否存在,会循环从数据中找取*/printf(n学生的信息如下:n);printf(n%10s%6s%6s%6s%6s%6s%6s%6s%6sn,姓名,学号,性别,高数,英语,程序,语文,平均成绩,总成绩);printf(n%10s%6d%6s%6.2f%6.2f%6.2f%6.2f%6.2f%6.2fn,xs.name,xs.num,xs.sex,xs.math,xs.yingyu,xs.proj,xs.yw
33、en,xs.aver,xs.sum);break;if(feof(fp)printf(n查找失败);fclose(fp);/查询函数void search()char ch1;system(cls);printf(请输入按何种方式查询:n);printf(n1-姓名,2-学号:);ch1=getchar();/*用字符接收*/switch(ch1)/*判断*/case 1:xingming();break;/姓名查询case 2:xuehao();break;/学号查询printf(n按任意键返回主菜单);getch();/*让屏幕停留同时按任意键返回*/修改:输入学生的姓名,查找该学生,若找
34、到则修改该生的成绩信息,并显示修改前后的结果;void modi()student xs;FILE*fp;char name10;system(cls);printf(n输入要修改的学生的姓名:);scanf(%s,name);if(fp=fopen(student.dat,rb+)=NULL)printf(cant open file!n);exit(0);while(!feof(fp)fread(&xs,sizeof(stu),1,fp);if(strcmp(xs.name,name)=0)/*判断输入要修改的姓名是否存在*/printf(修改前学生的信息如下:n);printf(n%10
35、s%6s%6s%6s%6s%6s%6s%6s%6sn,姓名,学号,性别,高数,英语,程序,语文,平均成绩,总成绩);printf(n%10s%6d%6s%6.2f%6.2f%6.2f%6.2f%6.2fn,xs.name,xs.num,xs.sex,xs.math,xs.yingyu,xs.proj,xs.ywen,xs.aver,xs.sum);printf(n请输入该生的高数成绩:);scanf(%f,&xs.math);printf(n英语成绩:);scanf(%f,&xs.yingyu);printf(n程序成绩:);scanf(%f,&xs.proj);printf(n语文成绩:);
36、scanf(%f,&xs.ywen);xs.aver=(xs.math+xs.yingyu+xs.proj+xs.ywen)/4;xs.sum=xs.math+xs.yingyu+xs.proj+xs.ywen;break;if(!feof(fp)printf(n修改后的学生的信息如下:n);printf(n%10s%6s%6s%6s%6s%6s%6s%6s%6sn,姓名,学号,性别,高数,英语,程序,语文,平均成绩,总成绩);printf(n%10s%6d%6s%6.2f%6.2f%6.2f%6.2f%6.2fn,xs.name,xs.num,xs.sex,xs.math,xs.yingyu
37、,xs.proj,xs.ywen,xs.aver,xs.sum);fseek(fp,sizeof(stu),1);/*负号表示后退,1 表示文件当前位置*/fwrite(&xs,sizeof(stu),1,fp);/*再写入,同时把要修改的那个覆盖掉*/elseprintf(n学生不存在,修改失败!);fclose(fp);printf(n按任意键返回主菜单);getch();/插入:输入学生的平时的各项成绩,插入到指定位置;当指定的位置超出范围时,将其插入到全班的最后,并显示插入成功后的结果。void insert()int i=0,j,k,lenth;FILE*fp;student s,x
38、sN;system(cls);printf(n请输入插入的学生的姓名:);scanf(%s,&s.name);printf(n学生的学号:);scanf(%d,&s.num);printf(n学生的性别:);scanf(%s,&s.sex);printf(n高数成绩:);scanf(%f,&s.math);printf(n英语成绩:);scanf(%f,&s.yingyu);printf(n程序成绩:);scanf(%f,&s.proj);printf(n语文成绩:);scanf(%f,&s.ywen);s.aver=(s.math+s.yingyu+s.proj+s.ywen)/4;s.su
39、m=s.math+s.yingyu+s.proj+s.ywen;printf(n插入位置:);scanf(%d,&k);if(fp=fopen(student.dat,rb)=NULL)printf(cant open file!n);exit(0);while(!feof(fp)fread(&xsi,sizeof(stu),1,fp);/*把数据读入到结构体数组中*/if(feof(fp)break;i+;fclose(fp);lenth=i;if(k=0)/*k 的位置要位于数组范围之内*/插入for(j=lenth-1;j=k;j-)xsj+1=xsj;/*一开始 j 是最大的,往后移一
40、个这样移动避免数据被覆盖*/*循环是只循环这一句的*/xsk=s;/*将输入的学生信息加入这个 k 位置*/lenth+;/*长度+1*/写回if(fp=fopen(student.dat,wb)=NULL)printf(不能建立文件!n);exit(0);for(i=0;ilenth;i+)fwrite(&xsi,sizeof(stu),1,fp);else/*不再数组范围之内*/if(fp=fopen(student.dat,ab)=NULL)printf(不能建立文件!n);exit(0);fwrite(&s,sizeof(stu),1,fp);printf(n按任意键返回主菜单);fc
41、lose(fp);/显示函数void print()FILE*fp;student s;system(cls);if(fp=fopen(student.dat,rb)=NULL)printf(cant open file!n);exit(0);printf(学生成绩表);printf(n*);printf(n%10s%10s%6s%6s%6s%6s%6s%6s%6s n,姓名,学号,性别,高数,英语,程序,语文,平均成绩,总成绩);while(!feof(fp)fread(&s,sizeof(stu),1,fp);/从文件中读取成绩信息if(feof(fp)break;/判断是否文件尾prin
42、tf(n%10s%6d%6s%6.2f%6.2f%6.2f%6.2f%6.2f%6.2fn,s.name,s.num,s.sex,s.math,s.yingyu,s.proj,s.ywen,s.aver,s.sum);fclose(fp);printf(n按任意键返回主菜单);getch();/统计函数void tongji()int i=0,j=0,k=0,l=0,m=0,n,p,q,r,t,u;FILE*fp;student sN,*p1N,*p2N,*p3N,*p4N;/*用指针数组*/system(cls);if(fp=fopen(student.dat,rb)=NULL)printf
43、(cantt open file!n);exit(0);while(!feof(fp)fread(&si+,sizeof(stu),1,fp);/*读入数据*/if(feof(fp)break;t=i;i=0;for(u=0;ut;u+)/*以下每个指针数组用于指向各分数段的学生信息*/if(si.aver=60&si.aver=80&si.aver=90)p4m+=&si+;continue;printf(学生成绩单);printf(n 90 以上的人有:姓名学号平均分n);for(r=0;rname,p4r-num,p4r-aver);printf(n 80-89 分的人有:姓名学号平均分
44、n);for(q=0;qname,p3q-num,p3q-aver);printf(n 60-79 分的人有:姓名学号平均分n);for(p=0;pname,p2p-num,p2p-aver);printf(n 不及格的人有:姓名学号平均分n);for(n=0;nname,p1n-num,p1n-aver);fclose(fp);printf(n按任意键返回主菜单);getch();/删除:输入学生姓名,若该学生存在,则删除,并显示删除后余下的学生成绩信息void dele()student xsN;FILE*fp;char name10;int i=0,len,k=-1/*k=0)/*k0
45、说明找到删除学生位置*/if(fp=fopen(student.dat,wb+)=NULL)printf(cant open file!n);exit(0);for(i=0;ilen;i+)if(i=k)continue;/*从这个位置开始写入*/fwrite(&xsi,sizeof(stu),1,fp);fclose(fp);elseprintf(n删除失败n);getch();/*失败后重新返回菜单*/printf(n按任意键返回主菜单print();/菜单选择void main()char ch;system(color 3f);while(1)menu();/显示菜单ch=getch();/选择菜单if(ch=0)break;switch(ch)/判断功能项case1:input();break;case 2:search();break;case 3:modi();break;case 4:insert();break;case 5:print();break;case 6:tongji();break;case 7:dele();break;);
限制150内