《大作业报告模板(共20页).doc》由会员分享,可在线阅读,更多相关《大作业报告模板(共20页).doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上2016秋季学期 信息技术基础大作业专 业:机械设计制造及其自动化(卓越试点)班 级: 卓越试点班 学生姓名: 学 号: 2016年11月项目基本信息项目名称项目功能团队成员姓名性别年级院、系、专业学号备注指导教师程银波团队联系方式联系人姓名联系电话邮件地址目 录专心-专注-专业学生成绩管理系统摘 要 本设计主要解决学生成绩管理问题。使用计算机进行信息管理,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性.学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。在大作业中,系统开发
2、平台为Windows XP,程序设计设计语言采用Visual C+,程序运行平台为Windows 98/2000/XP。在程序设计中,采用了面向对象解决问题的方法。程序通过调试运行,初步实现了设计目标。关键词 程序设计;C+;成绩管理1 团队介绍及人员分工1)团队介绍沈双燕:勤奋刻苦、有钻研精神,对待编程工作热情细心,孜孜不倦。张敏:踏实耐心,有良好的策划能力,对待工作细致专注。虞雯霞:有良好的创新能力,对代码的编写提供了好的想法。团队成员之间有较好的默契度及协作性。分工明确,各司其职,在共同的努力及相互的配合下,共同解决程序中出现的困难并尽可能的优化程序,最终完成整个项目。2)人员分工沈双燕
3、:负责程序的编码部分及项目具体功能的实现。张敏:负责程序的策划部分,程序代码的部分编写以及文档的编写工作。虞雯霞:负责项目的可行性分析,以及项目程序代码的部分编写工作。2引 言 为方便对学生成绩进行高效的管理,编写该程序以提高学生成绩管理效率。使用该程序之后,学校管理者可以查询某位学生、某个科目的成绩情况,还可以对学生成绩进行排名,对学生的数据进行修改和删除,其中排名包括总分排名和各个科目的排名,学生可以更具自己的个人信息进行成绩查询,查询结果包括各个科目的分数、总分和平均分。通过本系统可以很好的掌握学生成绩的分布,减轻管理人员的负担,也使学生的成绩和信息长时期的保留。2.1 课题背景及意义一
4、直以来人们使用传统的人工方式管理学生成绩,在计算机尚未在学校广泛使用之前,学生成绩管理主要依靠手工。一个最典型的手工处理过程就是:当考试完后,老师就要把学生成绩登记到文档中,当老师或学生要查询成绩的时候要一个一个去找,总分、平均分都需要一个一个累加起来算,很麻烦,不过最麻烦的还是排名,不能一目了然。以上所描述的手工过程的不足之处显而易见,首先处理学生成绩的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。我们很清晰的看到自己的各个科目成绩和每个科目的排名和总分排名以及所有学生的成绩分布,而且还是零失误,所有的都是一
5、目了然。极大的方便了学生和老师。为提高成绩管理效率,管理人员的工作负担,有必要开发一个小型成绩管理系统来对学生成绩实施有效管理。2.2 可行性分析由于这款程序本身就是一个简易的小型应用程序,从开发到后期的完善,维护都不需要投入太多的人力、物力,因此实现起来比较容易。对计算机的性能没有过高的要求,系统利用率的占用也较低。*3系统需求分析3.1 功能需求分析1) 录入数据:将学生姓名、语文、数学、英语成绩写入文件。2) 增加人员:增加学生,并将学生姓名和成绩写入文件。3) 删除人员:删除学生信息和成绩。4) 修改数据:修改学生成绩。5) 按总成绩查询:根据总分查询学生成绩,包括平均分。6) 按姓名
6、查询:根据学生姓名查询学生成绩,包括总分和平均分。7) 输出所有学生成绩:输出文件中所有学生数据。8) 按总分排名:按照总分从高到低排序。9) 按语文成绩排名:按照语文成绩从高到低排序。10) 按数学成绩排名:按照数学成绩从高到低排序。11) 按英语成绩排名:按照英语成绩从高到低排序。3.2 性能需求分析1硬件环境l 处理器:Inter CR300或是更高。l 内存:128MB(建议 196MB)。l 硬盘空间:20MB。2软件环境l 操作系统: Windows 98/ XP 或是Windows 2000/Windows NT Server 4.0。3.3 系统总体结构设计对学生成绩进行管理的
7、系统,主要划分为以下三个模块:1) 操作:包括录入数据、增加人员、删除人员、修改数据。2) 查询:包括按总成绩查询、按姓名查询、输出所有学生成绩。3) 排名:按总分排名、按语文成绩排名、按数学成绩排名、按英语成绩排名根据需求分析的结果,总体结构如图2-1所示。学生成绩管理系统操作查询排名增加人员按总成绩查询录入数据删除人员修改数据按姓名查询输出全部数据按总分排名语文成绩排名数学成绩排名英语成绩排名图3.1系统总体结构4详细设计4.1 数据结构设计(1) 类的设计表4-1 Stu类成员列表Stu类char name20;double math;double chinese;double engl
8、ish;double average;double sum;double getsum();double getaver();(2)系统包含的类库#include输入输出流#includeString类#include文件输入/输出操作(3)各个变量的定义和作用char name20; 学生姓名double math; 数学成绩double chinese; 语文成绩double english; 英语成绩double average; 平均分double sum; 总分Stu *s50; 对象数组记录学生成绩4.2系统函数的组成、功能、参数说明、相互调用关系主函数 main()调用菜单操作函
9、数handle_menu()实现菜单的输出和操作,调用index()打印首页。以及删除动态对象。菜单操作函数 void handle_menu()这是一个无参的函数,通过调用菜单函数menu()实现菜单的输出,利用do-while()语句和switch()语句实现各函数的调用,系统根据输入的字符选项来调用相应的函数,进行相应的操作。菜单函数 void menu()这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的十一大功能,根据每个功能前面的序号进行选择。打印首页函数 void index()这是一个无参函数,主要功能是打印本系统的相关信息。默认构造函数Stu: Stu()
10、这是Stu类中的一个默认构造函数,实现对象的初始化。有参构造函数Stu: Stu(char n20,double ma,double chin,double eng)这个函数的功能主要是对对象的数据成员赋值。求总分函数double Stu:getsum()这是一个无参函数,主要功能是将每个对象的语文、数学、英语三科成绩求和,返回总分sum。求平均分函数double Stu:getaver()这是一个无参函数,调用double Stu:getsum()平均分,返回平均分average操作0数据录入函数void operate0()这是一个无参函数,是Stu类的一个友元函数,该函数可将用户输入的学
11、生的信息保存到文件d:document,输入完成后会提示用户是否要继续录入。操作1增加人员函数void operate1()这是一个无参函数,是Stu类的一个友元函数,该函数可以增加学生人数,提示用户输入的学生的信息,并保存到文件d:document,输入完成后会提示用户是否要继续录入。操作2删除人员函数void operate2()这是一个无参函数,是Stu类的一个友元函数,进入后系统会提示用户输入需要删除学生的姓名,然后查找该学生,删除该学生数据,并将其后指针往前移动一位,最后提示用户是否继续删除。操作3修改数据函数void operate3()这是一个无参函数,是Stu类的一个友元函数,
12、进入后系统会提示用户输入需要修改学生的姓名,该函数的功能是修改学生的成绩,防止了录入数据时的错误,保证了系统的完备性。操作4按总成绩查询函数void operate4()这是一个无参函数,是Stu类的一个友元函数,进入后系统会提示用户输入需要查询的总分,然后输出所有该分数的学生的成绩,并提示用户是否需要继续查询。操作5按姓名查询函数void operate5()这是一个无参函数,是Stu类的一个友元函数。进入后系统会提示用户输入需要查询的学生姓名,然后输出该学生的成绩,并提示用户是否需要继续查询。操作6输出所有学生的数据函数void operate6()这是一个无参函数,是Stu类的一个友元函
13、数,进入后系统将自动输出该系统下所有学生的成绩,但并不排序,而是按照录入是的顺序输出,输出之后提示用户是否需要进行其它操作。操作7按总分排名函数void operate7()这是一个无参函数,是Stu类的一个友元函数,进入后系统将按照总分从高到低自动输出该系统下所有学生的成绩,输出之后提示用户是否需要进行其它操作。操作8按语文成绩排名函数void operate8()这是一个无参函数,是Stu类的一个友元函数,进入后系统将按照语文成绩从高到低自动输出该系统下所有学生的成绩,输出之后提示用户是否需要进行其它操作。操作9按数学成绩排名函数void operate9()这是一个无参函数,是Stu类的
14、一个友元函数,进入后系统将按照数学成绩从高到低自动输出该系统下所有学生的成绩,输出之后提示用户是否需要进行其它操作。操作y按英语成绩排名函数void operatey()这是一个无参函数,是Stu类的一个友元函数,进入后系统将按照英语成绩从高到低自动输出该系统下所有学生的成绩,输出之后提示用户是否需要进行其它操作。5设计测试流程1. 进入系统,显示本系统相关信息。如图5.1所示。图5.1 系统主页2. 根据系统提示,进入菜单界面。如图5.2所示。图5.2 菜单界面3.输入0,回车,按提示输入数据。如图5.3所示。图5.3 录入数据输入y,回车,进行其他操作,将会回到图4.1所示的菜单界面。4.
15、回到菜单界面在输入1,回车,增加人员,按提示输入数据。如图4.4所示。图5.4 增加人员输入y,回车,进行其他操作,将会回到图4.1所示的菜单界面5.回到菜单界面再输入6,回车,输出所有学生的数据,检测操作0和操作1。运行结果如图4.5所示。图5.5 输出所有学生的数据输入y,回车,进行其他操作,将会回到图4.1所示的菜单界面6.回到菜单界面再输入7,回车,测试按总分排名。运行结果如图4.6所示。图5.6 所有学生总分排名输入y,回车,进行其他操作,将会回到图4.1所示的菜单界面7.回到菜单界面再输入3,回车,测试修改数据。修改完后,进入菜单,选择操作6输出所有学生数据。修改如下:张亮:语文9
16、9 数学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
17、 按总分查询11.回到菜单界面再输入5,测试按姓名查询,运行结果如图4.13所示。图5.13 按姓名查询12.测试完毕。输入n,退出系统。6 作品设计、实现难点分析1.难点分析一个项目的开发过程并不总是一帆风顺的,其中难免会遇到困难,使编程无法继续下去。例如*2.解决方案针对程序设计过程中遇到的困难,我们采取了积极有效的解决方法:团队讨论、上网搜索及向有经验的人员请教。发现程序是在获取EditText输入的值时出现了错误,导致程序功能无法实现。最终经过反复的调试及测试,解决了上述的难点,实现了数据库连接、页面跳转等功能。3.测试结果程序在*中运行测试,能实现预期的功能,项目完工!7心得体会参考文献1 杨路明,C语言程序设计教程.北京:北京邮电大学出版社,2005(2009.7重印)2 谭浩强,C+程序设计. 北京:清华大学出版社,2004.63 杨路明,C语言程序设计上机指导与习题选解.北京:北京邮电大学出版社,2005附录源程序清单