文档详情

数据结构课程设计-宿舍管理查询软件.doc

发布:2019-01-04约1.53万字共25页下载文档
文本预览下载声明
WORD完美整理版 范文范例 参考指导 数据结构课程设计 宿舍管理查询软件 班级学号 班 学生姓名 提交日期 2015年7月24日 成 绩 计算机与通信工程学院 一、需求分析 程序设计任务 为宿舍管理人员编写一个宿舍管理查询软件。 ①程序设计要求: A. 采用交互工作方式 B. 建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种) ②查询菜单: (用二分查找实现以下操作) A. 按姓名查询 B. 按学号查询 C. 按房号查询 ③打印任一查询结果(可以连续操作) 2、功能 ①要实现交互工作方式,各项操作结束后均应返回主菜单; ②系统本无任何信息数据,要建立数据文件,需开发一个信息录入功能,即首先创建一个学员线性表,同时我们可以将数据暂时保存在内存中,所以我们未开发信息存盘功能; ③信息录入后都保存在内存中,用户看不到,需要设计一个信息显示功能,信息的显示应该便于查阅,所以需具备按各种关键字显示的功能; ④本系统按关键字(姓名、学号、房号)进行冒泡排序,采用二分查找方式分别实现按关键字(姓名、学号、房号)查询功能; ⑤由于有些同学因为不同原因而离校,所以设计了删除功能; ⑥由于有新同学入校,所以设计了插入功能; ⑦当用户操作完毕需要退出时,我们提供了退出选项,便于使用者退出交互式工作系统。 功能模块图 流程图 输入和输出 ①输入的形式 1)开始创建线性表:按先后顺序输入姓名(20个字以内),学号(整型),房号(整型)。 2)根据用户所选择的操作键,然后再根据程序的相应提示进行输入。 选择操作键1(按姓名排序):无输入; 选择操作键2(按学号排序):无输入; 选择操作键3(按房号排序):无输入; 选择操作键4(按姓名查找):输入要查找的姓名; 选择操作键5(按学号查找):输入要查找的学号; 选择操作键6(按房号查找):输入要查找的房号; 选择操作键7(按学号插入):按照提示顺序输入要插入的学生姓名,学号,房号; 选择操作键8(按学号删除):输入要删除学生的学号。 ②输出的形式及范围 根据用户选择的不同,会有不同的输出。 选择操作键1(按姓名排序):输出以姓名首字母排序的所有学生信息; 选择操作键2(按学号排序):输出按学号从小到大排列的所有学生信息; 选择操作键3(按房号排序):输出按房号从小到大排列的所有学生信息; 选择操作键4(按姓名查找):若查找成功,则输出相应学生信息,若不成功,则输 出该学生不存在; 选择操作键5(按学号查找):若查找成功,则输出相应学生信息,若不成功,则输 出该学生不存在; 选择操作键6(按房号查找):若查找成功,则输出相应学生信息,若不成功,则输 出该学生不存在。 选择操作键7(按学号插入):输出插入后的所有学生信息; 选择操作键8(按学号删除):输出所需删除的学生信息,确认删除后,输出删除后 的所有学生信息。 测试数据 开始录入的数据:姓名 学号 房号 刘备 1 102 孙权 6 231 周瑜 3 124 正确输入:查找的数据:6(按学号) 正确输出:孙权 6 231 详细设计 1、数据结构 typedef struct //定义结构体成员 { char name[20]; int num; //学号和房号都为整型 int room; }stu; stu stud; typedef struct { int length; //当前长度 stu *elem; //存储空间基址 int listsize; //当前分配的存储容量 }linklist; 2、数据 int f; f为全局变量,指选择的操作键数 char name[20]; name 为姓名 int num; num 为学号 int room; room 为房号 int length; length 为线性表的当前长度 stu *elem; elem 指示线性表的基地址 int listsize; listsize为当前分配的存储容量 char c; c 为进入主界面的任意键 c
显示全部
相似文档