![C语言课程设计(成绩管理系统)_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/128b080d-7110-434a-98d4-1c377683ef51/128b080d-7110-434a-98d4-1c377683ef511.gif)
![C语言课程设计(成绩管理系统)_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/128b080d-7110-434a-98d4-1c377683ef51/128b080d-7110-434a-98d4-1c377683ef512.gif)
![C语言课程设计(成绩管理系统)_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/128b080d-7110-434a-98d4-1c377683ef51/128b080d-7110-434a-98d4-1c377683ef513.gif)
![C语言课程设计(成绩管理系统)_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/128b080d-7110-434a-98d4-1c377683ef51/128b080d-7110-434a-98d4-1c377683ef514.gif)
![C语言课程设计(成绩管理系统)_第5页](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/128b080d-7110-434a-98d4-1c377683ef51/128b080d-7110-434a-98d4-1c377683ef515.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、 课程设计的内容之邯郸勺丸创作1 ) 信息维护:要求:学生信息数据要以文件的形式保管,能实现学生信息数据的维护。此模块包含子模块有:增加学生信息、删除学生信息、修改学生信息2 )信息查询:要求:查询时可实现按姓名查询、按学号查询3 )成绩统计:要求: A 输入任意的一个课程名(如数学)和一个分数段(如60-70 ),统计出在此分数段的学生情况。4 )排序:能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果(使用表格的形式显示排序后的输出结果)(使用多种方法排序者,加分)(二)其它要求:( 1)只能使用C/C+语言,源程序要有适当的注释,使程序容易阅读( 2 )至少采取文本
2、菜单界面(如果能采取图形菜单界面更好)( 3 )学生可自动增加新功能模块(视情况可另外加分)( 4 )写出课程设计陈述,具体要求见相关说明文档二、课程设计的要求与数据1、进一步掌握和利用 C 语言进行程设计的能力;2、进一步理解和运用结构化程序设计的思想和方法;3、初步掌握开发一个小型实用系统的基本方法;4、学会调试一个较长程序的基本方法;5、学会利用流程图或N-S 图暗示算法;6、掌握书写程序设计开发文档的能力。三、课程设计应完成的工作1、编写完成相应题目的程序;2、编写课程设计陈述, 课程设计陈述的内容应包含以下 6 个部分:1) 需求分析:包含设计题目、设计要求以及系统功能需求分析;2)
3、 总体设计:包含系统总体设计框架和系统功能模块图;3) 详细设计:包含主要功能模块的算法设计思路以及对应的工作流程图;4) 调试分析过程描述:包含测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等,适当的包含结果截图);5) 总结:课程设计完成了哪些功能,有没有什么扩展功能?还有哪些地方需要改进?课程设计过程中的学习体会与收获、对本次课程设计的认识以及自己的建议等内容;6) 附录:主要源程序代码,含需要的注释。3、答辩:在实验室建立程序运行的环境,并在指导教师的监督下,独立解决问题、运行程序和回答教师提出的问题。目录1设计目的与要求
4、P4计p43 详细设计P53.1 功能模块设计 P5XX 功 能 模 块 (可选)P53.1.2 YY功能模块(可选)P63.1.3 ZZ功能模块(可选)P73.2 数据结构设计 P84 调试分析 P94.1 结构体 P94.2 链表P115 遇 到 的 问 题及 解 决 方 法 分析P126 总结P137 源文件P137.1 链表P137.2 结构体 P281、目的与要求一 目的:编制一程序实现对学生成绩的管理,让自己既动手又 动脑,独立实践,将课本上的理论知识和实际应用问题进行有机 结合,锻炼自己分析、解决实际问题的能力,提高自身项目开发 及程序调试能力。一要求:1、整个系统均用砥言实现;
5、2、利用指针、结构体、链表来实现学生成绩的数据结构设计;3、系统具有输入、显示、查询(查询时可实现按姓名查询、按学号查询)、删除、排序、拔出,保管、读取基本功能;4、系统的各个功能模块都用函数的形式来实现;5、学生信息数据要以文件的形式保管,能实现学生信息数据的维护。此模块包含子模块有:增加学生信息、删除学生信息、修改学生信息;6、可以输入任意的一个课程名(如数学)和一个分数段(如60-70 ),统计出在此分数段的学生情况;7、能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果;8、可自动增加新功能模块;9、可以将学生信息从文件中读取出来。2 总体设计1、 主函数 main(
6、)利用 if-else,While 循环语句和 switch() 实现各函数的调用,系统根据输入的数字选项来调用相应的函数。2、 菜单选择函数void menu();这是一个无参函数,主要实现“功能选择”的界面,在这个界面 里有显示系统的 13 大功能,根据每个功能前面的序号进行选择。等执行完每一个函数功能后,按任0键回到主界面也要通过这个函数提示来实现!3、自定义函数 void printstart() 、void Wrong()、voidNofind() 、void printc() 、void printe(Node *p)用void Wrong()来提示输入错误,用 void Nofi
7、nd() 提示没有找 到学生资料,用 void printc() 来输出中文,用 void printe(Node *p) 来输出中文。main()void Add(Link l)void Maths(Link l) void Qur(Link l)void English(Link l) void Del(Link l)void select(Link l)void Modify(Link l)void Save(Link l) void Disp(Link l)void menu()void TongjiQink l)void pnntc()void Chinese(Link l)void
8、 printe(Node *p)13详细设计排序数学成绩功能模块函数 void Maths(Link l)该函数用于对数学成绩进行降序ll=(Link)malloc(sizeof(Node)用于做新的链表连接,如果原链表为空的话,返回;不为空的话, p=l->next ;建立接点用于保管 信息,对指定链表地址进行排序。流程图如图所示:Link llii=(Link)maiioc(sizeof(Node)用于做新 n?连表一xJ->next=NULL没有资料可以、p=1->next排序while(p)return s=(Node*)malloc(sizeof(Node)rr=l
9、lwhile(rr->next!=NULL&& rr->next->data.mgrade>=p->data.mgrade)是'''>"'x'fr->next=NULLrr->next=ss->next=rr->next ; rr->next=-sp=p->nextl->next=ll->next(排序完成)显示学生资料功能模块函数 void Disp(Link l)该函数负责显示学生资料,这是一个不返回值函数。算法:先将p结点的指针指向第一个结
10、点,将p结点(即第一个结点)的数据输出。然后再将p结点的指针指向p指针的的指针(即下一结点),将p结点(即第一结点)的数据输出。重复执行此步聚直到p指针指向NULL为止。流程图如图所示:、原来链表是否为空一提示没有p寸资料可以前显示return引向卜一结点 p=p->next1出pp指旨向的结点,即学生信息司卜一结点 p=p->next删除资料功能模块函数 void Del(Link l)该函数用于有选择地删除学生资料,如果原来的链表为空的话, 会返回;不为空的话,选择用按哪种类型删除,如果按学号删 除,就输入学号,后判断是否取得地址,取得就执行删除;按名字删除就输入名字,运行同学
11、号一样。流程图如图所示:一个结构体变量中可以存放一组数据(如一个学生的学号、姓 名、成绩等数据)。一个结构体变量的指针就是该变量所占据的 内存段起始地址。可以设一个指针变量,用来指向一结构体变 量,此时指针变量的值是结构体的起始地址。指针量变也可以用 来指向一结构体数组中的元素。struct studentchar num10;/* 学号 */char name20;char sex4;int cgrade;int mgrade;int egrade;int totle;int ave;char neartime10;/* 最近更新时间 */;typedef struct nodestruct
12、 student data;struct node *next;Node,*Link;6 总结经过一个多星期的C语言课程设计,感觉自己收获很多!首先是:要达到这样的功能,使用链表相当方便,但不容易理解,所以在这方面我很了很多的时间看课本,使C 语言的知识强化了很多。其次,在做课程设计的过程中,发现了平时很多没有注意到的问题,例如:返回值函数和不返回值函数两者在主函数中的调用是分歧的更重要的是,这次课程设计虽然花了我很多时间,但正是这些时间,让我见识到了 C 语言的重要性。这个学生成绩管理系统都是在自己知识范围内完成的,所以界面清晰简单,可能不是很好看,但绝对实用!从这里我也得到一个体会,做一个
13、程序,或者开发一个软件,应该着重从它的后台制作入手,不克不及做出一个中看不中用的程序或者软件。相信这次的课程设计使我的C语言知识扎实了很多。由于这是第一次进行设计,写文档,难免会写得欠好!7 源程序7. 1 链表#include "stdio.h"#include "stdlib.h"#include "string.h"int shoudsave=0; /* */ struct student学号 */char num10;/* char name20;char sex4;int cgrade;int mgrade;int egra
14、de;int totle;int ave;char neartime10;/*最近更新时间 */;typedef struct node struct student data;struct node *next;Node,*Link;void menu() printf("* *");printf("t1登记学生资料ttttt2删除学生资料n");printf("t3查询学生资料ttttt4修改学生资料n");printf("t5显示学生资料ttttt6统计学生资料n");printf("t7排序语文成
15、绩ttttt8排序数学成绩n");printf("t9排序英语成绩ttttt10选出分段分数n");printf("t11 保管学生资料ttttt12 帮忙信息 ttn");printf("t0 退出系统 tttttttn");printf(”*n");void printstart() printf("n");void Wrong()printf("n提示 : 输入错误 !n");void Nofind()printf("n提示 : 没有找到该学生!n"
16、);void printc() /*本函数用于输出中文*/printf(" 学号 t姓名 t 性别语文成绩 数学成绩英语成绩 总分 平均分 n");void printe(Node *p)/* 本函数用于输出英文*/printf("%-12s%st%st%dt%dt%dt%dt %dn",p->data.num,p->,p->data.sex,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.totle,p->data.ave);No
17、de* Locate(Link l,char findmess,char nameornum) /*该函数用于定位连表中符合要求的接点,并返回该指针 */Node *r;if(strcmp(nameornum,"num")=0) /* 按学号查询 */r=l->next;while(r!=NULL)if(strcmp(r->data.num,findmess)=0)return r;r=r->next;按姓名查询 */ else if(strcmp(nameornum,"name")=0) /* r=l->next;while(r
18、!=NULL)if(strcmp(r->,findmess)=0)return r;r=r->next;return 0;void Add(Link l) /* 增加学生 */Node *p,*r,*s;char num10;r=l;s=l->next;while(r->next!=NULL)r=r->next; /* 将指针置于最末尾*/while(1)printf(" 请你输入学号( 以 '0' 返回上一级菜单:)");scanf("%s",num);if(strcmp(num,&quo
19、t;0")=0)break;while(s)if(strcmp(s->data.num,num)=0)printf("=> 提示 : 学号为 '%s' 的学生已经存在, 若要修改请你选择 '4 修改 '!n",num);printstart();printc();printe(s);printstart();printf("n");return;s=s->next;p=(Node *)malloc(sizeof(Node);strcpy(p->data.num,num);printf(&q
20、uot; 请你输入姓名 :");scanf("%s",p->);getchar();printf(" 请你输入性别 :");scanf("%s",p->data.sex);getchar();printf(" 请你输入语文成绩 :");scanf("%d",&p->data.cgrade);getchar();printf(" 请你输入数学成绩:");scanf("%d",&p->data
21、.mgrade);getchar();printf(" 请你输入英语成绩 :");scanf("%d",&p->data.egrade);getchar();p->data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade;p->data.ave=p->data.totle / 3;/* 信息输入已经完成*/p->next=NULL;r->next=p;r=p;shoudsave=1;void Qur(Link l) /* 查询学生 */in
22、t sel;char findmess20;Node *p;if(!l->next)printf("n=> 提示 : 没有资料可以查询 !n");return;printf("n=>1 按学号查找n=>2 按姓名查找n");scanf("%d",&sel);if(sel=1)/* 学号 */printf(" 请你输入要查找的学号:");scanf("%s",findmess);p=Locate(l,findmess,"num");if(p)pr
23、intf("tttt 查找结果 n");printstart();printc();printe(p);printstart();elseNofind();else if(sel=2) /* 姓名 */printf(" 请你输入要查找的姓名 :");scanf("%s",findmess);p=Locate(l,findmess,"name");if(p)printf("tttt 查找结果 n");printstart();printc();printe(p);printstart();else
24、Nofind();elseWrong();void Del(Link l) /* 删除 */int sel;Node *p,*r;char findmess20;if(!l->next)printf("n=> 提示 : 没有资料可以删除!n");return;printf("n=>1 按学号删除n=>2 按姓名删除n");scanf("%d",&sel);if(sel=1)printf(" 请你输入要删除的学号:");scanf("%s",findmess);p=
25、Locate(l,findmess,"num");if(p)r=l;while(r->next!=p)r=r->next;r->next=p->next;free(p);!n");printf("n=> 提示 : 该学生已经成功删除shoudsave=1;elseNofind();else if(sel=2)printf(" 请你输入要删除的姓名 :");scanf("%s",findmess);p=Locate(l,findmess,"name");if(p)r=
26、l;while(r->next!=p) r=r->next;r->next=p->next;free(p);printf("n=> 提示 : 该学生已经成功删除!n");shoudsave=1;elseNofind();elseWrong();void Modify(Link l)Node *p;char findmess20;if(!l->next)printf("n=> 提示 : 没有资料可以修改 !n");return;printf(" 请你输入要修改的学生学号:");scanf(&qu
27、ot;%s",findmess);p=Locate(l,findmess,"num");if(p)printf("请你输入新学号( 原来是%s):",p->data.num);scanf("%s",p->data.num);printf("请你输入新姓名( 原来是%s):",p->);scanf("%s",p->);getchar();printf(" 请你输入新性别 ( 原来是 %s):",p->d
28、ata.sex);scanf("%s",p->data.sex);printf(" 请 你 输 入 新 的 语 文 成 绩 ( 原 来 是 %d 分 ):",p->data.cgrade);scanf("%d",&p->data.cgrade);getchar();printf(" 请 你 输 入 新 的 数 学 成 绩 ( 原 来 是 %d 分 ):",p->data.mgrade);scanf("%d",&p->data.mgrade);getc
29、har();printf(" 请 你 输 入 新 的 英 语 成 绩 ( 原 来 是 %d 分 ):",p->data.egrade);scanf("%d",&p->data.egrade);p->data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade;p->data.ave=p->data.totle/3;printf("n=> 提示 : 资料修改成功 !n");shoudsave=1;elseNofind();vo
30、id Disp(Link l)int count=0;Node *p;p=l->next;if(!p)printf("n=> 提示 : 没有资料可以显示!n");return;printf("tttt 显示结果 n");printstart();printc();printf("n");while(p) printe(p);p=p->next;printstart();printf("n");void Tongji(Link l)Node *pm,*pe,*pc,*pt,*pa; /* 用于指向分
31、数最高的接点 */Node *r=l->next;if(!r)printf("n=> 提示 : 没有资料可以统计!n");return ;pm=pe=pc=pt=pa=r;while(r!=NULL)if(r->data.cgrade>=pc->data.cgrade) pc=r;if(r->data.mgrade>=pm->data.mgrade) pm=r;if(r->data.egrade>=pe->data.egrade)pe=r;if(r->data.totle>=pt->data
32、.totle)pt=r;if(r->data.ave>=pa->data.ave)pa=r;r=r->next;printf("n");printf(" 总 分 最 高 者 :t%s>data.totle);printf(" 平 均 分 最 高 者 :t%s>data.ave);printf(" 英 语 最 高 者 :t%s>data.egrade);printf(" 数 学 最 高 者 :t%s>data.mgrade);printf(" 语 文 最 高 者 :t%s统计结果
33、 %d 分 n",pt->,pt-%d 分 n",pa->,pa-%d 分 n",pe->,pe-%d 分 n",pm->,pm-%d 分 n",pc->,pc->data.cgrade);printstart();void Chinese(Link l)Link ll;Node *p,*rr,*s;ll=(Link)malloc(sizeof(Node); /*用于做新的连表*/ll->next=NULL;if(
34、l->next=NULL)printf("n=> 提示 : 没有资料可以排序 !n");return ;p=l->next;while(p)s=(Node*)malloc(sizeof(Node); /* 新建接点用于保管信息 */s->data=p->data;s->next=NULL;rr=ll;while(rr->next!=NULL&& rr->next->data.egrade>=p->data.egrade)rr=rr->next;if(rr->next=NULL)rr
35、->next=s;elses->next=rr->next;rr->next=s;p=p->next;free(l);l->next=ll->next;printf("n=> 提示 : 排序已经完成!n");void Maths(Link l) /* 对数学排序 */Link ll;Node *p,*rr,*s;ll=(Link)malloc(sizeof(Node); /*用于做新的连表*/ll->next=NULL;if(l->next=NULL)printf("n提示:没有资料可以排序!n"
36、;);return ;p=l->next;while(p)s=(Node*)malloc(sizeof(Node); /*新建接点用于保管信息*/s->data=p->data;s->next=NULL;rr=ll;while(rr->next!=NULL&& rr->next->data.mgrade>=p->data.mgrade)rr=rr->next;if(rr->next=NULL)rr->next=s;elses->next=rr->next;rr->next=s;p=p-&g
37、t;next;free(l);l->next=ll->next;printf("n=> 提示 : 排序已经完成!n");void English(Link l) /* 对英语排序 */Link ll;Node *p,*rr,*s;ll=(Link)malloc(sizeof(Node); /*用于做新的连表*/ll->next=NULL;if(l->next=NULL)printf("n=> 提示 : 没有资料可以排序 !n");return ;p=l->next;while(p)s=(Node*)malloc(
38、sizeof(Node); /* 新建接点用于保管信息 */s->data=p->data;s->next=NULL;rr=ll;while(rr->next!=NULL&&rr->next->data.cgrade>=p->data.cgrade)rr=rr->next;if(rr->next=NULL)rr->next=s;elses->next=rr->next;rr->next=s;p=p->next;free(l);l->next=ll->next;printf(&q
39、uot;n=> 提示 : 排序已经完成!n");void select(Link l)int i;int j,k;Node *pc = l; /用于指向分数最高的接点Node *r=l->next;if(!r)!n"););printf("n=> 提示 : 没有资料可以筛选return ;printf(" 输入课程名 1. 语文 2. 数学 3. 英语scanf("%d",&i);if(i=1)printf("请输入筛选分数的上限:");scanf("%d",&
40、j);printf("请输入筛选分数的下限:");scanf("%d",&k);筛选结果 语文成绩 数printf("n");printf(" 学号 t 姓名 t 性别学成绩 英语成绩 总分 平均分 n");printstart();while(r!=NULL)if(k<=(r->data.egrade)&&(r->data.egrade)<j)printe(r);r=r->next;else if(i=2)printf("请输入筛选分数的上限:&qu
41、ot;);scanf("%d",&j);printf("请输入筛选分数的下限:");scanf("%d",&k);筛选结果 语文成绩 数printf("n");printf(" 学号 t 姓名 t 性别学成绩 英语成绩 总分 平均分 n");printstart();while(r!=NULL)if(k<=(r->data.mgrade)&&(r->data.mgrade)<j)printe(r);r=r->next; else if
42、(i=3)printf("请输入筛选分数的上限:");scanf("%d",&j);printf("请输入筛选分数的下限:");筛选结果 语文成绩 数scanf("%d",&k);printf("n");printf(" 学号 t 姓名 t 性别学成绩 英语成绩 总分 平均分 n");printstart();while(r!=NULL)if(k<=(r->data.cgrade)&&(r->data.cgrade)<j
43、)printe(r);r=r->next;elseWrong();void Save(Link l)FILE* fp;Node *p;int flag=1,count=0;fp=fopen("c:student","wb");if(fp=NULL)printf("n=> 提示 : 重新打开文件时发生错误!n");exit(1);p=l->next;while(p)if(fwrite(p,sizeof(Node),1,fp)=1)p=p->next;count+;elseflag=0;break;if(flag)
44、printf("n=> 提 示 : 文 件 保管成 功 .( 有 %d 条 记 录 已 经 保管 .)n",count);shoudsave=0;fclose(fp);void main()Link l;/* 连表 */FILE *fp; /* 文件指针 */int sel;char ch;char jian;int count=0;Node *p,*r;printf("tttt 学生成绩管理系统 n ttt 06 自动化 2 班蔡晓庆 3106000849ttttn");l=(Node*)malloc(sizeof(Node);l->nex
45、t=NULL;r=l;fp=fopen("C:student","wb");loop:menu();printf(" 请你选择操纵:");scanf("%d",&sel);if(sel=0)if(shoudsave=1) getchar();printf("n=> 提示 : 资料已经改动, 是否将改动保管到文件中(y/n)?n");scanf("%c",&ch);if(ch='y'|ch='Y')Save(l);print
46、f("n=> 提示 : 你已经退出系统, 再见 !n");return;switch(sel)删除学生 */case 1:Add(l);goto loop;break; /*增加学生 */ case 2:Del(l);goto loop;break;/*case 3:Qur(l);goto loop;break;/*查询学生 */case 4:Modify(l);goto loop;break;/*修改学生 */case 5:Disp(l);goto loop;break;/* 显示学生 */case 6:Tongji(l);goto loop;break;/*统计学
47、生*/case 7:Chinese(l);goto loop;break;/*语文排序*/case 8:Maths(l);goto loop;break;/*数学排序*/case 9:English(l);goto loop;break;/*英语排序*/*/信息case 10:select(l);goto loop;break;/*选择分段分数case 11:Save(l);goto loop;break;/*保管学生 */case 12:printf("ttt=帮 忙=n");goto loop;break;default: Wrong();getchar();break
48、;7. 2 结构体#include<stdio.h>#include<stdlib.h>#include<string.h>struct 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 charu();void tongji();void xiugai();void
49、 shanchu();void paixu();void tuichu();FILE *fp;/ 指向学生信息的文件指针void main()loop:printf("tt*ttn");printf("ttttn");printf("ttttn");printf("tt史素芬 ttn");printf("ttttn");printf("ttttn");欢迎使用学生信息管理系统制作人:电力 4*printf("tt*ttn");printf("tt
50、1.printf("tt2.printf("tt3.printf("tt4.printf("tt5.printf("tt6.printf("tt7.printf(" n;录入学生成绩n");排序学生成绩n");统计输出成绩n");查询学生成绩n");拔出学生成绩n");修改学生成绩n");删除学生成绩n");退出管理系统n");printf(" 请选择功能 nn");scanf("%d",&a
51、mp;n);system("cls");switch(n)case 1:printf("tt 录入学生成绩nn");luru();goto loop;case 2:printf("tt 排序学生成绩nn");paixu();goto loop;case 3:printf("tt 统计输出学生成绩nn");tongji();goto loop;case 4:printf("tt 查询学生成绩nn");chaxun();goto loop;printf("tt 拔出学生成绩nn"
52、);charu();goto loop;case 5:printf("tt 修改学生成绩nn");xiugai();goto loop;case 6:printf("tt 删除学生成绩nn");shanchu();goto loop;case 7:printf("tt 程序退出。 t 谢谢使用 !nn");exit(0);default:printf(" 您的输入有误,请重试! nn");fflush(stdin);goto loop;printf("n 按任意键返回 "); void luru
53、()int i,m;FILE*fp;printf(" 请输入学生人数: ");scanf("%d",&m);if(m>1000|m<0)printf("n错 误nn");return;elsefor(i=0;i<m;i+)printf("n 请 输 入 第 %d 位 学 生 的 成 绩:n”,i+1);printf(" 班级 :");scanf("%s",stui.class_0);printf("学号:");scanf("%s&
54、quot;,stui.num);printf("姓名:");scanf("%s",);printf(" 高等数学成绩:");scanf("%f",&stui.math);printf("C 程序设计成绩:");scanf("%f",&stui.c_prog);printf(" 大学英语成绩:");scanf("%f",&stui.eng);printf(" 马克思主义政治经济学成绩:&
55、quot;);scanf("%f",&stui.polity);printf(" 大学体育成绩:");scanf("%f",&stui.sport);stui.ave=(stui.c_prog+stui.eng+stui.math+stui.polity+stui.sport)/5;fp=fopen("stud.c","w");for(i=0;i<m;i+)if(fwrite(&stui,sizeof(structstudent),1,fp)!=1)printf(&
56、quot;n 打开文件失败nnn");fclose(fp);fp=fopen("stud.c","r");printf("n 已录入的学生成绩:n");printf("n 班级 学号 姓名 高等数学 C 程序设计 大学英语 马克思主义经济学 大学体育 平均分 n");for(i=0;i<m;i+) fread(&stui,sizeof(struct student),1,fp);printf("n%-6s%-6s%-6s%-9.2f%-10.2f%-9.2f%-17.2f%-9.2
57、f%-6.2fn",stui.class_0,stui.num,,stui.math,stui.c_prog,stui.eng,stui.polity,stui.sport,stui.ave);fclose(fp);getchar();void paixu()loop:printf("t=1, 平 均 成 绩 排 序 =n");printf("t=2,高数成绩排序=n");printf("t=3,C语言成绩排序=n");printf("t=4,英语成绩排序n");5,马克思经济学成绩排序=n");printf("t=6,大学体育成绩排序=n");printf("t=7,学 号 排 序=n");printf(" 请输入你的选择n"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit3 It's Too Expensive(说课稿)-2024-2025学年北师大版(一起)英语四年级上册001
- 2025【各行各业合同协议模板】【各行各业合同协议模板】商铺转让协议
- 2025常用版工程工程合同样式
- 2023八年级英语下册 Module 9 Friendship Unit 1 Could I ask if you've mentioned this to her第二课时说课稿 (新版)外研版
- 2025墙体广告制作发布合同
- 2025国际贸易合同样本参考
- Unit 3 My weekend plan Part A Let's talk Let's learn大单元整体说课稿表格式-2024-2025学年人教PEP版英语六年级上册
- 9 生活离不开规则说课稿-2023-2024学年道德与法治三年级下册统编版
- 3 《百合花》 (说课稿)-2024-2025学年高一语文同步说课稿与知识梳理(统编版必修上册)
- Unit 4 My home PB Let's learn (说课稿)-2024-2025学年人教PEP版英语四年级上册
- 湖北省十堰市城区2024-2025学年九年级上学期期末质量检测历史试题(含答案)
- 2025公司开工大吉蛇年起航万象启新模板
- 企业人才招聘与选拔方法论研究
- GB/T 11263-2024热轧H型钢和剖分T型钢
- 2024年江苏省高考政治试卷(含答案逐题解析)
- 执业医师资格考试《临床执业医师》 考前 押题试卷(一)绝密1
- 2024七年级数学上册第六章几何图形初步综合与实践设计学校田径运动会比赛场地课件新版新人教版
- 《三国演义》题库单选题100道及答案解析
- 全国网约车出租车驾驶员公共题模拟考试题及答案
- 无人机实操技术课件:模拟器飞行
- 新人教版一年级数学下册全册教案(表格式)
评论
0/150
提交评论