1、数据结构大型实验报告班 级:计算机1402姓 名:学 号:指导老师:2016年7月15日目录1 软件需求分析11.1 软件达到的目的11.2 软件功能说明11.3 设计环境12 系统设计12.1 数据结构设计12.1.1 主要数据结构类型的分析与选择(逻辑结构)12.1.2 数据结构中的数据对象以及具体的操作的确定12.2 对象设计12.2.1 系统中的类及对象12.2.2 类图设计12.3 消息设计12.3.1 对象之间的消息传递说明12.3.2 关键算法设计12.4 界面设计13 系统实现23.1 类的定义(存储结构)23.2 关键源代码的实现23.2.1 主函数源代码23.2.2 主要功
2、能的实现(功能描述、流程图或N-S图)23.3 软件测试(包括有效测试数据和无效测试数据)24 结果分析与总结24.1 结果分析24.2 总结21 软件需求分析1.1 软件达到的目的基础信息的输入。成绩的操作。查询功能。成绩统计。1.2 软件功能说明基础信息的输入:即根据输入信息新增学生,班级或课程。成绩的操作:输入指定学生的成绩,并能够对成绩进行修改或删除。查询功能:查询某学生的所有成绩,查询某个班所有学生的成绩,或查询某门课所有学生的成绩。成绩统计:以班级为单位统计不及格,及格,中,良,优的人数,或以课程为单位统计不及格,及格,中,良,优的人数。1.3 设计环境操作系统:win10 pro
3、 64位开发工具:Dev-C+新建工程2 系统设计2.1 数据结构设计2.1.1 主要数据结构类型的分析与选择(逻辑结构)学生管理,班级管理,课程管理与成绩管理中存储相应实例,使用链表存储,方便删除数据。2.1.2 数据结构中的数据对象以及具体的操作的确定数据结构中的数据对象为学生,班级,课程与成绩。 对应学生的操作为增加学生,修改学生的姓名或班级。对应班级的操作为增加班级,查看班级的学生成员,与统计班级成绩。对应课程的操作为增加课程,统计该课程的成绩。对应成绩的操作为增加成绩,修改成绩,查询成绩,与删除成绩。2.2 对象设计2.2.1 系统中的类及对象学生学生管理班级班级管理课程课程管理成绩
4、成绩管理2.2.2 类图设计系统的类图如图2.1所示。图2.1 系统类图2.3 消息设计2.3.1 对象之间的消息传递说明在设计类时设计接口,不同对象间通过接口传递消息。2.3.2 关键算法设计新增学生:同时在学生管理类和班级类中新增学生。修改学生信息:由于学生信息同时储存在学生管理类和班级类中,所以需要修改学生的话就需要同时修改学生管理类中的学生和班级类中的学生,修改班级类中的学生,通过旧班级名和学号查找到指定学生并删除,然后根据新班级名插入新学生完成修改学生信息的操作。课程成绩统计:输入课程名,在成绩管理类中搜索课程名对应的数据并统计值。2.4 界面设计根据不同的功能设计不同的界面。主界面
5、如下:0. 学生管理系统:1. 课程管理系统:2班级管理系统:3学生成绩管理系统:3 系统实现3.1 类的定义(存储结构)课程类:课程管理类:成绩类:成绩管理类:学生类:学生管理类:班级类:班级管理类:3.2 关键源代码的实现3.2.1 主函数源代码int main()int num;Score score;ClassManage cm;KchenManage kcs;StudentManage sts;init(cm, score, sts, kcs);menu();while(cinnum)switch(num)case 0:studentmenu(sts, cm);break;case
6、1:kchenmenu(kcs, score);break;case 2:classmenu(cm, score);break;case 3:scoremenu(score, sts, kcs);break;case 4:SAVE(cm, score, sts, kcs);exit(0);default:cout请输入正确数据endl;break; system(cls);menu();return 0;3.2.2 主要功能的实现(功能描述、流程图或N-S图)新增学生功能:修改成绩功能:否否是是否是删除成绩功能:3.3 软件测试(包括有效测试数据和无效测试数据)以登记成绩为例:无效数据:无效课
7、程:无效成绩(小于0或大于100):有效数据:4 结果分析与总结4.1 结果分析该程序主要功能完成(对班级,课程的增加,学生和成绩的增删改查),结构稳定,并有合理的提示。但由于时间不是特别充裕,有些模块以及整个系统还有很多不完善的地方,如界面不够美观,部分操作较为繁琐,部分实现不够简洁,操作性不太友好等。4.2 总结通过这次数据结构实验的实践训练,进一步掌握了面向对象程序开发的思维方式,加深了对面向对象开发的各种优点的理解。对如何把现实中的一些关系转化为程序中类与类之间关系的实践过程有了一点了解,提高了编程能力,培养综合分析、解决问题的能力。THANKS !致力为企业和个人提供合同协议,策划案计划书,学习课件等等打造全网一站式需求欢迎您的下载,资料仅供参考