1、 本科生 C 语言课程设计 题 目 学生成绩管理系统 一、课程设计一、课程设计 题目:学生题目:学生成绩成绩管理管理系统系统 给出 n 个学生的 4 门考试的成绩表,每个学生的信息由学号、姓 名以及各科成绩组成。 对学生的考试成绩进行有关统计: 按某一科分 数或平均分数高低次序,列出名次表,分数相同的为同一名次;按名 次打印出每个学生的学号、 姓名、 总分以及各科成绩, 并打印统计表。 三、三、概要设计概要设计 程序要有的功能:程序要有的功能: 1. 输入学生成绩 2. 保存成绩 3. 学生成绩排序 4. 学生成绩查询 5. 学生成绩清单 6. 退出管理系统 程序运行当中, 通过选择对应的功能
2、序号来实现所需功能。对输入的 数据要有事先的分析, 如果用户输入的数据与实际不相符如输入成绩 的数值为负,则程序应输出相应的提示: “数据不存在”。再者就是, 当再输入完相应的数据后,程序作出相应的提示, 询问用户是否要继 续输入。在排列学生成绩时候,如果出现成绩相同的情况,程序自动 作出处理。 四、设计任务 将程序分为六个方面:1. 输入学生成绩 、2. 保存成绩 、3. 学生成 绩排序 、4. 学生成绩查询 、5. 学生成绩清单 、6. 退出管理系统。 每个人负责两个方面的程序,其中侯蒙召负责 1、2 两个程序,杨天 静负责 3、4 两个,张振陆负责 5、6 两个,最后交由组长侯蒙召组合
3、整理,形成现在的总的程序。 流程图:流程图: 开始开始 结束结束 选择操作选择操作 输入数据输入数据 排序排序 保存保存数据数据 查询查询 操作操作界面界面 退出系统退出系统 按学号按学号 按姓名按姓名 显示清单显示清单选 择选 择 选 择选 择 选 择选 择 选 择选 择 选 择选 择 选 择选 择 四四门成绩门成绩 学号学号 姓名姓名 四、详细设计四、详细设计 源程序源程序: #include #include #include #include struct Student char name20; int no; int math; int program; int english;
4、int chinese; int aver; stu100,t; int num=0; int menu() int a; char s20; system(“cls“); /*程序介绍*/ printf(“ 欢迎使用学生成绩管理系统,该系统包括以下几项功 能,请根据提示做相应操作n“); printf(“ 1-输入学生成绩n“); printf(“ 2-保存成绩n“); printf(“ 3-学生成绩排序n“); printf(“ 4-学生成绩查询n“); printf(“ 5-学生成绩清单n“); printf(“ 6-退出管理系统n“);/*选择操作*/ printf(“n“); pri
5、ntf(“ 请选择要进行操作的编号:n“); do printf(“Enter you choice(06):“); scanf(“%s“,s); a=atoi(s); while (a6); return a; int enter() int i=0; printf(“请输入学生信息n“); printf(“NO.:“); scanf(“%d“, printf(“姓名:“); scanf(“%10s“,stunum.name); printf(“数学:“); scanf(“%4d“, printf(“程序设计:“); scanf(“%4d“, printf(“英语:“); scanf(“%4
6、d“, printf(“语文:“); scanf(“%4d“, stunum.aver=(stunum.math+stunum.program+stunum.e nglish+stunum.chinese)/4; num=num+1; printf(“是否继续输入?(y/n):n“); if(getch()=y|getch()=Y) enter(); else return(0); void save() FILE*fp; int i; if(fp=fopen(“stu.dat“,“wb“)=NULL) printf(“The fire can not openn“); return; for(i=0;i姓名查询n“); printf(“ 3-返回主菜单n“); printf(“ 请选择要进行查询内容的编号:n“); scanf(“ %d“, if(search_no=1) printf(“ 请输入要查询的学号n“