宿舍管理系统c语言设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河南工程学院《数据结构》课程设计
成果报告
姓名
学号
学院计算机学院
专业班级计算机科学与技术1521
专业课程数据结构
指导老师李芳
2016年6月20日
河南工程学院计算机学院
课程设计报告书
课程设计题目:
课程设计时间:6月20日~6月24日
课程设计地点: 计算机学院1201
课程设计单位: 计算机学院
指导教师: 李芳学院院长: 曲宏山
目录
目录
1 设计目标 (1)
2 课题分析1ﻩ
2、1需求分析 (1)
2、2 存储结构设计....................................... 22、3算法设计及其分析2ﻩ
2、4程序流程图11ﻩ
3程序清单12ﻩ
4系统测试 ............................................. 304、1测试数据30ﻩ
4、2测试结果31ﻩ
5总结 ................................................. 33 5、1收获 .. (33)
5、2不足 ............................................. 335、3算法改进分析...................................... 33
1 设计目标
随着计算机技术得发展以及网络得发展,对学生宿舍得管理与控制越来越实用并且得到管理者得证实,无论就是查询还就是修改都有很方便,查询得信息一目了然。这个程序包含了学生宿舍信息得录入、修改,学生楼栋信息得录入、毕业生得退舍、智能分配宿舍等功能,但不能进行删除得操作,总体来说使用简单方便。这个程序应该满足以下几个要求:
(1)信息得输入:需要建立起完整得宿舍信息数据库,从而实现通过输入学生入住得楼栋号、宿舍号,该宿舍入住得人数以及入住得学生
得信息(包括学生得姓名、学号与系别),来添加学生信息,实现信
息录入。
(2)信息得修改:进行信息输入后,过一段时间后,想要对里面得信息进行修改,可以通过学号等关键字对其进行修改。
(3)信息得查询:这个程序应该可以实现通过按学号或房号进行查找得过程。在此使用得就是折半法,查找过程就是:先确定待查记录所在
得范围(区间),然后逐步缩小范围直到找到或找不到该记录为止。
这样可以缩短查找时间,同时还可以减少查找得次数。
(4)退出程序:当完成了所有得操作之后就要进行退出操作了。
2 课题分析
2、1需求分析
学生宿舍管理就是一个很大得项目,在早期,还没有利用计算机管理时,一切都就是利用人工进行管理得,这样管理起来既烦琐又复杂,资料也很容易被丢失,而且耗时、耗资金。而利用本系统,可以高效地对学生宿舍进行统一管理与控制,资料也不容易被丢失,这样大大节省了人力与资源,提高了管理效率,给管理人员带来很多方便,基于以上分析有如下分析:
(1)要实现交互工作方式,各项操作结束后均应返回主菜单。
(2)系统本无任何信息数据,要建立数据文件,需要开发一个信息录入功
能,即首先创建一个学员线性表,同时我们可以将数据暂时保存在内
存中,所以我们开发信息存盘功能;
(3)信息录入后都要保存在内存中,用户瞧不到,需要设计一个信息显示功能,信息得显示应该便于查询,所以需要具备按各种关键字显示得
功能;
(4)由于有些新同学入校,所以设计了插入功能;
(5)当用户操作完毕需要退出时,提供了退出选项,便于使用者退出交互式工作系统
2、2 存储结构设计
本系定义得存储结构为顺序存储结构,结构体为
typedefstruct{
ﻩchar ID[20]; //学号
char name[20]; //姓名
ﻩchargender[10]; //性别
ﻩchar dormitory[4];//宿舍号
}Student;
typedef struct{
char ID[4]; //宿舍号
ﻩint max_num; //可容纳人数
ﻩint current_num; //已入住人数
ﻩchar gender[10];//男舍或女舍
2、3算法设计及其分析
在此系统中,根据对查阅资料得了解,我们对宿舍人员得信息以及各种函数进行了定义,具体如下:
(1)将宿舍人员信息定义为一个名字为typedef struct得结构体,其中包括charID{20},charname[20],cahr gender[10],chard ormitory[4]分别表示学号、姓名、性别与宿舍号,将宿舍信息定义为一个名字为typedef struct得结构体,其中包括char ID[4],char m ax_num,char current_num,char gender[10],分别就是宿舍号、可容纳
人数、已入住人数、男舍或者女舍。
(2)功能函数加上主函数一共有十二个,功能函数包括create(),open(),insert_dorm(),insert_stu(),dormnumsearch(),change(),namese arch(),check_out(),numsearch(),exchange(),display(),main(),分别用新增楼栋,新增宿舍信息,新增学生入住宿舍信息,毕业生退舍,互换宿舍,姓名查询,学号查询,宿舍号查询,互换宿舍,调换宿舍,职能分配宿舍,退出本系统得功能。
(3)在主函数中,使用一个while语句来选择调用主菜单中得各个功能函数。
由于本人负责新增宿舍楼栋,新增宿舍信息,新增学生宿舍信息得功能,所以操作如下:
单击数字键“0”则为新增楼栋信息
单击数字键“1”则为新增宿舍信息
单击数字键“2”则为新增学生宿舍信息
在每次操作前都要输入相应得编号。
各功能函数得具体实现如下:
void create(){
ﻩprintf("\n请输入新增楼栋名称:\n");
ﻩscanf("%s", );
ﻩ_fp = fopen(,"rb+");
if (_fp == NULL){ //如果文件不存在则建立文件否则提示文件已存在
ﻩ_fp = fopen(, "wb+");
ﻩfp=fopen(strcat(, "学生"), "wb+");
ﻩﻩif (fp == NULL || _fp == NULL){
ﻩprintf(" open!\n");
ﻩﻩﻩexit(-1);
ﻩ}
ﻩ}
ﻩelse
ﻩprintf("文件已存在!\n");
fclose(fp);
fclose(_fp);
}