1、学生成绩管理系统代码5源程序清单源程序:#include#include#include#include#define N 20struct course char no10; char name20; char quality2; int number; int num_1; int num_2; float score; int num_3;couN;int num;void new1();void shanchu();void xiugai();void save();void read1();void shencha();void output();int find(char sno)
2、;void newfile();void paixu();void liu();void output() int i; printf(课程编号 课程名称 课程性质(选修1/必修2) 总学时 授课学时 实验或上机学时 学分 开课学期(1/2)n); printf(n); for(i=0;inum;i+) printf(%st%-8st%-4st%-2dt,coui.no,coui.name,coui.quality,coui.number); printf(%-2dt%-2dt%4.2ft%-2dt,coui.num_1,coui.num_2,coui.score,coui.num_3); p
3、rintf(n); void init() if(access(cou.dat,0) newfile(); else read1(); void newfile() int i; FILE*fp; if(fp=fopen(cou.dat,wb)=NULL) printf(文件创建失败!请重新运行程序!n); exit(0); printf(请输入课程数:); scanf(%d,&num); for(i=0;inum;i+) printf(请输入第%d门的课程编号:,i+1); getchar(); gets(coui.no); printf(课程名称:); gets(coui.name); p
4、rintf(课程性质(选修1/必修2):); gets(coui.quality); printf(总学时); scanf(%d,&coui.number); printf(授课学时:); scanf(%d,&coui.num_1); printf(实验或上机学时:); scanf(%d,&coui.num_2); printf(总学分:); scanf(%f,&coui.score); printf(开课学期(1/2):); scanf(%d,&coui.num_3); fwrite(&coui,1,sizeof(struct course),fp); fclose(fp); void re
5、ad1() FILE*fp; num=0; fp=fopen(cou.dat,r); if(fp=NULL) printf(文件打开失败!请重新运行程序!n); exit(0); while(!feof(fp) fread(&counum,1,sizeof(struct course),fp); num+; num-; fclose(fp); void shencha() int choice1; printf(n); printf(课程管理审查子菜单:n); printf(1.新增n); printf(2.删除n); printf(3.修改n); printf(n); printf(请选择:
6、n); scanf(%d,&choice1); switch(choice1) case 1: new1(); break; case 2: shanchu(); break; case 3: xiugai(); break; default: printf(选择错误,请重新选择!n); void new1() printf(课程编号:); getchar(); gets(counum.no); printf(课程名称:); gets(counum.name); printf(课程性质(选修1/必修2):); gets(counum.quality); printf(总学时); scanf(%
7、d,&counum.number); printf(授课学时:); scanf(%d,&counum.num_1); printf(实验或上机学时:); scanf(%d,&counum.num_2); printf(学分:); scanf(%f,&counum.score); printf(开课学期(1/2):); scanf(%d,&counum.num_3); num+; printf(现在共有%d门课程数据为:n,num); output(); void shanchu() char dno10; int i,j; printf(请输入要删除的课程编号:); getchar(); ge
8、ts(dno); i=find(dno); if(i!=-1) for(j=i;jnum;j+) couj=couj+1; num-; printf(删除后还有%d门课程数据为:n,num); output(); else printf(输入有误,请重新输入!n); void xiugai() char dno10; int i; printf(请输入要修改课程的编号:); getchar(); gets(dno); i=find(dno); printf(课程名称:); gets(coui.name); printf(课程性质(选修1/必修2):); gets(coui.quality);
9、printf(总学时); scanf(%d,&coui.number); printf(授课学时:); scanf(%d,&coui.num_1); printf(实验或上机学时:); scanf(%d,&coui.num_2); printf(学分:); scanf(%f,&coui.score); printf(开课学期(1/2):); scanf(%d,&coui.num_3); printf(修改后为:n); printf(课程编号 课程名称 课程性质(选修1/必修2) 总学时 授课学时 实验或上机学时 学分 开课学期(1/2)n); printf(=n); for(i=0;inum;
10、i+) printf(%st %st %st%dt,coui.no,coui.name,coui.quality,coui.number); printf(%-2dt%-2dt%4.2ft%-6dt,coui.num_1,coui.num_2,coui.score,coui.num_3); printf(n); int find(char sno) int i; for(i=0;inum;i+) if(coui.no-sno10=0) return i; return -1; void find1() float sum=0.0; char dno10; int i; do printf(请输
11、入所选的课程编号:n); getchar(); gets(dno); i=find(dno); if(i!=-1) printf(%f,coui.score); sum+=coui.score; if(sum60) printf(所选课程学分不足60,请继续选择n); else printf(所选课程不存在n); while(sum60); printf(恭喜选课成功!); void save() int i; FILE*fp; if(fp=fopen(cou.dat,wb)=NULL) printf(文件创建失败,请重新运行程序。n); exit(0); for(i=0;inum;i+) f
12、write(&coui,sizeof(struct course),1,fp);/*把第i+1名学生成绩写入文件*/ fclose(fp); void paixu() int i,j,k; struct course temp; for(i=0;inum;i+) k=i; for(j=i+1;jcouj.number) temp=coui; coui=couk; couk=temp; printf(排序后的课程为:n); output(); void find2( ) int i; char dnum_320; paixu(); printf(输入要查询课程的开课学期(1/2):); getc
13、har(); gets(dnum_3); i=find(dnum_3); if(i!=-1) printf(查找的课程信息为:n); printf(课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期(1/2)n); printf(n); printf(%st%-8st%-4st%-2dt,coui.no,coui.name,coui.quality,coui.number); printf(%-2dt%-2dt%4.2ft%-6dt,coui.num_1,coui.num_2,coui.score,coui.num_3); printf(n); else print
14、f(所选课程不存在.n); void liu() output(); void main() int choice=1,m; printf(欢迎使用本系统,请根据需要进行操作!n); init(); while(choice!=6) printf(n); printf(主菜单n); printf(1.课程排序n); printf(2.课程审查n); printf(3.课程查询n); printf(4.课程选修n); printf(5.浏览n); printf(6.退出n); printf(n); printf(请选择:); scanf(%d,&choice); switch(choice) case 1: paixu(); break; case 2: shencha(); break; case 3: find2(); break; case 4: find1(); break; case 5: liu(); case 6: save(); printf(感谢使用本系统!n); break; default: printf(选择错误,请重新选择!n);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1