当前位置:文档之家› 学生信息管理系统(C )

学生信息管理系统(C )

1.1 课题背景及意义
一直以来人们使用传统的人工方式管理学生成绩,在计算机尚未在学 校广泛使用之前,学生成绩管理主要依靠手工。一个最典型的手工处理过程 就是:当考试完后,老师就要把学生成绩登记到文档中,当老师或学生要查 询成绩的时候要一个一个去找,总分、平均分都需要一个一个累加起来算, 很麻烦,不过最麻烦的还是排名,不能一目了然。
12
6. 回到菜单界面再输入 7,回车,测试按总分排名。运行结果如图
7. 回到菜单界面再输入 3,回车,测试修改数据。修改完后,进入菜单,选择 操作 6 输出所有学生数据。修改如图
13
运行结果如图
8. 运用修改后的数据,测排名
14
9. 列出不及格学生信息:
10.回到菜单界面再输入 4,测试按学号查询,运行结果如图
参考文献
[1] 杨路明,C 语言程序设计教程.北京:北京邮电大学出版社,2005(2009.7) [2] 谭浩强,C++程序设计. 北京:清华大学出版社,2004.6 [3] 杨路明,C 语言程序设计上机指导与习题选解.北京:北京邮电大学出版社, 2005
1引 言
为方便对学生成绩进行高效的管理,编写该程序以提高学生成绩管理
2
效率。使用该程序之后,学校管理者可以查询某位学生、某个科目的成绩情 况,还可以对学生成绩进行排名,对学生的数据进行修改和删除,其中排名 包括总分排名和各个科目的排名,学生可以更具自己的个人信息进行成绩查 询,查询结果包括各个科目的分数、总分和平均分。通过本系统可以很好的 掌握学生成绩的分布,减轻管理人员的负担,也使学生的成绩和信息长时期 的保留。
学生成绩管理系统
5
操作
查询
排序
录增 删 修 入加 除 改 数人 人 数 据员 员 据
按按 输 学姓 出 号名 全 查查 部 询询 数

3.1 数据结构设计
(1) 类的设计
图 2.1 系统总体结构
3 详细设计
表 3-1 Stu 类成员列表
Stu 类
char name[20] char cla[20] int number char sex int age int tele char class1[100] char class2[100] char class3[100] double C11 double C12 double C21 double C22
1.2 课程设计的目的及内容
目的:
1、使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构 和操作实现算法,以及它们在程序中的使用方法;
3
2、使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能 力; 3、使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能 力。
8
示用户输入的学生的信息,输入完成后会提示用户是否要继续录入。 操作 2 删除人员函数 void operate2() 这是一个无参函数,是 Stu 类的一个友元函数,进入后系统会提示用户输入需 要删除学生的姓名,然后查找该学生,删除该学生数据,并将其后数组往前移 动一位,最后提示用户是否继续删除。 操作 3 修改数据函数 void operate3() 这是一个无参函数,是 Stu 类的一个友元函数,进入后系统会提示用户输入需 要修改学生的姓名,该函数的功能是修改学生的成绩,防止了录入数据时的错 误,保证了系统的完备性。 操作 4 按总成绩查询函数 void operate4() 这是一个无参函数,是 Stu 类的一个友元函数,进入后系统会提示用户输入需 要查询的总分,然后输出所有该分数的学生的成绩,并提示用户是否需要继续 查询。 操作 5 按姓名查询函数 void operate5() 这是一个无参函数,是 Stu 类的一个友元函数。进入后系统会提示用户输入需 要查询的学生姓名,然后输出该学生的成绩,并提示用户是否需要继续查询。 操作 6 输出所有学生的数据函数 void operate6() 这是一个无参函数,是 Stu 类的一个友元函数,进入后系统将自动输出该系统 下所有学生的成绩,但并不排序,而是按照录入是的顺序输出,输出之后提示 用户是否需要进行其它操作。 操作 7 按平均分分排名函数 void operate7() 这是一个无参函数,是 Stu 类的一个友元函数,进入后系统将按照平均分分从 高到低自动输出该系统下所有学生的成绩,输出之后提示用户是否需要进行其 它操作。 操作 8 按这平均分是否大于 60 列出不及格学生 void operate8() 这是一个无参函数,是 Stu 类的一个友元函数,进入后系统将按照总平均分是
15
11.回到菜单界面再输入 5,测试按姓名查询,运行结果如图
12.测试完毕。输入 n,退出系统。
16
5 结束语
在本次课程设计过程中,老师从选题、构思、资料收集到最后定稿的各 个环节给予细心指导,使我对软件工程有了更深刻的认识,在此表示衷心地 感谢。在整个过程中,我查阅了大量的关于书籍借阅管理系统的资料和网站, 在老师的指导和自己的努力下,终于完成了本次课程设计。在为期两周的课 程设计过程中,使我熟悉了C++编程语言,但也体现了我的种种不足,希望在 以后的学习生活当中能够改正。同时我还要感谢指导过我的老师,他们给了 我很大的指导和帮助,还有在我陷入困境时帮助过我的同学们。
4
2 系统需求分析
2.1功能需求分析
0)录入数据:将学生的信息利用函数写入对象数组内。 1) 增加人员:增加学生,将学生的信息利用函数写入对象数组内。 2) 删除人员:删除学生信息和成绩。 3) 修改数据:修改学生成绩。 4) 按学号查询:根据学生学号,查询学生信息。 5) 按姓名查询:根据学生姓名,查询学生信息。 6) 输出所有学生成绩。 7) 按总平均分排名:按照总平均分从高到低排序。 8) 列出不及格学生:按照总平均分列出不及格学生信息。
9
否大于 60 列出不及格学生的成绩,输出之后提示用户是否需要进行其它操作。
4 设计测试流程
1. 进入系统,显示本系统相关信息。如图。
2. 根据系统提示,进入菜单界面。如图
10
3. 输入 0,回车,按提示输入数据。如图
11
4. 回到菜单界面在输入 1,回车,增加人员,按提示输入数据。如图
5. 回到菜单界面再输入 6,回车,输出所有学生的数据,检测操作 0 和操作 1。 运行结果如图
#include<string>
String 类
(2) 各个变量的定义和作用
char name[20]; char cla[20]; int number; char sex[20]; int age; int tele; char class1[100]; char class2[100]; char class3[100]; double C11; double C12; double C21; double C22; double C31; double C32; double C1; double C2; double C3; double sum; double aver;
以上所描述的手工过程的不足之处显而易见,首先处理学生成绩的效 率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。 利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。我们很 清晰的看到自己的各个科目成绩和每个科目的排名和总分排名以及所有学生 的成绩分布,而且还是零失误,所有的都是一目了然。极大的方便了学生和 老师。为提高成绩管理效率,管理人员的工作负担,有必要开发一个小型成 绩管理系统来对学生成绩实施有效管理。
//姓名 //班级
//学号 //性别
//年龄 //电话 //课程为字符串
//C12 的平时成绩 //C11 的考试 成绩
//为这门课的综合成绩
//总成绩 //平均成绩
Stu *s[50]; 对象数组记录学生成绩
7
3.2 系统函数的组成、功能、参数说明、相互调用关系
主函数 main() 调用菜单操作函数 handle_menu()实现菜单的输出和操作,调用 index()打印首页。 以及删除动态对象。 菜单操作函数 void handle_menu() 这是一个无参的函数,通过调用菜单函数 menu()实现菜单的输出,利用 dowhile()语句和 switch()语句实现各函数的调用,系统根据输入的字符选项来调用 相应的函数,进行相应的操作。 菜单函数 void menu() 这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统 的十一大功能,根据每个功能前面的序号进行选择。 打印首页函数 void index() 这是一个无参函数,主要功能是打印本系统的相关信息。 默认构造函数 Stu:: Stu() 这是 Stu 类中的一个默认构造函数,实现对象的初始化。。 求总分函数 double Stu::getsum() 这是一个无参函数,主要功能是将每个对象的语文、数学、英语三科成绩求和, 返回总分 sum。 求平均分函数 double Stu::getaver() 这是一个无参函数,调用 double Stu::getsum()平均分,返回平均分 aver 操作 0 数据录入函数 void operate0() 这是一个无参函数,是 Stu 类的一个友元函数,该函数可将用户输入的学生的 信息在每一个对象数组内,输入完成后会提示用户是否要继续录入。 操作 1 增加人员函数 void operate1() 这是一个无参函数,是 Stu 类的一个友元函数,该函数可以增加学生人数,提
2.2 系统总体结构设计
对学生成绩进行管理的系统,主要划分为以下三个模块: 1) 操作:包括录入数据、增加人员、删除人员、修改数据。 2) 查询:包括按总成绩查询、按姓名查询、输出所有学生成绩。 3) 排名:按总分排名、按语文成绩排名、按数学成绩排名、按英语成绩排名 根据需求分析的结果,总体结构如图 2-1 所示。
相关主题