数据结构课程设计报告-宿舍管理系统.doc
文本预览下载声明
数据结构课程设计报告
设计题目: 学生宿舍管理系统
学 院:
年级专业:
姓 名:
学 号:
指导老师:
1.设计目的
宿舍对于大学生在校生活来说相当于家的存在,而宿舍管理又是学校后勤管理的重要环节,如何直观的了解宿舍的入住情况和每位同学的住宿位置是提高工作效率的重要课题,根据我们所学的C语言和数据结构课程中有关链表及外部文件的内容,为后勤管理人员编写宿舍管理查询软件, 就可以轻松满足实现上述需求。通过实际课题设计,可以对我们加深书本知识理解,了解并掌握数据结构与算法的设计方法,培养独立分析和设计能力,掌握软件开发过程的基本方法和技能,对我们的个人素质提高大有脾益。
2.需求分析
2.1性能分析
宿舍一般由若干学生入驻,每个宿舍都有独立唯一的编号,入住学生也有唯一的学号,另外添加学生的姓名和班级,使用这些关键字就可以方便的查询和管理宿舍入住情况。程序设计应采用交互工作方式,并建立数据文件。程序应通过建立子函数实现创建、保存与载入数据文件,查找、添加、删除、更改、显示等功能,可以自动保存修改。应具有友好的界面和较强的容错能力。能够迅速准确地完成各种学生信息的统计和查询,以方便管理员对学生信息的统一管理。
2.2功能分析
为方便管理员对系统进行操作,程序应具有以下功能:
(1)创建宿舍数据文件,并提示管理员输入学生姓名、学号、宿舍号、班级等信息,并在本地保存数据文件
(2)打开宿舍数据文件:输入文件名打开保存过的数据文件
(3)查询住宿信息:提供学号、姓名、宿舍号三种查询方式
(4)添加住宿信息:在数据文件中添加新的住宿信息
(5)删除住宿信息:提示管理员输入要删除的学生姓名,验证后删除
(6)修改住宿信息:提示管理员输入要修改的学生姓名,验证后修改
(7)输出数据文件:将住宿信息按学号的大小排序全部输出
(8)退出系统
3.程序结构及流程设计
3.1系统流程图
3.2 函数设计
函数原型
函数功能
函数处理描述
void creat()
初始条件,创建新数据文件,用于存放学生信息
调用文件操作函数来实现
void readfile()
文件读取函数,打开已有的数据文件
调用文件操作函数来实现
void output()
输出函数,用于输出所有的学生信息
调用文件操作函数,并将学号作为关键字进行冒泡排序再输出
void namesearch()
查找函数,用于以姓名为关键字查询
使用指针,将关键字与记录比较,若相同则输出
void numsearch()
查找函数,用于以学号为关键字查询
使用指针,将关键字与记录比较,若相同则输出
Void dorsearch ()
查找函数,用于以房号为关键字查询
使用指针,将关键字与记录比较,若相同则输出
void add()
添加函数,以姓名为关键字加入新的学生信息
使用指针,建立一个新节点,将新信息插入原文件中
void modify()
修改函数,用于以修改已存在的学生信息,以姓名为关键字
使用指针,将关键字与记录比较,若相同则更改原纪录并保存在原文件中
void deleted()
删除函数,用于删除所选的学生信息,以姓名为关键字
使用指针,将关键字与记录比较,若相同则删除一切相关记录
void main()
主函数,用于调用子函数
按照输入的命令调用已定义的子函数
4.系统详细设计
4.1数据结构设计
typedef struct pnode //结构体定义 用于存放学生信息的节点
{char name[10]; //姓名
char num[16]; //学号
char room[30]; //宿舍号
char group[20]; //班级
}student;
char filename[20]; //文件名
FILE *fp; //指向文件的指针
4.2创建功能(void creat())
使用函数新建链表,再使用while循环完成对宿舍数据的录入,包括姓名、学号、班级、宿舍号等信息。最终将录入数据保存在数组里。完成输入后,输入#结束循环。
4.3读取功能(void readfile())
使用函数读取数据文件,根据输入的文件名加载保存在本地的数据文件,若找不到相同名称文件,则输出错误提示。
4.4查找功能 (void namesearch(),void numsearch(),void groupsearch())
通过输入选择相关的查询函数来完成查找功能,使用指针将关键字与记录比较,若相同则输出,若无相同则输出错误提示。
显示全部