《面向对象程序设计》课程设计报告-学生成绩管理系统

《面向对象程序设计》课程设计报告-学生成绩管理系统

ID:6328512

大小:423.00 KB

页数:27页

时间:2018-01-10

《面向对象程序设计》课程设计报告-学生成绩管理系统_第1页
《面向对象程序设计》课程设计报告-学生成绩管理系统_第2页
《面向对象程序设计》课程设计报告-学生成绩管理系统_第3页
《面向对象程序设计》课程设计报告-学生成绩管理系统_第4页
《面向对象程序设计》课程设计报告-学生成绩管理系统_第5页
资源描述:

《《面向对象程序设计》课程设计报告-学生成绩管理系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Q《面向对象程序设计》课程设计报告专业:姓名:学号:指导教师:二O一一年九月日27Q一、课程设计问题描述设计完成一套学生成绩管理系统,要求能够实现学生成绩管理的基本功能,包括:学生成绩的键盘录入、学生成绩的条件输出、学生成绩的条件抽取、学生成绩的条件排序、条件修改。其中具体设计内容如下:(1)从键盘输入学生基本信息(学号、姓名、英语成绩、高数成绩),计算每个学生的平均成绩,并将数据存入文件student.txt文件中。(2)按如下格式输出大于等于平均成绩的学生信息:学号姓名英语高数平均成绩(3)将两门可课都不及格的学生信息抽

2、取出来,另存入文件bat.txt中。(4)提供按学号进行查询的功能。(5)尽可能使用运算符重载以简化操作。(6)使用多文件结构和菜单操作,并考虑相应的操作权限。二、课程设计目的和要求:经过一学期对面向对象程序设计的初步学习,对于面向对象程序设计有了一定的编程基础,为更好地理解和掌握面向对象程序设计,将通过为期一周的上机实践编程,运用面向对象程序设计完成课程设计编程任务的同时,补充和完善面向对象程序设计的相关知识。三、系统环境(包括硬件环境和软件环境)无。四、程序设计思想描述首先明确这是一个学生成绩管理系统,那么这个系统应该具

3、备管理学生成绩的基本功能。同时考虑到使用对象的不同,应考虑到权限方面的相应开放,为简便用户操作以及个人能力限制将采用文字菜单模式。1、成绩管理系统——>成绩(中心)——>学生(以学生为管理对象)——>学生属性和方法。*学生类属性包括:学号、姓名、英语成绩、高数成绩、平均成绩、名次(以链表的当前位置为计)。*学生类方法包括:构造函数、析构函数、设置函数、修改函数以及获取相应属性的函数。2、操作权限——>教师——>教师特权。*教师特权包括:成绩录入、条件抽取、条件修改、排序以及删除。操作权限——>学生——>普通权限。*教师与学生

4、共同权限包括:条件查询。27Q3、操作菜单:(一级菜单)1、教师(需要帐号验证),2、学生,0、退出系统(二级菜单)1.1、成绩录入,1.2、查询,1.3、成绩修改,1.4排序,1.5、查看数据,1.6、删除1.0、返回上一层菜单(三级菜单)1.1.1、单个录入,1.1.2、批量录入,1.1.0、返回上一层菜单(三级菜单)1.2.1、学号查询,1.2.2、范围查询、1.2.3、不及格查询(两门都低于60分)(包含保存功能),1.2.0、返回上一层菜单(三级菜单)1.3.1、英语成绩修改,1.3.2、高数成绩修改,1.3.0、

5、返回上一层菜单(三级菜单)1.4.1、平均分成绩排序,1.4.2、英语成绩排序,1.4.3、高数成绩排序,1.4.4、学号排序,1.4.0、返回上一层菜单(三级菜单)1.6.1、按学号删除,1.6.2、按姓名删除,1.6.0、返回上一层菜单(二级菜单)2.1、个人查询,2.2、相近查询,2.0、返回上一层菜单(三级菜单)2.2.1、平均分相近查询,2.2.2、英语相近查询,2.2.3、高数相近查询,2.2.0、返回上一层菜单几点说明:1、在进入二级菜单时先从文件中读取数据,若没有数据则只能允许选择教师工作模式。2、进入教师工

6、作模式需要验证码,设置密码为123456,目前不支持密码修改。3、将所有功能函数设计模块化,提高代码利用率。4、利用模块化的功能函数,可以实现函数间的相互调用,实现菜单工作模式,大大降低编程难度,同时因为目前绝大多数电脑的CPU、内存等资源的性能比早期的计算机有了很大地提高,完全可以满足合理的函数调用。5、为实现学生成绩的排序功能,将采取链表的工作方式,同时利用此模式实现其他功能。6、学生属性中的学号与姓名将采用字符窜变量来标记以应对不同的学号和姓名模式。五、程序结构(包括类设计、主程序设计及流程图)学生类的设计:属性:学号

7、、姓名、英语成绩、高数成绩、平均成绩、排名、指针域方法:学号、姓名、英语成绩、高数成绩相应的修改函数,获取属性的相关函数,构造及析构函数。链表类的设计:属性:链表头、链表长度、链表是否排序、当前结点在链表中的排名。27Q方法:增加结点的函数,按学号、英语成绩、高数成绩排序、查询的函数,保存链表的函数,读取数据的函数,以学号、姓名删除结点的函数,获取排名的函数,获取属性值的相关函数。几点说明:1、将链表类作为学生类的友元类可以实现在链表方法中操作学生类,降低编程难度。2、关于主程序的设计,由于采用的是菜单操作模式,关键在于功能

8、的模块化,也就是类相关功能的实现,故主程序的设计将会相对简单,只要安排好相应函数之间的调用即可实现相应的功能。3、关于流程图,采用上述菜单功能即可实现所有流程的切换,以下将给出工作时的菜单流程。六、程序测试案例一级菜单教师二级菜单(有数据)27Q教师二级菜单(无数据)学生二级菜单增加结点菜

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。