文档详情

课程设计-宿舍管理查询系统..doc

发布:2017-01-24约2.14万字共28页下载文档
文本预览下载声明
信息科学与技术学院 《数据结构》课程设计报告 题目名称: 专业班级: 学生姓名: 学生学号: 指导教师: 宿舍管理查询软件 计科(1)班 曹源 2014508001 高攀 完成日期: 2015 年 11 月 目 录 一 需求设计 2 二 概要设计 3 三 详细设计 4 四 调试分析 10 五 用户手册 11 六 测试结果 12 七 附录,源程序文件名清单 16 一 需求设计 1.1任务: 为宿舍管理人员编写一个宿舍管理查询软件 1.1.1程序设计要求: ①采用交互工作方式 ②建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种) 1.1.2查询菜单: (用二分查找实现以下操作) ①按姓名查询 ②按学号查询 ③按房号查询 1.1.3打印任一查询结果(可以连续操作) 1.2功能: 根据上述要求,我们开始考虑系统应具备的功能: ①要实现交互工作方式,各项操作结束后均应返回主菜单; ②系统本无任何信息数据,要建立数据文件,需开发一个信息录入功能,即首先创建一个学员线性表,同时我们可以将数据暂时保存在内存中,所以我们未开发信息存盘功能; ③信息录入后都保存在内存中,用户看不到,需要设计一个信息显示功能,信息的显示应该便于查阅,所以需具备按各种关键字显示的功能; ④本系统按关键字(姓名、学号、房号)进行冒泡排序,采用二分查找方式分别实现按关键字(姓名、学号、房号)查询功能; ⑤由于有些同学因为不同原因而离校,所以设计了删除功能; ⑥由于有新同学入校,所以设计了插入功能; ⑦当用户操作完毕需要退出时,我们提供了退出选项,便于使用者退出交互式工作系统。 二 概要设计 2.1线性表的顺序存储 2.1.1存储结构 本系统定义的存储结构采用结构体数组,结构体为: typedef struct //定义结构体成员 { char name[20]; int num; //学号和房号都为整型 int room; }stu; stu stud; typedef struct { int length; //当前长度 stu *elem; //存储空间基址 int listsize; //当前分配的存储容量 }linklist; 在此说明每个部分的算法设计说明(可以是描述算法的流程图) 2.1.2程序结构图为: 三 详细设计 //采用顺序性表解决宿舍管理问题 (C语言) #includestdio.h #includestdlib.h #includestring.h #define N 40 //表存储空间的初始分配量 #define increase 10 //表存储空间的分配量增量 int f,t=0; //定义全局变量 typedef struct { char name[20]; int num; //学号和房号都为整型 int room; }stu; stu stud; typedef struct { int length; //当前长度 stu *elem; //存储空间基址 int listsize; //当前分配的存储容量 }linklist; void init(linklist l)//线性表初始化 { l.length=0; l.elem=(stu *)malloc(N*sizeof(stu )); l.listsize=N; } void menu()//操作菜单 { printf(\n); printf( ***************请按键选择操作****************\n); printf(\n);printf(\n); printf( 1 按姓名排序 2 按学号排序\n); printf(\n); printf( 3 按房号排序 4 按姓名查找\n); printf(\n); printf( 5 按学号查找 6 按房号查找\n); printf(\n); printf( 7 按学号插入 8 按学号
显示全部
相似文档