大作业报告模板汇总Word文档下载推荐.docx
《大作业报告模板汇总Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《大作业报告模板汇总Word文档下载推荐.docx(13页珍藏版)》请在冰点文库上搜索。
联系
方式
联系人
联系电话
邮件
地址
学生成绩管理系统
摘要本设计主要解决学生成绩管理问题。
使用计算机进行信息管理,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性.学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。
在大作业中,系统开发平台为WindowsXP,程序设计设计语言采用VisualC++,程序运行平台为Windows98/2000/XP。
在程序设计中,采用了面向对象解决问题的方法。
程序通过调试运行,初步实现了设计目标。
关键词程序设计;
C++;
成绩管理
1团队介绍及人员分工
1)团队介绍
沈双燕:
勤奋刻苦、有钻研精神,对待编程工作热情细心,孜孜不倦。
张敏:
踏实耐心,有良好的策划能力,对待工作细致专注。
虞雯霞:
有良好的创新能力,对代码的编写提供了好的想法。
团队成员之间有较好的默契度及协作性。
分工明确,各司其职,在共同的努力及相互的配合下,共同解决程序中出现的困难并尽可能的优化程序,最终完成整个项目。
2)人员分工
负责程序的编码部分及项目具体功能的实现。
负责程序的策划部分,程序代码的部分编写以及文档的编写工作。
负责项目的可行性分析,以及项目程序代码的部分编写工作。
2引言
为方便对学生成绩进行高效的管理,编写该程序以提高学生成绩管理效率。
使用该程序之后,学校管理者可以查询某位学生、某个科目的成绩情况,还可以对学生成绩进行排名,对学生的数据进行修改和删除,其中排名包括总分排名和各个科目的排名,学生可以更具自己的个人信息进行成绩查询,查询结果包括各个科目的分数、总分和平均分。
通过本系统可以很好的掌握学生成绩的分布,减轻管理人员的负担,也使学生的成绩和信息长时期的保留。
2.1课题背景及意义
一直以来人们使用传统的人工方式管理学生成绩,在计算机尚未在学校广泛使用之前,学生成绩管理主要依靠手工。
一个最典型的手工处理过程就是:
当考试完后,老师就要把学生成绩登记到文档中,当老师或学生要查询成绩的时候要一个一个去找,总分、平均分都需要一个一个累加起来算,很麻烦,不过最麻烦的还是排名,不能一目了然。
以上所描述的手工过程的不足之处显而易见,首先处理学生成绩的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。
利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。
我们很清晰的看到自己的各个科目成绩和每个科目的排名和总分排名以及所有学生的成绩分布,而且还是零失误,所有的都是一目了然。
极大的方便了学生和老师。
为提高成绩管理效率,管理人员的工作负担,有必要开发一个小型成绩管理系统来对学生成绩实施有效管理。
2.2可行性分析
由于这款程序本身就是一个简易的小型应用程序,从开发到后期的完善,维护都不需要投入太多的人力、物力,因此实现起来比较容易。
对计算机的性能没有过高的要求,系统利用率的占用也较低。
**********
3系统需求分析
3.1功能需求分析
1)录入数据:
将学生姓名、语文、数学、英语成绩写入文件。
2)增加人员:
增加学生,并将学生姓名和成绩写入文件。
3)删除人员:
删除学生信息和成绩。
4)修改数据:
修改学生成绩。
5)按总成绩查询:
根据总分查询学生成绩,包括平均分。
6)按姓名查询:
根据学生姓名查询学生成绩,包括总分和平均分。
7)输出所有学生成绩:
输出文件中所有学生数据。
8)按总分排名:
按照总分从高到低排序。
9)按语文成绩排名:
按照语文成绩从高到低排序。
10)按数学成绩排名:
按照数学成绩从高到低排序。
11)按英语成绩排名:
按照英语成绩从高到低排序。
3.2性能需求分析
1.硬件环境
●处理器:
InterCR300或是更高。
●内存:
128MB(建议196MB)。
●硬盘空间:
20MB。
2.软件环境
●操作系统:
Windows98/XP或是Windows2000/WindowsNTServer4.0。
3.3系统总体结构设计
对学生成绩进行管理的系统,主要划分为以下三个模块:
1)操作:
包括录入数据、增加人员、删除人员、修改数据。
2)查询:
包括按总成绩查询、按姓名查询、输出所有学生成绩。
3)排名:
按总分排名、按语文成绩排名、按数学成绩排名、按英语成绩排名
根据需求分析的结果,总体结构如图2-1所示。
图3.1系统总体结构
4详细设计
4.1数据结构设计
(1)类的设计
表4-1Stu类成员列表
Stu类
charname[20];
doublemath;
doublechinese;
doubleenglish;
doubleaverage;
doublesum;
doublegetsum();
doublegetaver();
(2)系统包含的类库
#include<
iostream>
输入输出流
string>
String类
fstream>
文件输入/输出操作
(3)各个变量的定义和作用
学生姓名
数学成绩
语文成绩
英语成绩
平均分
总分
Stu*s[50];
对象数组记录学生成绩
4.2系统函数的组成、功能、参数说明、相互调用关系
主函数main()
调用菜单操作函数handle_menu()实现菜单的输出和操作,调用index()打印首页。
以及删除动态对象。
菜单操作函数voidhandle_menu()
这是一个无参的函数,通过调用菜单函数menu()实现菜单的输出,利用do-while()语句和switch()语句实现各函数的调用,系统根据输入的字符选项来调用相应的函数,进行相应的操作。
菜单函数voidmenu()
这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的十一大功能,根据每个功能前面的序号进行选择。
打印首页函数voidindex()
这是一个无参函数,主要功能是打印本系统的相关信息。
默认构造函数Stu:
:
Stu()
这是Stu类中的一个默认构造函数,实现对象的初始化。
有参构造函数Stu:
Stu(charn[20],doublema,doublechin,doubleeng)
这个函数的功能主要是对对象的数据成员赋值。
求总分函数doubleStu:
getsum()
这是一个无参函数,主要功能是将每个对象的语文、数学、英语三科成绩求和,返回总分sum。
求平均分函数doubleStu:
getaver()
这是一个无参函数,调用doubleStu:
getsum()平均分,返回平均分average
操作0数据录入函数voidoperate0()
这是一个无参函数,是Stu类的一个友元函数,该函数可将用户输入的学生的信息保存到文件"
d:
\\document"
,输入完成后会提示用户是否要继续录入。
操作1增加人员函数voidoperate1()
这是一个无参函数,是Stu类的一个友元函数,该函数可以增加学生人数,提示用户输入的学生的信息,并保存到文件"
操作2删除人员函数voidoperate2()
这是一个无参函数,是Stu类的一个友元函数,进入后系统会提示用户输入需要删除学生的姓名,然后查找该学生,删除该学生数据,并将其后指针往前移动一位,最后提示用户是否继续删除。
操作3修改数据函数voidoperate3()
这是一个无参函数,是Stu类的一个友元函数,进入后系统会提示用户输入需要修改学生的姓名,该函数的功能是修改学生的成绩,防止了录入数据时的错误,保证了系统的完备性。
操作4按总成绩查询函数voidoperate4()
这是一个无参函数,是Stu类的一个友元函数,进入后系统会提示用户输入需要查询的总分,然后输出所有该分数的学生的成绩,并提示用户是否需要继续查询。
操作5按姓名查询函数voidoperate5()
这是一个无参函数,是Stu类的一个友元函数。
进入后系统会提示用户输入需要查询的学生姓名,然后输出该学生的成绩,并提示用户是否需要继续查询。
操作6输出所有学生的数据函数voidoperate6()
这是一个无参函数,是Stu类的一个友元函数,进入后系统将自动输出该系统下所有学生的成绩,但并不排序,而是按照录入是的顺序输出,输出之后提示用户是否需要进行其它操作。
操作7按总分排名函数voidoperate7()
这是一个无参函数,是Stu类的一个友元函数,进入后系统将按照总分从高到低自动输出该系统下所有学生的成绩,输出之后提示用户是否需要进行其它操作。
操作8按语文成绩排名函数voidoperate8()
这是一个无参函数,是Stu类的一个友元函数,进入后系统将按照语文成绩从高到低自动输出该系统下所有学生的成绩,输出之后提示用户是否需要进行其它操作。
操作9按数学成绩排名函数voidoperate9()
这是一个无参函数,是Stu类的一个友元函数,进入后系统将按照数学成绩从高到低自动输出该系统下所有学生的成绩,输出之后提示用户是否需要进行其它操作。
操作y按英语成绩排名函数voidoperatey()
这是一个无参函数,是Stu类的一个友元函数,进入后系统将按照英语成绩从高到低自动输出该系统下所有学生的成绩,输出之后提示用户是否需要进行其它操作。
5设计测试流程
1.进入系统,显示本系统相关信息。
如图5.1所示。
图5.1系统主页
2.根据系统提示,进入菜单界面。
如图5.2所示。
图5.2菜单界面
3.输入0,回车,按提示输入数据。
如图5.3所示。
图5.3录入数据
输入y,回车,进行其他操作,将会回到图4.1所示的菜单界面。
4.回到菜单界面在输入1,回车,增加人员,按提示输入数据。
如图4.4所示。
图5.4增加人员
输入y,回车,进行其他操作,将会回到图4.1所示的菜单界面
5.回到菜单界面再输入6,回车,输出所有学生的数据,检测操作0和操作1。
运行结果如图4.5所示。
图5.5输出所有学生的数据
6.回到菜单界面再输入7,回车,测试按总分排名。
运行结果如图4.6所示。
图5.6所有学生总分排名
7.回到菜单界面再输入3,回车,测试修改数据。
修改完后,进入菜单,选择操作6输出所有学生数据。
修改如下:
张亮:
语文99数学98英语97
吴豪:
语文98数学97英语99
刘杰:
语文97数学99英语98
运行结果如图4.7所示。
图5.7修改后的数据
8.运用修改后的数据,测试按语文、数学、英语成绩排名。
(1)测试按语文成绩,运行结果如图4.8所示。
图5.8按语文成绩排名
(2)测试按数学成绩,运行结果如图4.9所示。
图5.9按数学成绩排名
(3)测试按英语成绩,运行结果如图4.10所示。
图5.10按英语成绩排名
9.回到菜单界面再输入2,测试删除数据,删除学生刘杰的数据。
运行结果如图4.11所示。
图5.11测试删除数据
10.回到菜单界面再输入4,测试按总分查询,运行结果如图4.12所示。
图5.12按总分查询
11.回到菜单界面再输入5,测试按姓名查询,运行结果如图4.13所示。
图5.13按姓名查询
12.测试完毕。
输入n,退出系统。
6作品设计、实现难点分析
1.难点分析
一个项目的开发过程并不总是一帆风顺的,其中难免会遇到困难,使编程无法继续下去。
例如********************
2.解决方案
针对程序设计过程中遇到的困难,我们采取了积极有效的解决方法:
团队讨论、上网搜索及向有经验的人员请教。
发现程序是在获取EditText输入的值时出现了错误,导致程序功能无法实现。
最终经过反复的调试及测试,解决了上述的难点,实现了数据库连接、页面跳转等功能。
3.测试结果
程序在***************中运行测试,能实现预期的功能,项目完工!
7心得体会
参考文献
[1]杨路明,C语言程序设计教程.北京:
北京邮电大学出版社,2005(2009.7重印)
[2]谭浩强,C++程序设计.北京:
清华大学出版社,2004.6
[3]杨路明,C语言程序设计上机指导与习题选解.北京:
北京邮电大学出版社,2005
附录 源程序清单