文档介绍:《数据结构》期中考试实验报告
课程名称:数据结构
年级:2011级
成绩:
指导教师:黄襄念
姓名:廖加凯
学期:2011-2012-2
实验名称:期中考试
学号:3120**********
吋间:14周
一、 开发环境
操作系统:Windows XP等。
开发工具:不限。
依赖文档:略。
二、 运行环境
:程序能够运行的操作系统,Windows XP, 等。
2依赖文档:略
三、 程序说明
1该程序的由多种函数实现,每个函数具有不同的功能,主要有主菜单函数,插入功 能子菜单函数,查找功能子菜单函数,学生信息录入函数,显示函数,排序函数,插入函数 以及查找函数。在每个区域中会调用不同的函数来实现主要的功能。比如,在学生显示这个 功能里调用显示函数;在插入功能里调用子菜单函数;在显示信息时调用排序函数先对需要 输出的信息进行排序,然后再输出;在查找功能里会调用查找函数来进行查找,包括按照性 别,学号,姓名,房间号等查询。
而最主要的函数有
〈1〉插入函数,它用尾插法来实现;
〈2>排序函数,用快速排序函数来实现;
〈3〉查找函数,用逐个查找法;
2流程图设计,系统功能模块设计。
本系统分为四个模块:查找子菜单、信息录入、信息显示、查找功能子菜单。得到如图3-1 所示的系统功能模图
图3-1系统功能模块
根据用户需求不同,将系统划分了不同的功能模块,而依据不同的功能模块编写不同的程 序模块,具体如下:
〈1〉信息录入模块(即为程序中的shuru ()函数)
〈2〉信息插入模块(即为charu ()函数)
〈3〉信息查询模块(即为程序中的chazhao ()函数,包括chazahol () , chazaho2 (), chazaho3 ()三个了函数)
〈4〉信息显示模块(即为程序中的so讥()函数)
而各个函数之间由一个switch结构联系起来,而学生信息的连续输入或者连续查找则由相 应的do-while结构来实现,从而实现各个模块之间的紧密衔接。
3程序运行时的主界面截图:
4主要模块说明:
根据用户需求不同,将系统划分了不同的功能模块,而依据不同的功能模块编写不同的程 序模块,具体如下:
〈1〉信息录入模块(即为程序中的shuru ()函数)
〈2>信息插入模块(即为charu ()函数)
〈3〉信息查询模块(即为程序中的chazhao ()函数,包括chazahol () , chazaho2 (), chazaho3 ()三个子函数)
〈4〉信息显示模块(即为程序中的sort ()函数)
而各个函数之间由一个switch结构联系起来,而学生信息的连续输入或者连续查找则由相 应的do-while结构来实现,从而实现各个模块之间的紧密衔接。
四、程序测试
为保证程序的正确性,有较少Bug,需进行各种测试
针对程序的主要模块,给出测试内容、方案、结论:
、功能、输入/输出、传入/传出参数个数与数据类型;
1)测试内容
根据模块的功能、输入输出、参数等,需要测试以下内容:
主菜单显示
信息录入界面
插入学生信息界面
查找学生信息界面
2)测试方案
按照提示输入1、2、3、4、5、即可。
主菜单显示测试正常。
对信息输入界面,输入1时录入信息
测试输入的数据为学号:1,姓名:a,性别:g,寝室号:1; 测试结论:正常
对插入信息界面的测试
测试输入的数据为学号:3,姓名:c,性别:b,寝室号:3;
测试结果:正常
查找学生信息界面
测试结果:正常
五源程序代码
#include <> #include<iomanip> #include<fstream> # include <> #include<> # define N 20
******************* 自 ^^^^* ****** ********** *******
void showheader(); 〃声明显示表头部分
int menu(); 〃声明主菜单函数
int menu3(); 〃声明插入功能子菜单函数
int menu5(); 〃声明查找功能子菜单函数 //int quanxian(); 〃声明用户权限管理函数 //void SavePass(); 〃密码显示为"*"的函数 struct student shuru(); 〃声明学生信息录入函数 void display(struct student); //声明显示函数 void sort(struct student stu[N],int,int);