2022年C语言课程设计-学生成绩管理系统 .pdf
《2022年C语言课程设计-学生成绩管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言课程设计-学生成绩管理系统 .pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、问题描述能够实现对学生成绩的统计,处理二、 基本要求1) 每条记录由学号、姓名、若干门课程的成绩组成;2) 能计算每个学生的总分和平均分并显示;3)能按平均分统计各分数段的人数,并以分布图显示,如右图所示。4) 在此基础上,可进行文件操作。三、 系统分析与设计此程序所要达到的效果与具有的功能如上述要求,大致的 main 函数中要包含的几个子函数也就比较明确,首先肯定要有一个结构体的定义,然后就是子函数,比如求总分的而函数Total(),求平均分的函数Avg() ,然后就是查找,要通过一个学号返回到数组下标,然后找到学生,在显示函数中调用得到这个学生的所有信息,而统计图则简单的用一个二维数组
2、来实现,当然考虑到实用性,另加一个学生信息修改,学生信息删除,按平均分排序的函数,使软件功能尽可能全四、 流程图I I I I I I I I I I I I I I I I I 60 70 80 90 100 开始,进入菜单选 1,添加学生信息选 2,修改 学 生选 3,删除 学 生选 4,按姓 名 查选 5,按平 均 分排序选 6,显示 分 数段 统 计图选 7,退出程序名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - 五、
3、 程序清单#include struct Student char ID20; char Name20; float Mark1; float Mark2; float Mark3; float Average; float Total; ; struct Student students100; int num=0; float Total(struct Student stu) return (stu.Mark1+stu.Mark2+stu.Mark3); float Avg(struct Student stu) return (stu.Mark1+stu.Mark2+stu.Mark3
4、)/3; int Student_SearchByIndex(char id) int i; for (i=0;inum;i+) if (strcmp(studentsi.ID,id)=0) return i; return -1; int Student_SearchByName(char name) int i; for (i=0;inum;i+) if (strcmp(studentsi.Name,name)=0) return i; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -
5、 第 2 页,共 10 页 - - - - - - - - - return -1; void Student_DisplaySingle(int index) printf(%10s%10s%8s%8s%8s%10s%10sn,xuehao,name,mark1,mark2,mark3,average,total); printf(-n); printf(%10s%10s%8.2f%8.2f%8.2f%10.2f%10.2fn,studentsindex.ID,studentsindex.Name, studentsindex.Mark1,studentsindex.Mark2,studen
6、tsindex.Mark3,studentsindex.Average,studentsindex.Total); void Student_Insert() while(1) printf(please input xuehao:); scanf(%s,&studentsnum.ID); getchar(); printf(please input name:); scanf(%s,&studentsnum.Name); getchar(); printf(please input Mark1:); scanf(%f,&studentsnum.Mark1); getchar(); print
7、f(please input Mark2:); scanf(%f,&studentsnum.Mark2); getchar(); printf(please input mark3:); scanf(%f,&studentsnum.Mark3); getchar(); studentsnum.Total=Total(studentsnum); studentsnum.A verage=Avg(studentsnum); num+; printf(go on?(y/n); if (getchar()=n) break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - -
8、 - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - void Student_Modify() float mark1,mark2,mark3; while(1) char id20; int index; printf(please input the xuehao of the student you want tochange:);scanf(%s,&id); getchar(); index=Student_SearchByIndex(id); if (index=-1) printf(this
9、student is not here!n); else printf(the information of the student you want to change is:n); Student_DisplaySingle(index); printf(- please input the new things-n); printf(please input xuehao:); scanf(%s,&studentsindex.ID); getchar(); printf(please input name:); scanf(%s,&studentsindex.Name); getchar
10、(); printf(please input mark1:); scanf(%f,&studentsindex.Mark1); getchar(); printf(please input mark2:); scanf(%f,&studentsindex.Mark2); getchar(); printf(please input mark3:); scanf(%f,&studentsindex.Mark3); getchar(); studentsindex.A verage=Avg(studentsindex); printf(go on?(y/n); if (getchar()=n)
11、break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 - - - - - - - - - void Student_Delete() int i; while(1) char id20; int index; printf(please input the xuehao of the student you want to delete:); scanf(%s,&id); getchar(); index=Student_SearchByIndex(id
12、); if (index=-1) printf(this student is not here!n); else printf(the information of the student you want to delete is:n); Student_DisplaySingle(index); printf(are you sure?(y/n); if (getchar()=y) for (i=index;inum-1;i+) studentsi=studentsi+1; num-; getchar(); printf(go on?(y/n); if (getchar()=n) bre
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年C语言课程设计-学生成绩管理系统 2022 语言 课程设计 学生 成绩管理系统
限制150内