版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1) 信息维护:要求:学生信息数据要以文件的形式保存,能实现学生信息数据的维护。此模块包括子模块有:增加学生信息、删除学生信息、修改学生信息2) 信息查询:要求:查询时可实现按姓名查询、按学号查询3) 成绩统计:要求:A输入任意的一个课程名(如数学)和一个分数段(如60-70),统计出在此分数段的学生情况。4) 排序:能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果(使用表格的形式显示排序后的输出结果) (使用多种方法排序者,加分)其它要求:只能使用C/C+语言,源程序要有适当的注释,使程序容易阅读 至少采用文本菜单界面 (如果能采用图形菜单界面更好)学生可自动增加新功能模
2、块 (视情况可另外加分)写出课程设计报告,具体要求见相关说明文档二、课程设计的要求与数据1、进一步掌握和利用 C 语言进行程设计的能力;2、进一步理解和运用结构化程序设计的思想和方法;3、初步掌握开发一个小型实用系统的基本方法;4、学会调试一个较长程序的基本方法;5、学会利用流程图或 N-S 图表示算法;6、掌握书写程序设计开发文档的能力。三、 课程设计应完成的工作1、 编写完成相应题目的程序;2、 编写课程设计报告 ,课程设计报告的内容应包括以下 6 个部分:1)2)3)图;4)调试分析过程描述:包括测试数据、测试输出结果,以及对程序调 试过程中存在问题的思考(列出主要问题的出错现象、出错原
3、因、解 决方法及效果等,适当的包含结果截图) ;5)总结:课程设计完成了哪些功能,有没有什么扩展功能还有哪些地 方需要改进课程设计过程中的学习体会与收获、对本次课程设计的认 识以及自己的建议等内容;6)附录:主要源程序代码,含必要的注释。3、答辩:在实验室建立程序运行的环境,并在指导教师的监督下,独立解 决问题、运行程序和回答教师提出的问题。目录设计目的与要求.总体设计.详细设计.功能模块设计.3.1.1 XX 功能模块(可选)丫丫功能模块(可选)ZZ 功能模块(可选).数据结构设计 4 调试分析 结构体 链表5 遇到的问题及解决方法分析6 总结7 源文件 链表 结构体需求分析:总体设计:详细
4、设计:包括设计题目、设计要求以及系统功能需求分析; 包括系统总体设计框架和系统功能模块图; 包括主要功能模块的算法设计思路以及对应的工作流程1、目的与要求目的:编制一程序实现对学生成绩的管理,让自己既动手又动脑,独立实P4P4P5P5 P5P6P7P8P9P9P11P12P13P13P13P28践,将课本上的理论知识和实际应用问题进行有机结合,锻炼自己分析、解决 实际问题的能力,提高自身项目开发及程序调试能力。要求:2总体设计利用if-else,While循环语句和switch()实现各函数的调用,系统根据输入的 数字选项来调用相应的函数。2、菜单选择函数void menu();1、整个系统均
5、用C语言实现;2、利用指针、结构体、链表来实现学生成绩的数据结构设计;3、系统具有输入、显示、查询(查询时可实现按姓名查询、按学号查询)、删除、排序、插入,保存、读取基本功能;4、系统的各个功能模块都用函数的形式来实现;5、学生信息数据要以文件的形式保存,能实现学生信息数据的维护。此模块包括子模块有:增加学生信息、删除学生信息、修改学生信息;6、可以输入任意的一个课程名(如数学)和一个分数段(如60-70),统计出在此分数段的学生情况;7、能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果;8、可自动增加新功能模块;9、可以将学生信息从文件中读取出来。1、主函数main()这
6、是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的13大功能,根据每个功能前面的序号进行选择。等执行完每一个函数功能后, 按任0键回到主界面也要通过这个函数提示来实现!、void Wrong()、void Nofind()、void printc()、voidprin te(Node *p)用void Wrong()来提示输入错误,用void Nofind()提示没有找到学生资料,3详细设计功能模块设计3、自定义函数void prin tstart()用void printc()来输出中文,用void printe(Node *p)来输出中文。3.1.1排序数学成绩功能模块函
7、数void Maths(Link I)该函数用于对数学成绩进行降序,ll=(Li nk)malloc(sizeof(Node)用于做新的链表连接,如果原链表为空的话,返回;不为空的话,P=1-next;建立接点用于保存信息,对指定链表地址进行排序。流程图如图所示:函数void Disp(Link I)3.1.2该函数负责显示学生资料,这是一个不返回值函数。算法:先将P结点的指针指向第一个结点,将P结点(即第一个结点)的数据输出。然后再将P结点的指针指向P指针的的指针(即下一结点),将P结点(即第一结点)的数据输出。重复执行此步聚直到P指针指向NULL为止。流程图如图所示:原来链表是否为空提示没
8、有P指向下一结点P二二p-next资料可以输出P指向的结点,即学生信息显示return11P指向下一结1点P二二p-next13.1.3 删除资料功能模块函数void Del(Link I)该函数用于有选择地删除学生资料,如果原来的链表为空的话,会返回;不为 空的话,选择用按哪种类型删除,如果按学号删除,就输入学号,后判断是否 取得地址,取得就执行删除;按名字删除就输入名字,运行同学号一样。流程 图如图所示:数据结构设计(可选)一个结构体变量中可以存放一组数据(如一个学生的学号、姓名、成绩等数据)。一个结构体变量的指针就是该变量所占据的内存段起始地址。可以设一个指针 变量,用来指向一结构体变量
9、,此时指针变量的值是结构体的起始地址。指针 量变也可以用来指向一结构体数组中的元素。struct stude nt char num10;/*学号*/char name20;char sex4;int cgrade;int mgrade;int egrade;int totle;int ave;typedef struct node struct student data;struct node *next;Node,*Link;6总结经过一个多星期的 C 语言课程设计,感觉自己收获不少! 首先是:要达到这样的功能,使用链表相当方便,但不容易理解,所以在这方面我很 了很多的时间看课本,使 C
10、语言的知识强化了不少。其次,在做课程设计的过程中,发现了平时很多没有注意到的问题,例如:返回值函 数和不返回值函数两者在主函数中的调用是不同的.更重要的是,这次课程设计虽然花了我不少时间,但正是这些时间,让我见识到了C语言的重要性。这个学生成绩管理系统都是在自己知识范围内完成的,所以界面清晰 简单,可能不是很好看,但绝对实用! 从这里我也得到一个体会,做一个程序,或者开发一个软件,应该着重从它的后台制 作入手,不能做出一个中看不中用的程序或者软件。相信这次的课程设计使我的 C 语言知识扎实了很多。由于这是第一次进行设计,写文档,难免会写得不好!char neartime10;/*最近更新时间*
11、/typedef struct node7源程序7. 1链表#include #include #include intshoudsave=0; /* */ struct student charnum10;/*学号*/ char name20;char sex4;int cgrade;int mgrade;int egrade;int totle;int ave;charneartime10;/*最近更新时间*/;struct student data;struct node *next;printf(n提示:输入错误!n);if(strcmp(nameornum,num)=0) /*按学号
12、查询*/Node,*Link;void menu()printf(*);printf(t1登记学生资料ttttt2删除学生资料n);printf(t3查询学生资料ttttt4修改学生资料n);printf(t5显示学生资料ttttt6统计学生资料n);printf(t7排序语文成绩ttttt8排序数学成绩n);printf(t9排序英语成绩ttttt10选出分段分数nprintf(t11保存学生资料ttttt12帮助信息ttn);printf(t0退出系统tttttttn);printf(*void printstart() printf(n);void Wrong()void Nofind(
13、)平均分n);printf(n提示:没有找到该学生!n);void printc() /*本函数用于输出中文*/printf(学号t姓名t性别语文成绩 数学成绩 英语成绩 总分void printe(Node *p)/*本函数用于输出英文*/printf(%-12s%st%st%dt%dt%dt%dt %dn,p-,p-,p-,p-,p-,p-,p-,p-;Node* Locate(Link l,char findmess,char nameornum) /*该函数用于定位连表中符合要求的接点,并返回该指针*/printf(n提示:输入错误!n);if(strcmp(nameornum,num
14、)=0) /*按学号查询*/Node *r;void Add(Link l) /*增加学生*/r=l-next;while(r!=NULL) if(strcmp(r-,findmess)=0) return r;r=r-next;else if(strcmp(nameornum,name)=0) /*r=l-next;while(r!=NULL) if(strcmp(r-,findmess)=0) return r;r=r-next;return 0;按姓名查询*/printstart();Node *p,*r,*s;char num10;r=l;s=l-next;while(r-next!=
15、NULL) r=r-next; /*将指针置于最末尾*/ while(1) printf(请你输入学号(以0返回上一级菜单:);scanf(%s,num);if(strcmp(num,0)=0) break;while(s) if(strcmp(s-,num)=0)提示:学号为%s的学生已经存在,若要修改请你选择4修改!n,num);printc();printe(s);printstart();printf(printf(请你输入英语成绩:);printf(n);return;s=s-next;p=(Node *)malloc(sizeof(Node);strcpy(p-,num);prin
16、tf(请你输入姓名:);scanf(%s,p-;getchar();printf(请你输入性别:);scanf(%s,p-;getchar();printf(请你输入语文成绩:);scanf(%d,&p-;getchar();printf(请你输入数学成绩:);scanf(%d,&p-;getchar();scanf(%d,&p-;getchar();printf(nscanf(%d,&sel);p-=p-+p-+p-;p-=p- / 3;/*信息输入已经完成*/ p-next=NULL;r-next=p;r=p;shoudsave=1;int sel;char
17、 findmess20;Node *p;if(!l-next)return;if(sel=1)/*学号*/void Qur(Link l)/*查询学生*/printf(n提示:没有资料可以查询!n);1按学号查找n2按姓名查找n);printf(请你输入要查找的学号:);scanf(%s,findmess);p=Locate(l,findmess,num);if(p)printf(tttt查找结果n);printstart();printc();printe(p);printstart();elseNofind();else if(sel=2) /*姓名*/printf(请你输入要查找的姓名:
18、);scanf(%s,findmess);p=Locate(l,findmess,name);if(p)printf(tttt查找结果n);printf(n提示:没有资料可以删除!n);int sel;Node *p,*r;char findmess20;if(!l-next) return;printstart();printc();printe(p);printstart();elseNofind();elseWrong();void Del(Link l) /*删除*/printf(n1按学号删除n2按姓名删除n);scanf(%d,&sel);if(sel=1) printf(
19、请你输入要删除的学号:);scanf(%s,findmess);p=Locate(l,findmess,num);if(p) r=l;while(r-next!=p) r=r-next;r-next=p-next;free(p);shoudsave=1;elseNofind();else if(sel=2)printf(n提示:该学生已经成功删除!n);printf(请你输入要删除的姓名:);scanf(%s,findmess);p=Locate(l,findmess,name);if(p) r=l;while(r-next!=p) r=r-next;r-next=p-next;free(p)
20、;shoudsave=1;elseNofind();elseWrong();void Modify(Link l)Node *p;printf(n提示:该学生已经成功删除!n);char findmess20;if(!l-next) printf(n=提示:没有资料可以修改!n);return;printf(请你输入要修改的学生学号:);scanf(%s,findmess);p=Locate(l,findmess,num);if(p)scanf(%s,p-;scanf(%s,p-;getchar();scanf(%s,p-;printf(请你输入新的语文成绩(原来是d分):,p-;scanf(
21、%d,&p-;getchar();printf(请你输入新的数学成绩(原来是d分):,p-;printf(请你输入新学号(原来是%s):,p-;printf(请你输入新姓名(原来是%s):,p-;printf(请你输入新性别(原来是%s):,p-;printf(n提示:没有资料可以显示!n);scanf(%d,&p-;getchar();printf(请你输入新的英语成绩(原来是d分):,p-;scanf(%d,&p-;p-=p-+p-+p-;p-=p-3;printf(n提示:资料修改成功!n);shoudsave=1;elseNofind();void Disp(L
22、inkl)intcount=0;Node *p;p=l-next;if(!p)return;printf(tttt显示结果n);printf(n提示:没有资料可以统计!n);printstart();printc();printf(n);while(p) printe(p);p=p-next;printstart();printf(n);void Tongji(Link l)Node *r=l-next;if(!r) return ;pm=pe=pc=pt=pa=r;Node *pm,*pe,*pc,*pt,*pa; /*用于指向分数最高的接点*/printf(英语最高者:t%s %d分n,p
23、 e-, pe-;printf(语文最高者:t%s %d分n,pc-,pc-;n);总分最高者:t%s %d分n,pt-,pt-;while(r!=NULL)if(r-=pc-pc=r;if(r-=pm-pm=r;if(r-=pe-pe=r;if(r-=pt-pt=r;if(r-=pa-pa=r;r=r-next;printf(printf(printf(printf(数学最高者:t%s %d分n ,p m-, pm-;printstart();printf(英语最高者:t%s %d分n,p e-, pe-;printf(语文最高者:t%s %d分n,pc-,pc-;平均分最高者:t%s %d
24、分n,pa-,pa-;while(rr-next!=NULL & rr-next-=p-return ;p=l-next;while(p) s=(Node*)malloc(sizeof(Node); /*s-data=p-data;s-next=NULL;rr=ll;rr=rr-next;if(rr-next=NULL)void Chinese(Link l)Link ll;Node *p,*rr,*s;ll=(Link)malloc(sizeof(Node); /*用于做新的连表*/ll-next=NULL;if(l-next=NULL)printf(n提示:没有资料可以排序!n);
25、新建接点用于保存信息*/printf(n提示:没有资料可以排序!n);rr-next=s;else s-next=rr-next;rr-next=s;p=p-next;free(l);l-next=ll-next;Link ll;Node *p,*rr,*s;ll=(Link)malloc(sizeof(Node); /*ll-next=NULL;if(l-next=NULL) return ;printf(n提示:排序已经完成!n);void Maths(Link l) /*对数学排序*/用于做新的连表*/l-next=ll-next;printf(n提示:排序已经完成!n);p=l-nex
26、t;while(p) s=(Node*)malloc(sizeof(Node);/* s-data=p-data;s-next=NULL;rr=ll;while(rr-next!=NULL & rr-next-=p-rr=rr-next;if(rr-next=NULL) rr-next=s;else s-next=rr-next;rr-next=s;p=p-next;free(l);新建接点用于保存信息*/while(rr-next!=NULL & rr-next-=p-Link ll;Node *p,*rr,*s;ll=(Link)malloc(sizeof(Node); /
27、*ll-next=NULL;if(l-next=NULL)return ;p=l-next;while(p) s=(Node*)malloc(sizeof(Node); /*s-data=p-data;s-next=NULL;rr=ll;rr=rr-next;if(rr-next=NULL)printf(n提示:没有资料可以排序!n);void English(Link l) /*对英语排序*/用于做新的连表*/新建接点用于保存信息*/printf(请输入筛选分数的上限:);rr-next=s;else s-next=rr-next;rr-next=s;p=p-next;free(l);l-n
28、ext=ll-next;void select(Link l)int i;int j,k;scanf(%d,&i);if(i=1)scanf(%d,&j);printf(n提示:排序已经完成!n);Node *pc = l;文2.数学3.英语);printf(筛选结果printf(请输入筛选分数的下限:);scanf(%d,&k);printf(n);语成绩 总分 平均分n);printstart();while(r!=NULL)if(k&(r-next;else if(i=2)printf(请输入筛选分数的上限:);scanf(%d,&j);print
29、f(请输入筛选分数的下限:);scanf(%d,&k);n);printf(学号t姓名t性别语文成绩数学成绩printf(学号t姓名t性别语文成绩 数学成绩英语成绩 总分 平均分n);printstart();while(r!=NULL)if(k&(r-next;else if(i=3)scanf(%d,&j);scanf(%d,&k);printf(语成绩 总分 平均分n);printstart();while(r!=NULL)printf(请输入筛选分数的上限:);n);printf(学号t姓名t性别语文成绩数学成绩printf(请输入筛选分数的下限:);i
30、f(k&(r-next;elseWrong();void Save(Link l)FILE* fp;Node *p;int flag=1,count=0;fp=fopen(c:student,wb);if(fp=NULL)提示:重新打开文件时发生错误!n);exit(1);p=l-next;while(p)printf(nif(fwrite(p,sizeof(Node),1,fp)=1) p=p-next;count+;else flag=0;break;if(flag)提示:文件保存成功.(有小小条记录已经保存.)n,count);shoudsave=0;fclose(fp);voi
31、d main()Link l;/*连表*/printf(nscanf(%c,&ch);FILE *fp; /*文件指针*/ int sel;char ch;char jian;int count=0;Node *p,*r;l=(Node*)malloc(sizeof(Node);l-next=NULL;r=l;fp=fopen(C:student,wb);loop:menu();printf(请你选择操作:);scanf(%d,&sel);if(sel=0) if(shoudsave=1) getchar();提示:资料已经改动,是否将改动保存到文件中(y/n)n);if(ch
32、=y|ch=Y)Save(l);printf(nprintf(n提示:你已经退出系统,再见!n);loop;break;default: Wrong();getchar();break;return;switch(sel)case 1:Add(l);goto loop;break;/*增加学生*/case 2:Del(l);gotoloop;break;/*删除学生*/case 3:Qur(l);gotoloop;break;/*查询学生*/case 4:Modify(l);gotoloop;break;/*修改学生*/case 5:Disp(l);gotoloop;break;/*显示学生*
33、/case 6:Tongji(l);gotoloop;break;/*统计学生*/case 7:Chinese(l);gotoloop;break;/*语文排序*/case 8:Maths(l);gotoloop;break;/*数学排序*/case 9:English(l);gotoloop;break;/*英语排序*/case 10:select(l);gotoloop;break;/*选择分段分数*/case 11:Save(l);gotoloop;break;/*保存学生*/case12:printf(ttt帮助信息n);gotoprintf(n提示:你已经退出系统,再见!n);7.
34、2结构体void charu();#include#include#includestruct studentchar class_020;char num 20;char name20;float math;float c_prog;float eng;float polity;float sport;float ave;stu1000;char j,h;/*函数声明*/void luru();void chaxun();void tongji();void xiugai();void shanchu();printf(tt排序学生成绩nn);void paixu();void tuichu
35、();scanf(%d,&n);system(cls);switch(n)case 1: luru();goto loop;printf(tt2.排序学生成绩n);printf(tt3.统计输出成绩n);printf(tt4.查询学生成绩n);printf(tt5.插入学生成绩n);printf(tt6.修改学生成绩n);printf(tt7.删除学生成绩n);printf(tt8.退出管理系统n);int n;n);printf(请选择功能nn);FILE *fp;录入学生成绩printf(tt录入学生成绩nn);printf(tt排序学生成绩nn);case 2:paixu();g
36、oto loop;case 3:tongji();goto loop;case 4:chaxun();goto loop;case 5:charu();goto loop;case 6:xiugai();goto loop;case 7:shanchu();goto loop;printf(tt统计输出学生成绩nn);printf(tt查询学生成绩nn);printf(tt插入学生成绩nn);printf(tt修改学生成绩nn);printf(tt删除学生成绩nn);printf(班级:);case 8: printf(tt程序退出。t谢谢使用!nn);exit(0);default: pri
37、ntf(您的输入有误,请重试!nn);fflush(stdin);goto loop;printf(n按任意键返回 .);void luru() int i,m;FILE*fp;printf(请输入学生人数: );scanf(%d,&m);if(m1000|m0)printf(nelse for(i=0;im;i+)printf(n请输入第d位学生的成绩: n,i+1) ;scanf(%s,stui.class_0);错误nn);return;printf(学号:);scanf(%s,stui.num);printf(姓名:);scanf(%s,);printf(高等
38、数学成绩:) ;scanf(%f,&stui.math);printf(C程序设计成绩:);scanf(%f,&stui.c_prog);printf(大学英语成绩:) ;scanf(%f,&stui.eng);printf(马克思主义政治经济学成绩:);scanf(%f,&stui.polity);printf(大学体育成绩:) ;scanf(%f,&stui.sport);stui.ave=(stui.c_prog+stui.eng+stui.math+stui.polity+sti.sport)/5;fp=fopen(,w);for(i=0;im;
39、i+)if(fwrite(&stui,sizeof(structstudent),1,fp)!=1)printf(学号:);printf(n打开文件失败nnn);printf(t2,高数成 绩排序fclose(fp);fp=fopen(,r);printf(n已录入的学生成绩:n);printf(n班级 学号 姓名 高等数学C程序设计 大学英语克思主义经济学 大学体育 平均分n);for(i=0;im;i+) fread(&stui,sizeof(struct student),1,fp);printf(n%-6s%-6s%-6s%n,stui.class_0,stui.num
40、,,stui.math,stui.c_prog,stui.eng,stui.polity,stui.sport,stui.ave);fclose(fp);getchar();void paixu()loop:n);printf(t均成绩排n);int t;scanf(%d,&t);if(t=1)FILE*fp;int x,y,z;struct student temp;if(fp=fopen(,r)=NULL) printf(n无法打开文件nnn);return;for(x=0;fread(&stux,sizeof(structstudent),1,fp)!=
41、0;x+) fclose(fp);z=x;printf(tprintf(tprintf(tn);printf(tprintf(tn);成绩n);4,n);n);5,6,7,马克思经学成大学体成绩printf(请输入你的选择n);printf(n);printf(n);getchar();for(x=0;xz;x+)for(y=x+1;yz;y+)if(stux.avestuy.ave) temp=stux;stux=stuy;stuy=temp;printf(n排序后的数据:n);printf(n班级 学号 姓名 高等数学C程序设计 大学英语 马克思主义经济学 大学体育 平均分n);fp=fo
42、pen(,w);for(x=0;xz;x+) fwrite(&stux,sizeof(structstudent),1,fp);printf(n%-6s%-6s%-6s%n,stux.class_0,stux.num,,stux.math,stux.c_prog,stux.eng,stux.polity,stux.sport,stux.ave);printf(n排序后的数据:n);fclose(fp);return;else if(t=2)FILE*fp;int x,y,z;struct student gaoshu;if(fp=fopen(,r)=NULL)prin
43、tf(n无法打开文件nnn);return;for(x=0;fread(&stux,sizeof(structstudent),1,fp)!=0;x+) printf(n);fclose(fp);z=x;for(x=0;xz;x+)for(y=x+1;yz;y+)if(stux.mathstuy.math)gaoshu=stux;stux=stuy;stuy=gaoshu;printf(n班级 学号 姓名 高等数学n);fp=fopen(,w);for(x=0;xz;x+) fwrite(&stux,sizeof(structstudent),1,fp);printf(n%-6
44、s%-6s%-6s%n,stux.class_0,stux.num,,stux.math);printf(n);getchar();fclose(fp);return;else if(t=3)FILE*fp;int x,y,z;struct student yuyan;if(fp=fopen(,r)=NULL) printf(n无法打开文件nnn);return;for(x=0;fread(&stux,sizeof(structstudent),1,fp)!=0;x+) printf(n);fclose(fp);z=x;for(x=0;xz;x+)for(y=x+1;
45、yz;y+)if(stux.c_progstuy.c_prog)yuyan=stux;stux=stuy;stuy=yuyan;printf(n排序后的数据:n);printf(n班级 学号 姓名C语言n);fp=fopen(,w);for(x=0;xz;x+) fwrite(&stux,sizeof(structstudent),1,fp);printf(n%-6s%-6s%-6s%n,stux.class_0,stux.num,,stux.c_prog);printf(n);getchar();fclose(fp);return;else if(t=4)FILE*
46、fp;int x,y,z;struct student ying;if(fp=fopen(,r)=NULL)printf(n无法打开文件nnn);return;for(x=0;fread(&stux,sizeof(structstudent),1,fp)!=0;x+) printf(n);fclose(fp);z=x;for(x=0;xz;x+)for(y=x+1;yz;y+)if(stux.engstuy.eng) ying=stux;stux=stuy;stuy=ying;printf(n排序后的数据:n);printf(n班级 学号 姓名 英语n);fp=fopen(,w);fo
47、r(x=0;xz;x+) fwrite(&stux,sizeof(structstudent),1,fp);printf(n%-6s%-6s%-6s%n,stux.class_0,stux.num,,stux.eng);printf(n);getchar();fclose(fp);return;else if(t=5)FILE*fp;int x,y,z;struct student makesi;if(fp=fopen(,r)=NULL) printf(n无法打开文件nnn);return;for(x=0;fread(&stux,sizeof(structst
48、udent),1,fp)!=0;x+) printf(n);fclose(fp);z=x;for(x=0;xz;x+)for(y=x+1;yz;y+)if(stux.politystuy.polity)makesi=stux;stux=stuy;stuy=makesi;printf(n排序后的数据:n);printf(n班级 学号 姓名 马克思经济学n);fp=fopen(,w);for(x=0;xz;x+) fwrite(&stux,sizeof(structstudent),1,fp);printf(n%-6s%-6s%-6s%n,stux.class_0,stux.num,stu
49、,stux.polity);printf(n);getchar();fclose(fp);return;else if(t=6)FILE*fp;int x,y,z;struct student tiyu;if(fp=fopen(,r)=NULL) printf(n无法打开文件nnn);return;for(x=0;fread(&stux,sizeof(structstudent),1,fp)!=0;x+) printf(n);fclose(fp);z=x;for(x=0;xz;x+)for(y=x+1;yz;y+)if(stux.sportstuy.sport) tiyu=
50、stux;stux=stuy;stuy=tiyu;printf(n排序后的数据:n);printf(n班级 学号 姓名 大学体育n);fp=fopen(,w);for(x=0;xz;x+) fwrite(&stux,sizeof(structstudent),1,fp);printf(n%-6s%-6s%-6s%n,stux.class_0,stux.num,,stux.sport);printf(n);getchar();fclose(fp);return;elseFILE*fp;int x,y,z;struct student xuehao;printf(n班级
51、学号 姓名 高等数学C程序设计 大学英语 马if(fp=fopen(,r)=NULL) printf(n无法打开文件nnn);return;for(x=0;fread(&stux,sizeof(structstudent),1,fp)!=0;x+) printf(n);fclose(fp);z=x;for(x=0;xz;x+)for(y=x+1;yz;y+)if(stux.numstuy.num) xuehao=stux;stux=stuy;stuy=xuehao;printf(n排序后的数据:n);克思主义经济学 大学体育 平均分n);fp=fopen(,w);for(x=0;xz;
52、x+)fwrite(&stux,sizeof(struct student),1,fp);for(i=0;fread(&stui,sizeof(struct student),1,fp)!=0;i+)printf(n%-6s%-6s%-6s%n,stux.class_0,stux.num,,stux.math,stux.c_prog,stux.eng,stux.polity,stux.sport,stux.ave);printf(n);getchar();fclose(fp);return;void tongji()FILE *fp;int i,d,j=0,k
53、=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(fp=fopen(,rb)=NULL) printf(文件打开失败.n);exit(1);printf(t%dn,k);printf(t%dn,l);d=i;rewind(fp);for(i=0;id;i+)if (0=stui.ave&stui.ave10) j=j+1;else if(10=stui.ave&stui.ave20) k=k+1;else if(20=stui.ave&stui.ave30) l=l+1;else if(30=stui.ave&stui.ave40) m
54、=m+1;else if(40=stui.ave&stui.ave50) n=n+1;else if(50=stui.ave&stui.ave60) o=o+1;else if(60=stui.ave&stui.ave70) p=p+1;else if(70=stui.ave&stui.ave80) q=q+1;else if(80=stui.ave&stui.ave90) r=r+1;else if(90=stui.ave&stui.ave100) s=s+1;printf(0-10:);printf(t%dn,j);printf(10-20:
55、);printf(20-30:);printf(30-40:);printf(n无法打开文件nnn);return;printf(t%dn,m);printf(40-50:);printf(t%dn,n);printf(50-60:);printf(t%dn,o);printf(60-70:);printf(t%dn,p);printf(70-80:);printf(t%dn,q);printf(80-90:);printf(t%dn,r);printf(90-100:);printf(t%dn,s);fclose(fp); getchar();return;void chaxun()int
56、g1,k1,a1;FILE*fp;char num110;if(fp=fopen(,rb)=NULL)for(g1=0;fread(&stug1,sizeof(structstudent),1,fp)!=0;g1+)printf(n没有你要查询的学生成绩:nnn);return;fclose(fp);k1=g1;printf(n请输入要查询的学生学号:n);scanf(%s,num1);for(a1=1,g1=0;a1&g1k1;g1+)if(strcmp(num1,stug1.num)=0)a1=0;if(!a1) printf(n你要查询的学生成绩:n);printf(n班
57、级 学号 姓名 高等数学C程序设计 大学英语 马克思主义经济学 大学体育 平均分n);printf(n%-6s%-6s%-6s%n,stug1-1.class_0,stug1-1.num,,stug1-1.math,stug1-1.c_prog,stug1-1.eng,stug1-1.polity,stug1-1.sport,stug1-1.ave);elseprintf(大学体育成绩:);void charu()FILE*fp;int i,e,n;struct student s;printf(请输入需要插入的学生数据n);printf(班级:);scanf(%s,;
58、printf(学号:);scanf(%s,;printf(姓名:);scanf(%s,;printf(高等数学成绩:);scanf(%f,&printf(C程序设计成绩:);scanf(%f,&printf(大学英语成绩:);scanf(%f,&printf(马克思主义政治经济学成绩:);scanf(%f,&scanf(%f,&fclose(fp);getchar();=+/5;fclose(fp);getchar();if(fp=fopen(,r)=NULL) printf(n无法打开文件nnn);return; for(e=0;fread(&
59、stue,sizeof(structstudent),1,fp)!=0;e+) ;n=e;printf(n插入后的学生成绩:n);fp=fopen(,w);fwrite(&s,sizeof(struct student),1,fp);printf(n班级 学号 姓名 高等数学C程序设计 大学英语 马克思主义经济学 大学体育 平均分n);printf(n%-6s%-6s%-6s%n, for(e=0;en;e+)fwrite(&stue,sizeof(struct student),1,fp);printf(n%-6s%-6s%-6s%n,stue.class_0,stue.nu
60、m,,stue.math,stue.c_prog,stue.eng,stue.polity,stue.sport,stue.ave);printf(n请重新输入学生信息:n);void xiugai()int g2,k2,a2;FILE*fp;struct student s1;char num10;if(fp=fopen(,rb)=NULL)班级 学号 姓名 高等数学C程序设计 大学英语 马克思主义经济学 大学体育 平均分n);for(g2=0;fread(&stug2,sizeof(structstudent),1,fp)!=0;g2+)printf(n%-6s%-6s%-6s%n,stug2.class_0,stug2.num,,stug2.math,stug2.c_prog,stug2.eng,stug2.polity,stug2.sport,stug2.ave);fclose(fp);k2=g2;printf(n请输入要修改的学生学号:n);scanf(%s,num);printf(班级:);printf(n无法打开文件nnn);return;printf(n学生成绩列表:n) ;printf(nscanf(%s,;print
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 音乐发生器 课程设计
- 课程设计电子转盘游戏
- 机械手设计课程设计
- 2024年学籍档案的管理制度
- 二零二五年度摩托车租赁企业知识产权保护合同3篇
- 老子学院研学课程设计
- 课程设计介绍家乡特色
- 年度认证机构战略市场规划报告
- 2024版培训劳动合同范本
- 二零二五年度医疗设备租赁免责责任书4篇
- 海外资管机构赴上海投资指南(2024版)
- 山东省青岛市2023-2024学年七年级上学期期末考试数学试题(含答案)
- 墓地销售计划及方案设计书
- 从偏差行为到卓越一生3.0版
- 优佳学案七年级上册历史
- 铝箔行业海外分析
- 纪委办案安全培训课件
- 超市连锁行业招商策划
- 城市道路智慧路灯项目 投标方案(技术标)
- 【公司利润质量研究国内外文献综述3400字】
- 工行全国地区码
评论
0/150
提交评论