数据结构大型实验报告
班 级:姓 名:学 号:指导老师:
计算机1402
2016年7月15日
页脚内容
课程设计:停车场目录
1 软件需求分析 ................................................................................................................................. 1 1.1 软件达到的目的............................................................................................................................. 1 1.2 软件功能说明 ................................................................................................................................ 1 1.3 设计环境 ........................................................................................................................................ 1 2 系统设计........................................................................................................................................ 1 2.1 数据结构设计 ................................................................................................................................ 1
2.1.1 主要数据结构类型的分析与选择(逻辑结构) ................................................................. 1 2.1.2 数据结构中的数据对象以及具体的操作的确定................................................................. 2
2.2 对象设计 ....................................................................................................................................... 2
2.2.1 系统中的类及对象 ................................................................................................................ 2 2.2.2 类图设计 .............................................................................................................................. 2
2.3 消息设计 ....................................................................................................................................... 3
2.3.1 对象之间的消息传递说明..................................................................................................... 3 2.3.2 关键算法设计 ........................................................................................................................ 3
2.4 界面设计 ....................................................................................................................................... 5 3 系统实现 ........................................................................................................................................ 8 3.1 类的定义(存储结构) ................................................................................................................ 8 3.2 关键源代码的实现 ...................................................................................................................... 11
3.2.1 主函数源代码 ....................................................................................................................... 11 3.2.2 主要功能的实现(功能描述、流程图或N-S图) ......................................................... 13
3.3 软件测试(包括有效测试数据和无效测试数据) .................................................................. 17 4 结果分析与总结 .......................................................................................................................... 19 4.1 结果分析 ...................................................................................................................................... 19 4.2 总结 ............................................................................................................................................ 20
页脚内容课程设计:停车场
页脚内容课程设计:停车场页脚内容课程设计:停车场1 软件需求分析
1.1 软件达到的目的
基础信息的输入。 成绩的操作。 查询功能。 成绩统计。
1.2 软件功能说明
基础信息的输入:即根据输入信息新增学生,班级或课程。 成绩的操作:输入指定学生的成绩,并能够对成绩进行修改或删除。
查询功能:查询某学生的所有成绩,查询某个班所有学生的成绩,或查询某门课所有学生的成绩。
成绩统计:以班级为单位统计不及格,及格,中,良,优的人数,或以课程为单位统计不及格,及格,中,良,优的人数。
1.3 设计环境
操作系统:win10 pro 64位 开发工具:Dev-C++新建工程
2 系统设计
2.1 数据结构设计
2.1.1 主要数据结构类型的分析与选择(逻辑结构)
学生管理,班级管理,课程管理与成绩管理中存储相应实例,使用链表存储,方便删除数据。
页脚内容课程设计:停车场2.1.2 数据结构中的数据对象以及具体的操作的确定
数据结构中的数据对象为学生,班级,课程与成绩。 对应学生的操作为增加学生,修改学生的姓名或班级。对应班级的操作为增加班级,查看班级的学生成员,与统计班级成绩。对应课程的操作为增加课程,统计该课程的成绩。对应成绩的操作为增加成绩,修改成绩,查询成绩,与删除成绩。
2.2 对象设计
2.2.1 系统中的类及对象
学生 学生管理 班级 班级管理 课程 课程管理 成绩
成绩管理
2.2.2 类图设计
系统的类图如图2.1所示。页脚内容
课程设计:停车场
图2.1 系统类图
2.3 消息设计
2.3.1 对象之间的消息传递说明
在设计类时设计接口,不同对象间通过接口传递消息。
2.3.2 关键算法设计
新增学生:
页脚内容课程设计:停车场
修改学生信息:
同时在学生管理类和班级类中新增学生。
由于学生信息同时储存在学生管理类和班级类中,所以需要修改学生的话就需要同时修改学生管理类中的学生和班级类中的学生,修改班级类中的学生,通过旧班级名和学号查找到指定学生并删除,然后根据新班级名插入新学生完成修改学生信息的操作。
课程成绩统计:
页脚内容课程设计:停车场
输入课程名,在成绩管理类中搜索课程名对应的数据并统计值。
2.4 界面设计
根据不同的功能设计不同的界面。
主界面如下:
页脚内容课程设计:停车场
0. 学生管理系统:
1. 课程管理系统:
页脚内容课程设计:停车场
2.班级管理系统:
3学生成绩管理系统:
页脚内容课程设计:停车场
3 系统实现
3.1 类的定义(存储结构)
课程类:
课程管理类:
页脚内容课程设计:停车场
成绩类:
成绩管理类:
学生类:
页脚内容课程设计:停车场
学生管理类:
班级类:
页脚内容课程设计:停车场
班级管理类:
3.2 关键源代码的实现
3.2.1 主函数源代码
{
int num;
页脚内容int main()
课程设计:停车场
Score score; ClassManage cm; KchenManage kcs; StudentManage sts; init(cm, score, sts, kcs); menu(); while(cin>>num) {
switch(num){
case 0:
studentmenu(sts, cm); break;
case 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<<\"请输入正确数据\"< } } system(\"cls\"); menu(); return 0; 3.2.2 主要功能的实现(功能描述、流程图或N-S图) 新增学生功能: 页脚内容课程设计:停车场 修改成绩功能: 页脚内容课程设计:停车场否 是 否 是 否 是 页脚内容 课程设计:停车场 删除成绩功能: 页脚内容课程设计:停车场3.3 软件测试(包括有效测试数据和无效测试数据) 以登记成绩为例: 无效数据: 无效课程: 页脚内容课程设计:停车场 无效成绩(小于0或大于100): 有效数据: 页脚内容课程设计:停车场 4 结果分析与总结 4.1 结果分析 该程序主要功能完成(对班级,课程的增加,学生和成绩的增删改查),结构稳定,并有合理的提示。但由于时间不是特别充裕,有些模块以及整个系统还有很多不完善的地方,如界面不够美观,部分操作较为繁琐,部分实现不够简洁,操作性不太友好等。 页脚内容课程设计:停车场4.2 总结 通过这次数据结构实验的实践训练,进一步掌握了面向对象程序开发的思维方式,加深了对面向对象开发的各种优点的理解。对如何把现实中的一些关系转化为程序中类与类之间关系 的实践过程有了一点了解,提高了编程能力,培养综合分析、解决问题的能力。 页脚内容 因篇幅问题不能全部显示,请点此查看更多更全内容