《课程设计之宿舍管理系统.doc》由会员分享,可在线阅读,更多相关《课程设计之宿舍管理系统.doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构课程设计(论文)题 目宿舍管理系统作 者路帅帅院 (系)信息工程学院专 业信息管理于信息系统指导教师吴敏宁答辩日期2013-11-摘 要在当今信息技术迅猛发展,知识更替日新月异的时代,信息技术为企业的发展提供了机遇,也带来了挑战。使用传统人工的方式管理宿舍,存在着许多缺点,而使用计算机对学生信息进行管理,有着手工管理所无法比拟的优点,这些优点能够极大地提高高校宿舍管理系统效率,也是学校走向科学化、正规化管理,与世界接轨的重要条件。 高校学生宿舍管理系统的开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于后台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性
2、好的库。而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。旧的手工纪录的宿舍管理方式已经不能适应高速发展的信息化时代,新的宿舍管理系统开发出来之后,学校的现有的宿舍信息管理将有很大的改观,由过去的人工方式转变为计算机方式,由效率低、数据冗余、易产生错误转变为检索迅速、查找方便、可靠性高、存储量大。这些优点能够极大地提高效率,也是学校科学化、正规化管理的重要条件本系统是采用Visual C+ 6.0作为开发工具。关键词: Visual C+ 6.0, 宿舍管理ABSTRACTIn todays rapid development in informat
3、ion technology, knowledge era of change with each passing day, information technology offers opportunities for business development, also poses a challenge. With traditional manual management of the hostel, there were many shortcomings, which uses computers to manage student information, manual work
4、ing the incomparable advantages, these advantages can greatly improve the efficiency of dormitory management system in colleges and universities and schools to the scientific, standardized management, and important condition for the rest of the world. Development of University students dormitory man
5、agement system mainly includes the backend database creation and maintenance, as well as two front-end application development. Background the establishment and maintenance of databases requires building strong data consistency and integrity, data security is good. For front-end application developm
6、ent application provides powerful capabilities for data manipulation is required, user friendly, easy to use features. Hostel in the old manual records management has been unable to adapt to the rapid development of the information age, new dormitory management system developed after school is very
7、different from existing hostels information management will change from the previous manually into a computer, produced by a low efficiency, data redundancy, error into rapid retrieval and search for convenient, high reliability and large memory capacity. These advantages can greatly improve the eff
8、iciency of important conditions for scientific and standardized management of school Visual C+6.0 this system is used as development tools. Keywords: Visual C+ 6.0, management of dormitory目 录1 绪论11.1 课题背景及研究意义11.1.1 课题背景11.1.2 研究意义11.2 课题研究的现状21.3 课题主要研究内容21.4该课题的论文结构31.5小结32 系统相关工具52.1 visiual42.2小
9、结53 系统需求分析53.1系统的可行性分析53.1.1技术可行性53.1.2 经济可行性63.1.3 操作可行性63.1.4 社会可行性63.1.5 可行性研究结论63.2 用户需求分析63.2.1 功能分析63.3 系统软硬件要求63.4 小结74 系统概要设计84.1 系统功能模块设计84.2小结105 系统详细设计与实现115.1 系统功能模块设计115.1.1 输入记录模块125.1.2显示记录模块135.1.3 按房间号排序模块135.1.4 按学号排序并显示模块145.1.5插入一条记录,按学号排序显示模块145.1.6按姓名查找,删除一条记录模块155.1.7 查找并显示一条记
10、录模块156 源代码157 总结23参考文献25致 谢251 绪论本章主要将介绍学生宿舍管理的背景,现状和发展前景。在此基础上分析系统的研发意义和目的,在此同时本文作者将对本文涉及的内容做概要的说明。1.1 系统开发的背景高校学生宿舍管理系统的开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于后台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的库。而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。旧的手工纪录的宿舍管理方式已经不能适应高速发展的信息化时代,新的宿舍管理系统开发出来之后,学校的现有的宿舍信息管理将有很
11、大的改观,由过去的人工方式转变为计算机方式,由效率低、数据冗余、易产生错误转变为检索迅速、查找方便、可靠性高、存储量大。这些优点能够极大地提高效率,也是学校科学化、正规化管理的重要条件。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对宿舍进行管理,有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。1.2系统开发的意义1) 更加方便了管理
12、宿舍员管理宿舍学生的基本信息和宿舍的住宿情况。2) 方便了管理员和辅导员可通过学号查找和修改学生的信息更加。3) 超级管理员可查看并且添加系部管理员和宿舍管理员的信息。4) 使系部管理员可以快速查看和添加辅导员信息。5) 能够使每个用户熟练的使用本系统。总之是为了提高高校学生宿舍管理部门的工作效率;充分利用资源;减少不必要的人力,物力和财力的支出;方便宿舍管理部门的工作人员全面地掌握学生住宿情况等目的;为宿舍管理开发设计专用系统-宿舍管理系统来进行管理学生宿舍信息,使学生宿舍信息实现标准化的管理和规范化的制度是十分必要的。 本系统主要针对高校的学生宿舍情况而专门设计,目的就是为高校的宿舍管理提
13、供一种高效率的方式。减轻宿舍管理人员的工作量。当前很多高校的宿舍管理采用手工的方式,由于高校的人员多,这无疑在工作量上给宿舍管理人员带来了很大的麻烦,而且常常由于疏忽造成很多的错误。因此,用计算机来代替手工的管理方式是很有效的。再者,由于计算机技术的发展,本系统的开发也是完全可能的。1.2 课题研究的现状 当今社会,随着学校的规模不断扩大,教职工数量急剧增加,有关教职工的各种信息也成倍增长特别是学生公寓,而面对庞大的信息量,有必要开发学生公寓管理系统来提高学管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。在学校,尤其是在各大高校,对于学生公
14、寓的档案信息管理是相当重要,而且也是相当麻烦的,它是学校学生公寓管理中最基本的一项常规性工作。而长期以来,学校学生公寓管理都是依赖人工来进行管理的,面对如此众多的学生公寓,其工作量是相当巨大的。这样不仅仅浪费了大量的人力物力,而且由于人工管理存在着大量的不可预知性,造成学生公寓管理的一些不规范,使得信息管理陷入“事倍功半”的地步。开发本系统就是为了解决学校在学生公寓管理中的一些不规范,使学生公寓的管理向着规范化、简单化、有效化的方向发展。1.3 课题主要研究内容宿舍管理系统是学校管理系统的组成部分,系统方便了管理人员对学生的管理和查询,提高学校的管理工作的效率。本课题是针对某个高校,开发一个学
15、生宿舍管理系统,将宿舍通过网络来进行管理,这样有利于运用计算机技术及网络技术更有效的进行宿舍管理,为学生、教师和相关人员提供便利。系统主要用户为管理人员。该内容包括:对学生进行录入、删除、添加、查找等。1.4 该课题的论文结构论文共分为六章,各章主要内容如下:第一章:绪论。提出项目背景、研究对象及其国内外研究现状,介绍本文的研究内容及主要工作和组织结构。第二章:系统相关软件介绍。简要介绍宿舍管理系统所有的软件工具以及技术。第三章:系统需求分析。简要描述了系统的可行性分析、需求分析以及设计目标分析等。第四章:系统的概要设计。第五章:系统的详细设计与实现。第六章:系统的部署与测试。主要介绍了系统的
16、运行和测试。第七章:结论。对开发的系统做了总结,指出了存在的不足之处,提出了以后需要进一步完善的工作。1.5小结本章主要对学生宿舍管理系统的背景以及研究意义做以介绍,并简要介绍了国内的研究现状及技术支持,以及对各种技术进行对比,经过比较发现国内的各个学校的管理对网络的使用及普及有很大的提升空间,而且得出学生宿舍管理系统是值得开发、研究和发展的。在本章的后面,主要对课题的主要工作进行规划以及对本系统的论文结构进行简单的规划描述。 2 系统相关工具2.1 Visual C+ 6.0Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后
17、,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了Visual C+.NET(Visual C+7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。Visual C+6.0不仅是一个C+编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向
18、导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。 2.2系统体系结构介绍 Visual Studio 6.0提供了新的基于工作组开发功能,包括一个分布式的Web项目模型,Visual SourceSafe 6.0控件系统,Microsoft Repository 2.0以及可视化的组件管理器。分布式的Web项目模型,Visual Studio 支持Web方案的分布式和基于工作组的开发。新的功能包括开发人员独立模式和脱机工作模式。所有授权的操作都是基于HTTP的,它使得地理上分布的工作组可以一起工作,Microsoft Fr
19、ontPage网站的创建和管理工具能共享这个项目模式,因此那些非编程人员也能够使用Visual Studio 与工发人员一同工作。Visual SourceSafe 6.0。Visual SourceSafe维护工作组项目中的源代码,并用工作组中的任何一个工具提供了对网络化的,基于工作组开发的文件锁定功能。Microsoft Repository 2.0 是一个用于存放由微软的工具和第三方工具创建的项目组件的开放式知识库。这个知识库通过可视化的组件管理器与该组件中的所有工具都继承在一起。可视化的组件管理器2.0。当开发人员用可视化的组件管理器在工作组中工作时,他们可以很容易查找,跟踪,编目分类
20、以及重用这些组件以及其他的项目组件。可视化的组件管理器使得给Microsoft Repository(知识库)中发送和获取信息都变得非常容易,并支持对组件的编目分类,如:ActiveX控件,COM组件,Visual Modeler ,Java Applet,HTML和Active Server Page,源代码以及项目说明。2.2 小结这一章介绍了宿舍管理系统的主要开发工具Visual C+行简要介绍。3 系统需求分析本章主要介绍了系统的可行性分析以及用户的需求分析内容。系统的可行性分析必须要了解该系统所要实现的功能有哪些,这些功能的设计理念与设计方法直接影响到后面开发的进度安排。而用户需求分
21、析则是主要了解用户的需求,该系统主要的需求是学生宿舍人员的管理。只有了解这些需求之后才能更好的对本课题进行实现。所以,在开发系统前,系统的可行性分析与用户的需求分析是是至关重要的,也是必不可少的工作。3.1 系统的可行性分析可行性分析,即用最小的代价、在尽可能短的时间内确定问题是否能够解决。在澄清了问题定义之后,分析员首先应该导出系统的逻辑模型,然后从系统逻辑模型出发,探索出若干种可供选择的主要解法(即系统实现方案)12。最后仔细研究每种解法的可行性。系统的可行性分析,是针对要设计的系统,研究其设计是否存在内外部的必要条件,包括技术上、资金上、经济上、人力资源以及组织管理上的必要条件,同时要分
22、析在目前条件下是否有必要设计这样一个系统。3.1.1 技术可行性1. 硬件、软件此系统对计算机硬件和软件的需求并不高,仅需要一台装有Visual C+软件的计算机即可。一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的程序设计语言已非常成熟,要运用visual c+进行管理。2. 所用技术宿舍管理系统是用visual c+来实现。3.1.2 经济可行性由于本系统是为宿舍管理人员使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。3.1.3 操作可行性本
23、系统的界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;适应力强;容易扩充。3.1.4 社会可行性1. 宿舍管理系统将传统的纸介工作流程信息化、数字化,一方面以信息流代替了面对传统的管理,可以大量减少人力、物力,降低了成本;另一方面突破了时间和空间的限制,使得学生管理可以在任何时间、任何地点进行,从而大大提高了效率。2. 宿舍管理系统重新定义了传统的管理模式,减少了中间环节,使得管理人员可以以更快,更便捷的方式来对学生的信息进行操作,从而在一定程度上改变了学校中传统工作模式。3.1.5 可行性研究结论依据以上因素,本系统开发项目不仅方便快捷、高效,而且在学校中
24、可用性强,从而使本系统开发者相信该系统开发出来之后将取得的成功。综上所述,此项目在技术、操作、经济等上是完全可行的。3.2 用户需求分析3.2.1 功能分析学生宿舍管理系统,作为为宿舍管理员提供便利的软件系统。本系统的用户为管理员用户。该用户只是对系统信息进行基本操作,例如:信息查询、信息添加、信息删除等。3.3 系统软硬件要求开发宿舍管理系统主要用Visual C+为开发平台。所以,开发本系统的软硬件没有太多的要求。1.硬件要求表3-4 硬件要求服务器硬件处理器:Intel Pentium E2140内 存:1GB硬 盘:160GB客户机硬件无特殊要求,只要能上连接互联网即可2.软件要求表3
25、-5软件要求服务器软件Visual C+3.4 小结 本章主要对宿舍管理系统进行了系统的可行性分析、用户需求分析以及开发此系统所需要的软硬件支持,从而得出了以下结论。本课题开发的软件是简易的网上宿舍系统,主要针对管理员使用。本系统将要提供良好的用户界面,实现用户的各种功能模块。该系统要能够实现学生信息的添加、删除、插入操作。4 系统概要设计概要设计又称为总体设计或初步设计,它的基本目的就是回答“概括地说,系统应该如何实现?”这个问题。总体设计最根本并且最重要的任务是实现系统的模块化。在总体设计阶段,应划分组成系统的物理元素程序、文件、数据库、人工过程和文档等,并确定系统中每个程序由哪些模块组成
26、以及这些模块相互间的关系。系统的总体设计还包括体系结构设计和开发测试环境设计等内容,为下一阶段的系统详细设计提供必要的技术资料。4.1 系统功能模块设计系统功能模块设计主要是以系统的需求分析为主要准则,将系统划分成若干个功能模块,然后对每个模块进行设计。在宿舍管理系统中主要有8个模块。其的功能模块结构图如图4-1所示。宿舍管理系统插入一条记录按学号排输入记录循环写入一个记录显示记录按房号排序并显示按学号排序并显示按姓名查找并删书记录查找并xii一个记录图4-1 功能模块结构图开始输出界面选择操作选择1选择2选择3选择4选择5选择6选择7选择8选择9选择0输入记录是是显示记录否否否否否否否否否退
27、出系统结束按床位排序显示按学号排序显示是是是是插入一个记录查找删除记录查找显示记录从文件输入写入文件保存是是是是否4.2小结这一章主要宿舍管理系统的概要设计进行描述。在系统的概要设计里,分别对系统功能模块设计进行介绍及总体规划。在系统功能模块设计中,得到系统最终的功能模块。5 系统详细设计与实现系统详细设计主要处理过程设计以确定每个模块内部的详细执行过程,包括局部数据组织、控制流、每一步的具体加工要求等。系统的详细设计包括操作流程设计、模块界面设计及功能过程描述等。5.1 系统功能模块设计下面就对各个功能区域进行介绍。5.1.1 输入记录模块让管理者输入学生的信息。如5-1图所示。图5-1 输
28、入记录模块图5.1.2 显示记录模块显示输入的学生记录。如图5-2显示记录模块图所示。图5-2 显示记录模块图5.1.3 按房间号排序模块按房间排序并显示。如图5-3按房间排序并显示模块图所示图5-3按房间排序并显示模块图5.1.4 按学号排序并显示模块按学号排序并显示如图5-4所示。5.1.5插入一条记录按学号排序并显示5.1.6按姓名查找,删除一条记录 5.1.7查找并显示一个记录 6源代码#include /*引用库函数*/#include#include#includetypedef struct /*定义结构体数组*/ char roomnum4; /*房间号*/ char bedn
29、um2; /*床位号*/ char num10; /*学号*/ char name20; /*姓名*/ Student;Student room11000; /*结构体数组变量*/int menu_select() /*菜单函数*/ char c; do system(cls); /*运行前清屏*/ printf(tt学生宿舍管理系统n); /*菜单选择*/ printf(tt 1. 输入记录 n); printf(tt 2. 显示记录 n); printf(tt 3. 按房间号排序并显示 n); printf(tt 4. 按学号排序并显示 n); printf(tt 5. 插入一条记录按学号
30、排序并显示 n); printf(tt 6. 按姓名查找,删除一条记录 n); printf(tt 7 查找并显示一个记录 n); printf(tt 8. 从文件中读入数据 n); printf(tt 9. 循环写入数据 n); printf(tt 0. 结束程序 n); printf(ttn); printf(tt请选择您要运行的选项按(0-9):); c=getchar(); /*读入选择*/ while(c9); return(c-0); /*返回选择*/int Input(Student room,int n) /*输入若干条记录*/int i=0;char sign,x10; /*
31、x10为清除多余的数据所用*/while(sign!=n&sign!=N) /*判断*/ printf(tt房间号:); /*交互输入*/ scanf(tt%s,&roomn+i.roomnum); printf(tt床位号:); scanf(tt%s,&roomn+i.bednum); printf(tt学号:); scanf(tt%s,&roomn+i.num); printf(tt姓名:); scanf(tt%s,&roomn+i.name); gets(x); /*清除多余的输入*/ printf(tt是否继续输入?(Y/N); scanf(tt%c,&sign); /*输入判断*/
32、i+;return(n+i);void Display(Student room,int n) /*显示所有记录*/int i;printf(tt-n); /*格式头*/printf(tt房间号 床位号 学号 姓名 n);printf(tt-n);for(i=1;i1&i%10=0) /*每十个暂停*/ printf(tt-n); /*格式*/ printf(tt); system(pause); printf(tt-n); printf(tt);system(pause);void Sort_by_num(Student room,int n) /*按学号排序*/ int i,j,*p,*q
33、,s; char t10; for(i=0;in-1;i+) /*冒泡法排序*/ for(j=0;j0) strcpy(t,roomj+1.bednum); strcpy(roomj+1.bednum,roomj.bednum); strcpy(roomj.bednum,t); strcpy(t,roomj+1.num); strcpy(roomj+1.num,roomj.num); strcpy(roomj.num,t); strcpy(t,roomj+1.name); strcpy(roomj+1.name,roomj.name); strcpy(roomj.name,t); void S
34、ort_by_roomnum(Student room,int n) /*按房间号排序*/ int i,j,*p,*q,s; char t10; for(i=0;in-1;i+) /*冒泡法排序*/ for(j=0;j0) strcpy(t,roomj+1.roomnum); strcpy(roomj+1.roomnum,roomj.roomnum); strcpy(roomj.roomnum,t); strcpy(t,roomj+1.bednum); strcpy(roomj+1.bednum,roomj.bednum); strcpy(roomj.bednum,t); strcpy(t,r
35、oomj+1.num); strcpy(roomj+1.num,roomj.num); strcpy(roomj.num,t); strcpy(t,roomj+1.name); strcpy(roomj+1.name,roomj.name); strcpy(roomj.name,t); int Insert_a_record(Student room,int n) /*插入一条记录*/char x100; /*清除多余输入所用*/ printf(tt学生房间号:); /*交互式输入*/ scanf(tt%s,&roomn.roomnum); printf(tt学生床位号:); scanf(tt
36、%s,&roomn.bednum); printf(tt学生学号:); scanf(tt%s,&roomn.num); printf(tt学生姓名:); scanf(tt%s,&roomn.name); gets(x); n+; Sort_by_num(room,n); /*调用排序函数*/ printf(tt插入记录成功!n); /*返回成功信息*/ return(n);int Delete_a_record(Student room,int n) /*按姓名查找,删除一条记录*/ char s20; int i=0,j; printf(tt输入他(她)的姓名:); /*交互式问寻*/ sc
37、anf(%s,s); while(strcmp(roomi.name,s)!=0&in) i+; /*查找判断*/ if(i=n) printf(tt对不起没找到该学生!n); /*返回失败信息*/ return(n); for(j=i;jn-1;j+) /*删除操作*/ strcpy(roomj.roomnum,roomj+1.roomnum); strcpy(roomj.bednum,roomj+1.bednum); strcpy(roomj.num,roomj+1.num); strcpy(roomj.name,roomj+1.name); printf(tt删除记录成功!n); /*返回成功信息*/ return(n-1);void Query_a_record(Student room,int n) /*查找并显示一个记录*/ char s20; int i=0; printf(tt输入他(她)的姓名:); /*交互式输入*/ scanf(tt%s,&s); while(strcmp(roomi.name,s)!=0
限制150内