宿舍管理系统c语言设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);

}

相关文档
最新文档