《C++程序设计学生成绩管理系统》由会员分享,可在线阅读,更多相关《C++程序设计学生成绩管理系统(32页珍藏版)》请在金锄头文库上搜索。
1、 .课程设计题目:学生成绩管理 word 专业资料 第1章 系统概要1.1 系统介绍 设计一个学生管理系统,能够实现学生信息输入,并对这些信息进行处理并输出。1.2 基本功能要求 从键盘输入某班级若干个学生的学号、姓名、三门课(语文、数学、英语)的成绩,分别实现如下功能;(1) 统计每个学生的总分和平均分。(2) 按总分由大到小排出名次。(3) 打印出成绩在全班平均分以上的学生名单和数据信息。(4) 任意输入一个学号或姓名,能够查找出该学生在班级中的排名及其考试成绩。 本系统是根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以及方便对成绩的各项管理操作。本系统能对成绩进行输入和输出;能
2、按成绩对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提。能根据学生的姓名或学号来查询该学生的资料。word 专业资料第2章 设计思路与算法2.1 程序功能结构图学生成绩管理统设置班级人数输入学生信息统计平均分和总分对学生成绩排序统计高于班级平均成绩学生查找利用学号查找学生利用姓名查找学生利用姓名查找学生打印学生信息主菜单 图2-1 学生成绩管理系统功能图 2.2 各模块介绍学生成绩管理系统包括七个模块:输入学生资料,输出学生资料,统计总分和平均分,按学生总成绩或平均成绩排序,打印平均分高于班级平均分的学生信息,按姓名或学号查找,菜单选择这七个模块既相互联系又相互独立
3、。 各模块功能介绍1)输入模块(void setdata(student stu)):主要功能是用来对学生的成绩进行输入。使用该功能可以输入所有学生的信息、资料等。具体包括学生的班级,学号,姓名,各科成绩。2)输出模块(void print(student stu,int i)):主要功能是用来对学生的成绩进行输出。在系统已经录入了学生资料成绩的前提下,使用该功能可以显示所有学生的信息、资料等。具体包括学生的班级,学号,姓名,各科成绩,总成绩和平均成绩。3)统计模块(void count(student stu)):主要功能是用来对学生的成绩进行计算。在系统已经录入了学生资料成绩的前提下,使用
4、该功能可以计算出每个学生的总成绩和平均成绩。4)排序模块(void sort(student stu)):按学生平均成绩进行排列模块块,此模块的主要功能是用来对学生的平均成绩进行排序,这样在统计名次是就比较方便。在系统保存学生资料的前提下,使用此功能能快速统计出学生的名次情况。5)打印平均分高于班级平均分的学生信息模块(void getaverage(student stu)):主要功能是输出学生平均分高于等于班级平均分的学生信息。6)查找模块(void search1(student stu,char*a) 按学号查找 void search2(student stu,char*b) 按姓名
5、查找):主要功能是用来查找学生资料,在系统输入学生资料的前提下,想查找某个学生的资料,我们只要知道他的学号或姓名,输入学号或姓名后,系统可以帮我们把他的信息输出。7)菜单模块(int select1()): 主要功能是用来选择哪种操作。根据提示可对学生信息进行处理。 第3章 源程序代码#include /输入输出流的头文件/* 文件包含命令,strcmp函数存放在string.h文件中。*/#include /字符串处理的头文件#includeint n; /设置一个全局变量struct student /声明学生信息的结构体 char number20; /学生的学号:20个字符长度 cha
6、r name30; /学生的名字:20个字符长度 char c5; /学生的班级:5个字符长度 double math; /数学成绩 double chinese; /语文成绩 double english; /英语成绩 double total; /总分 double average; /平均分 int rank; /排名s;void setdata(student stu); /输入信息void count(student stu); /统计平均分和总分void sort(student stu); /排序void getaverage(student stu); /求出平均分void p
7、rint(student stu,int i); /打印输出void search1(student stu,char*a);/按学号查找void search2(student stu,char*b);/按姓名查找int select1(); /主菜单int select2(); /菜单void main() system(color 1A);/*设置默认的控制台前颜色。颜色属性由两个十六进制数字指定,第一个为背景,第二个为前景。每个数字可以是以下任何值之一:0=黑色;1=蓝色;2=绿色;3=浅绿色;4=红色;5=紫色;6=黄色;7=白色;8=灰色;9=淡蓝色;,A=淡绿色;B=淡浅绿色;C
8、=淡红色;D=淡紫色;E=淡黄色;F=亮白色。例如system(color 1A)为背景为蓝色,前景为淡绿色,即字体为淡绿色。*/coutendl;couttttt欢迎使用学生管理系统endl;coutendl; extern int n; student *stu; coutn; stu=new studentn; setdata(stu); for(; ;) /实现重复循环选择 switch(select1() /调用菜单选择函数 case 1: count(stu); cout学号t姓名t班级t语文:t 数学:t英语:t总分:t平均分:endl; for(int i=0;in;i+) c
9、outstui.numbertstui.nametstui.ct stui.chinesetstui.mathtstui.englisht stui.totaltstui.averageendl; break; case 2: sort(stu); for(int m=0;mn;m+) print(stu,m); /实现按总分排序打印 break; case 3: getaverage(stu); /实现成绩在平均分以上的打印 break; case 4: switch(select2() case 1:char a20; couta; search1(stu,a); break; case
10、2:char b20; coutb; search2(stu,b); break; break; case 5: coutt再见!谢谢您的使用。n; return; void setdata(student stu) /输入学生的数据 for(int i=0;in;i+) cout下面输入第i+1位同学的数据:endl; coutstui.number; coutstui.name; coutstui.c; coutstui.chinese; coutstui.math; coutstui.english; /*打印学生信息*/void print(student stu,int i) /打印 cout学号t姓名t班级t语文:t 数学:t英语:t总分:t平均分:t排名:endl; coutstui.numbertstui.nametstui.ct stui.chinesetstui.mathtstui.englisht stui.totaltstui.averagetstui.rankendl;/*计算总分和平均分*/void count(student stu) for(int i=0;in;i+) stui.total=stui