数据结构课程设计宿舍管理系统的设计与实现

上传人:cn****1 文档编号:507010673 上传时间:2022-07-21 格式:DOC 页数:27 大小:304.02KB
返回 下载 相关 举报
数据结构课程设计宿舍管理系统的设计与实现_第1页
第1页 / 共27页
数据结构课程设计宿舍管理系统的设计与实现_第2页
第2页 / 共27页
数据结构课程设计宿舍管理系统的设计与实现_第3页
第3页 / 共27页
数据结构课程设计宿舍管理系统的设计与实现_第4页
第4页 / 共27页
数据结构课程设计宿舍管理系统的设计与实现_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《数据结构课程设计宿舍管理系统的设计与实现》由会员分享,可在线阅读,更多相关《数据结构课程设计宿舍管理系统的设计与实现(27页珍藏版)》请在金锄头文库上搜索。

1、 宿舍管理系统的设计与实现 第 2 页 共 27 页 宿舍管理系统的设计与实现学生姓名:* 指导老师:*摘 要 数据结构课程设计的目的是,通过设计掌握数据结构课程中学到的基本理论和算法并综合运用于解决实际问题中,它是理论与实践相结合的重要过程。设计要求学会如何对实际问题定义相关数据结构,并采用恰当的设计方法和算法解决问题,同时训练学生进行复杂程序设计的技能和培养良好的程序设计习惯。宿舍管理是对每栋楼房所有宿舍的一个详细情况登记,每个宿舍在数据库里面的信息都是就静态的只有里面的实住人数是动态增加的,当某个宿舍增加或减少一个学生实住人数会自动加1或减1,实现动态增减。关键词 C语言;姓名;文件操作

2、1 引 言1.1 课题背景在社会飞速发展的今天,用计算机来管理宿舍信息是发展必然趋势,又因为宿舍种类和学生的不断增加,对于管理造成了困难。以往的宿舍管理方法,查询速度慢,管理困难,容易丢失数据,已经不适合现在的要求。为克服宿舍管理的困难,和查询的不便。采用计算机来管理宿舍和学生的信息,大大提高了查询的速度,节约了人力和物力资源,达到了预期的要求1。二十一世纪的今天,已经是计算机的时代。计算机已经进入了现代社会的各个领域,计算机世界日新月异地发展着,在Microsoft公司的 Windows操作系统被成千上万的用户所使用的今天,开发Windows下的图形用户界面程序对于广大的程序员来说已经成为一

3、件刻不容缓的事。开发数据库程序已经一个重要的领域,如今,各种数据库的开发出不穷,而 C语言以其完美的界面,方便的操作,强大的功能在各种数据库开发独树一帜。作为微软公司的重点产品,C语言具有其它数据库开发所无法比拟的优势,它易学易用,因此得到了广大软件开发人员及计算机爱好者的青睐,成为了人们的得力助手。过去的单位一般都用人工来管理信息,这样既不方便又容易发生错误,还占用了大量的人员和物资,现在这些已经成为过去,用计算机来管理可以非常容易的实现这些要求。 用计算机来管理各种数据信息,是世界发展的需求,也是社会发展的趋势。在学校的宿舍管理中,也存在着这种问题,为了提高办事效率,急需开发一套操作简单方

4、便的管理系统。此次课程设计就是为了解决这种问题而设计的。根据调查得知我校宿管科需要一个对学生住宿情况进行管理的软件,于是便起草了这份设计报告。据了解,我校宿管科是管理学生住宿、出勤、卫生、纪律等方面的后勤部门,属于后勤集团的一部分。住宿方面,他们主管住宿学生登记,在新生入学时,一般由新生持入学通知书来办理各种入学手续,然后再拿学校财务部门开具的收据到所在校区宿舍服务公司办理登记手续。这些大量的登记数据形成数据库。在卫生和出勤(早操)检查方面,有纪律检查部的人员定期来检查,检查结果交送宿舍服务公司处理,然后再送交各院系。如有违纪人员,则先交值班室处理然后交各院系,使情况轻重决定是否交给自律委员会

5、处理。在硬件设施(如:桌子、凳子、床)方面,如果有坏掉的,到各个楼的值班室来报修,填一张报修表,然后持保修表到所在校区后勤集团相关服务部门办理报修事宜。同时,如有物品要分发,楼里值班室应通知各寝室长来值班室领取,值班室有自己的仓库,分发情况要上报。各楼值班室的登记数据自己保存,以方便学生家长查找学生。 241.2 课程设计的目的(1)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; (2)训练学生灵活应用所学数据结构的基本知识,熟练的完成问题分析、算法设计、编写程序,求解出指定的问题;(3)训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高

6、编程水平,并在此过程中培养严谨的科学态度良好的工作作风;(4)提高综合运用所学的理论知识和方法独立分析和解决问题的能力。1.3课程设计内容图1 功能模块图2 设计思路2.1设计内容 为宿舍管理人员编写一个宿舍管理查询软件。 要求:(1)建立数据文件,数据文件按关键字(姓名,学号,房号)进行排序(冒泡,选择,插入排序等任意一种)(2)查询菜单(用二分法实现以下操作) 按姓名查询 按学号查询 按房号查询2.2基本要求(1)系统功能的完善;(2)代码中有必要的注释。3 详细实现3.1 设计概述图2 设计概述图图3宿舍管理系统流程图3.2 函数设计(1)需要定义一个结构体:57typedef stru

7、ct pnode /结构体定义 用于存放学生信息的节点 char name 8; /姓名 char xh16; /学号 char fh30; /房号personnode;用来存储学生的信息。(2) create() /初始条件:必须保证原有记录是空时方可建立 操作结果:建立一个新的数据文件(3) readfile() / 初始条件:数据文件已经建立 操作结果:获取次文件的信息 (4)serch1()按姓名查找serch2()按学号查找serch3()按宿舍号查找初始条件:数据文件中含有纪录操作结果:不支持模糊查询必须查询项和关键字吻合情况下才可查询。调用按不同关键字查询的子函数若存在相应的查询

8、结果则显示在屏幕上,若查找的纪录不存在则提示该纪录不存在,请建立相应的数据纪(5)insert() /添加数据纪录的函数初始条件:必须已经建立了数据文件操作结果:在数据文件中添加新的纪录若没有建立数据文件则添加失败。(6) delete() /删除数据纪录的函数初始条件:必须建立了数据库并且数据文件中含有数据纪录操作结果:删除输入学号的学生的一切相关纪录(7)updata() /修改数据纪录的函数初始条件:必须建立了数据库并且数据文件中含有数据纪录操作结果:修改输入的学号相对应的学生的一切信息。如不存在相应的纪录则提示不存在(8)output() /输出函数 初始条件:数据文件已经建立 操作结

9、果:起泡法排序 按学号顺序输出记录本程序包含10个函数:主函数main()新建数据文件create()查询函数serch1()查询函数serch2()查询函数serch3()加数据纪录函数insert()删除数据纪录函数delete() 修改数据纪录函数updata()数据文件读取函数readfile () 查询当前所有纪录冰按学号升序输出的函数output()3.3各函数间关系利用主函数调用其他的各个函数,新建数据文件函数create()是其它各个函数的基础,有了它其它函数才能够使用。查询函数insert1.2.3()添加数据纪录函数insert()删除数据纪录函数delete ()修改数据

10、纪录函数updata ()这些函数都是在同一等级上的函数,是平行关系。查询当前所有纪录的函数output()以学号为关键字查询函数serch1()以姓名为关键字查询函数serch2()以床号为关键字查询函数serch3()以宿舍号)这些函数都是查询函数中的子函数,他们之间是平行的关系。4 功能模块详细设计与结果4.1 模块详细设计810(1) 主函数main() 通过swich分支 构建图形用户界面 一次调用其他模块完成总体功能;(2)新建数据文件create()为节点分配内存 创建二进制文件用于存储学生信息 通过一个循环 一次录入学生信息闭文件(3) 查询函数serch1() 打开文件 遍历

11、整个文件找到与指定姓名匹配的信息 输出查询到的信息 关闭文件(4) 查询函数serch2() 打开文件 遍历整个文件找到与制定学号匹配的信息 输出查询到的信息 关闭文件(5) 查询函数serch3() 打开文件 遍历整个文件找到与制定床号匹配的信息 输出查询到的信息 关闭文件(6) 加数据纪录函数insert() 打开文件 将制定记录插入到文件的末尾 关闭文件(7) 删除数据纪录函数delete() 打开文件 遍历文件找到与制定姓名匹配的记录 并删除 关闭文件(8) 修改数据纪录函数updata() 打开文件 遍历整个文件找到与制定姓名匹配的记录并修改 关闭文件(9) 数据文件读取函数read

12、file () 打开文件 读取文件 关闭文件(10) 查询当前所有纪录冰按学号升序输出的函数output() 打开文件 遍历文件(嵌套遍历) 依次比较学号大小 用起泡法进行排序 遍历文件 依次输出文件中的记录4.2运行结果 采用模块化编程思想,将程序划分为11个模块,在逐个模块细化编程,最后再将个个模块组装成软件。如图所示:图4 进入页面图按0就可以创建一个新的数据文件,如 C:zjy 就是在C盘根目录下创建一个名为zjy的文件,用来存放宿舍内的学生信息图5 创建新数据文件界面按1可打开一个旧的数据文件,如 C:godlike 打开C盘根目录下的godlike文件(注意必须是已经创立的)按2可

13、按姓名查询图6按姓名查询界面按3可按学号查询按4可按房号查询图7按房号查询界面按5可以进行修改图8 修改界面按6可以进行删除图8 删除界面按7可以进行插入按8 起泡法对文件内的学生信息按学号升序排序 并输出按9 退出5 结束语对我们这一学期实际学到的内容的检验,在课程设计的同时不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正的掌握,从而提高自己的实际动手能力和独立思考的能力。要学好数据结构这门课程,不仅要认真的阅读课本知识,更重要

14、的是要通过上机实践才能增强和巩固对课本知识的理解。首先通过实践我发现了自己许多的不足,尤其是露出了对C语言知识基础的掌握不好,许多简单的东西都不知道。在课本上看到各种算法感觉很简单,但是真正的让自己去写一个算法感觉很困难。即使是课本上的原程序算法,自己写起来都感觉有点生疏。在调试过程中经常出现的错误也不是很熟悉。通过实践,使我在这几个方面的认识有所提高。通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习数据结构,还是其它的课程,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己更好地学好计算机。回顾起此次数据结构课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践参考文献1 孙立民. 谈转换机制.实现宿舍管理与学生工作的有机统一 1998 2许海明. 浅谈宿舍管理与学生的思想教育和精神文明建设 1998 3姬莉莉. 高校学生宿舍公寓化管理与服务 期刊论文 - 南开大学 2002 4王新华. 高校学生宿舍公寓化趋势研究 期刊论文 - 南开大学 2001 5阳剑兰.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号