学生成绩管理系统C语言附完整源代码.docx
- 文档编号:3131552
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:30
- 大小:162.34KB
学生成绩管理系统C语言附完整源代码.docx
《学生成绩管理系统C语言附完整源代码.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统C语言附完整源代码.docx(30页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统C语言附完整源代码
学生成绩管理系统C语言(附完整源代码)
课程设计报告
学生成绩管理系统
院系:
专业:
班级:
完成日期:
2009年1月03日
设计题目:
学生成绩管理系统
1、题目描述
2、算法设计/设计思想
3、结构框图、各模块的功能描述
4、主体思想:
5、程序的,,,流程图
6、源代码
1.题目描述
设计一个简单的学生成绩管理系统,要求有简单的界面,程序段要分清模块,该程序应该:
(1)输入学生成绩,求总分,平均分,以及排序。
(2)查询学生单科成绩,总分和平均成绩;
(3)添加、修改学生成绩具有下列功能:
(4)实现保存与查看功能
2.算法设计/设计思想
利用二维数组——定义stu[][]存储学生学号、各科成绩,总分,平均分,名次,利用文件来存
储,读取数据。
具体分工是:
:
负责inputx(),print1(),input();
:
负责文件的存储和读取,main(),System(),Idea()以及各调用函数之间的连
:
负责find1(),find2(),find3(),find31(),Find();
:
负责del(),add(),change1(),Change();后期调试由小组共同负责。
3.结构框图、各模块的功能描述
3.1创建成绩表
3.1.1input()功能是输入学生的信息,便于以后的查询、浏览。
3.2添加
3.2.1add()功能是向inputy()添加新的内容。
3.3.2chance()对单科成绩进行修改。
3.3查询
3.3.1可根据学号,科目,名次,进行查询。
3.3.2查询内容包括:
该学生的各课成绩、、平均分。
3.4删除
3.4.1可以输入学号删除一名学生的一课成绩。
。
3.5浏览成绩单
3.5.1通过此print1()可以查看所有学生的各课成绩、总分、平均分和名次。
3.6文件()
3.6.1保存以上所输入的信息以达到既是关闭窗口信息也不会丢失信息的目的。
3.6.2随时打开,修改文件。
3.7.退出功能是退出
主菜单
退出系意见评述功能菜单统
输入添加及改查找功能退出功能菜单成绩功能
查输排查找学学添修某某生生加改段生成成成某成成绩绩科绩绩绩成绩
按按按名学科次号目查查查找找找
四、主体思想:
1、考虑到此程序量大代码多,所以用函数调用,分几个人去完成。
2、在输入学生成绩的时候,想到学生人数不固定,所以在程序开头定义一个符号常量代表学生人数,可以随时更改。
3、考虑到查找模块和添加修改模块要用到输出成绩模块所以要建文件进行保存并能被其
他模块调用所以要用指针。
4、要反复回到主菜单,所以用到GOT(功能,壁景的好看用到了CONIO.H函数。
5、在成绩输入和排序时,要用FOR循环,甚至,,,的三重嵌套。
6、为了给读者带来方便,所以关于提示语全用中文。
五、程序的,,,流程图
1、学生成绩的求和求平均,及名次
定义i,j,t,k,m
Fori=0tostu-1
a[i][6]=0
Forj=1to5
a[i][6]+=a[i][j]
a[i][7]=a[i][6]/5
Fori=0tostu-1
K=Ia[i][8]=i+1
Forj=i+1tostu
Ifa[j][6]>a[k][6]k=j
Form=0to7
t=a[k][m]a[k][m]=a[i][m]a[i][m]=t输出学生成绩
2、删除学生成绩
U*/■■
定义ijm
读写文件输入要删的学号m
Fori=0tostu-1
Ifa[i][0]=m
Forj=0;j<9;j++
a[i][j]=0调用print1输出成绩表
3添加学生成绩定义n,i读写文件输入添加人数nFori=stutostu+n
Forj=oto6输入添加的各科成绩a[i][j]J++
调用print1重新输入人数stu重新输出成绩
4修改学生某科成绩定义m,b,c,输入要修改的学号m输入要修改的科目bFori=0tostu-1if(m!
=a[i][0])n++Else{n++;break}a[n][b+1]=c调用print1输出学生成绩
5查询成绩按名次查询定义n,I,j输入名次:
ni=0i 按学号查询 疋义: ijn 输入学号: &ni=0i n==a[i][0] 否是 i++j=0 j<8 六源代码 /**** 头文件 */ #include #include #include b,c,i,j,k,m,n,t,w,z,stu,a[100][10]; longnum; int*p; charch,filename[10];FILE*fp,*fp1; main();/*主函数*/System();/*功能菜单*/Input();/*函数的输入*/inputx();/*成绩的输入*/Find();/*成绩的查询*/ find2();/*按学号查询*/find3();/*选择查询科目*/find31();/*按分数段查询*/Change();/*添加、修改*/add();/*成绩的添加*/del();/*成绩的删除*/change();/*成绩的修改*/Idea();/*意见评述*/ 程序代码 输入学生成绩 inputx() {textbackground(5); textcolor (2); clrscr(); gotoxy(25,9); printf("Pleaseinputthefilename: ");scanf("%s",filename); gotoxy(27,13); printf("请输入你们班学生人数: ");scanf("%d",&stu); if((fp=fopen(filename,"w"))==NULL){printf("Cannotopenthefile");exit(0); clrscr();gotoxy(30,2); printf("请输入学生成绩"); putchar('\n'); printf("学号高数外语C言组装中医\n");for(i=0;i<=stu-1;i++) {for(j=0;j<=5;j++){gotoxy(8*(j+1),i+4); scanf("%6d",&a[i][j]);fputc(a[i][j],fp); } printf("\n"); } } /*******输出成绩表,并求总分,平均成绩*******/print1() {for(i=0;i<=stu-1;i++)/*求总分和平均分*/ {a[i][6]=0;for(j=1;j<=5;j++) a[i][6]+=a[i][j];a[i][7]=a[i][6]/5; } for(i=0;i 宀k± a==8lli= for{jll.+rAHScj++) =h(au=6vas@)folxmuo八m〈H7八m++) Trasm八 旦k=mHa==mka==mHc forToxHSe—lT+) 宀for〒£AH8j++)p「imf(=%7d=am曰)-prinmvl)fp「imf(fp=<4nM達s0^肾Bg卡晶®泄耳云) fo「(iHOxHsfuT+)宀for〒£AH8j++)fprimf(fp=%4d=am曰)-fpuoa三目fp)八fp「imf(fp>n)fcose(fp)八 } 各科总分 及平均分 Input() {inputx(); clrscr(); printf("输出学生成绩");gotoxy(3,2); for(i=1;i<=65;i++)printf("%"); putchar('\n'); printf("学号高数外语C言组装中医总分平均分名次\n");print1(); getch();clrscr(); gotoxy(35,13); printf("谢谢使用此程序\n");getch(); } /************* 按名次查询*******************/ find1() {printf("请输入名次\n");scanf("%d",&n); printf("学号高数外语C言组装中医总分平均分排名\n");for(i=0;i if(n==a[i][8]) for(j=0;j<=8;j++)printf("%6d",a[i][j]);getch(); Find(); } /******************find2() {printf("请输入所要查询学生的学号\n"); scanf("%d",&n); printf("学号高数外语C言组装中医总分平均分排名\n");for(i=0;i {printf("请输入你要查询的成绩段\n");scanf("%d%d",&m,&z); printf("学号高数外语C言组装中医总分平均分排名\n");for(i=0;i if(a[i][n]>=m&&a[i][n]<=z){for(j=0;j<=8;j++)printf("%6d",a[i][j]);printf("\n"); } getch(); Find(); } 查询的科目 find3() {printf("现有五种科目共查询: \n"); printf("1高数2外语3C言4组装5中医\n");printf("请选择: "); scanf("%d",&n);/*选择科目*/ switch(n) {case1: find31(); case2: find31(); case3: find31(); case4: find31(); case5: find31(); default: clrscr(); gotoxy(35,8); printf("Errors");gotoxy(22,14); printf("Pleasepressanykeyboardtoback"); Find() {textbackground(14); textcolor(13); clrscr(); gotoxy(35,3); printf("查询菜单\n"); gotoxy(25,7); printf("1按学生名次查询");gotoxy(25,9); printf("2按学生学号查询");gotoxy(25,11); printf("3查询单科成绩段");go
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 语言 完整 源代码
![提示](https://static.bdocx.com/images/bang_tan.gif)