宿舍管理系统课程设计报告

合集下载

宿舍管理系统设计报告

宿舍管理系统设计报告

江苏建筑职业技术学院徐州建筑职业技术学院C#与数据库综合应用设计宿舍管理信息系统王**、惠** 9 、 26 电算09-1 陆**2011年 5月 31日学 号:班 级:姓 名:指导教师:第一章概述 (3)1.1系统开发背景及意义 (3)1.2 设计环境要求 (4)第二章系统需求分析 (4)2.1宿舍信息管理系统的研究内容及所达到的目标 (4)2.1.1研究内容 (4)2.1.2所达到的目标 (4)2.2宿舍信息管理管理系统设计方案 (5)2.2.1设计原则 (5)第三章宿舍信息管理系统设计 (5)3.1宿舍信息管理管理系统设计 (5)3.1.1系统目标 (5)3.1.2宿舍信息管理系统的需求分析 (6)3.1.3宿舍信息管理系统总体设计 (7)3.2宿舍信息管理系统的可行性研究 (7)3.2.1宿舍信息管理系统可行性研究前提要求 (7)3.2.2可行性研究方法 (7)3.2.3决定可行性的主要因素 (8)3.3宿舍信息管理系统功能设计 (9)3.3.1宿舍信息管理系统概述 (9)3.3.2宿舍信息管理系统功能 (9)3.3.3宿舍信息管理系统内容和功能设计 (9)3.3.4宿舍信息管理系统信息结构设计 (10)3.3.5宿舍信息管理系统构架的详细介绍 (10)3.3.6宿舍信息管理系统功能模块图 (10)3.4 数据库设计与实现 (11)3.4.1数据库的需求分析 (11)3.4.2数据库的概念设计 (11)第四章数据库及窗体设计 (13)4.1 数据表 (13)4.1.1学生信息表 (13)4.1.2宿舍信息表 (13)4.2 部分窗体及实现代码 (14)4.2.1登陆窗体及代码 (14)4.2.2主窗体及代码 (16)结束语 (20)致谢 (20)参考文献............................................................................................................................................第一章概述1.1系统开发背景及意义在过去,计算机不是很普及和计算机应用性不高的年代,人们使用人工的方法管理各式各样的档案,这种管理方式存在着很多缺点:效率底,保密性差,会产生大量的文件和数据,给查找,更新和维护信息都带来了相当大的困难。

学生宿舍管理系统设计报告 概述及报告范文

学生宿舍管理系统设计报告 概述及报告范文

学生宿舍管理系统设计报告概述及报告范文1. 引言1.1 概述学生宿舍管理系统是为了规范和便利学生宿舍的管理而设计和开发的一种信息化系统。

随着高校学生数量的不断增加,传统的手工管理方式已经无法满足目前学生宿舍管理的需求。

因此,通过引入计算机技术和信息系统,可以提高学生宿舍管理效率,减少人力资源成本,并能够更好地满足学生对宿舍服务质量的要求。

1.2 文章结构本报告将围绕学生宿舍管理系统的设计而展开。

首先介绍概述部分,包括对该系统的简要描述以及文章结构的安排。

接下来是正文部分,主要涵盖学生宿舍管理系统的概述、系统需求分析以及设计原则与方法等内容。

然后是实施计划部分,详细说明了如何配置运行环境、进行数据库设计与实现以及界面设计与开发等任务。

在结果和讨论部分,将呈现功能测试结果分析、用户反馈及改进建议,以及数据分析和总结报告等内容。

最后,在结论部分对主要工作进行总结,并就系统优劣进行评估并展望后续工作。

1.3 目的通过本报告,旨在全面介绍学生宿舍管理系统的设计过程,包括需求分析、设计原则与方法的选择等,并详细展示实施计划以及结果和讨论部分的分析。

通过对该系统的研究,期望能够提供给读者一个全面了解学生宿舍管理系统的机会,并为类似项目的设计与开发提供参考和借鉴。

同时,也希望通过这个系统能够有效解决传统学生宿舍管理方式中存在的问题,提高管理效率和服务质量。

2. 正文:2.1 学生宿舍管理系统概述:学生宿舍管理系统是针对大学或学院宿舍楼的管理需求而设计的一种系统。

它旨在提供一个集中管理和监控学生宿舍信息、维护保修请求、查看住宿空间、管理入住登记等功能的平台。

此系统的目标是简化和优化学生宿舍管理过程,提高工作效率,并增加各方之间的沟通和信息交流。

2.2 系统需求分析:为了满足学生宿舍管理的各项需求,我们对该系统进行了详细的需求分析。

首先,该系统应能够实现学生宿舍入住登记、退房办理、换房申请等业务功能。

其次,需要具备良好的安全性能,包括用户认证机制和数据隐私保护。

宿舍管理系统报告

宿舍管理系统报告

目录一、实验目的 (3)二、实验内容 (3)三、实验环境 (3)四、需求分析 (3)五、概要设计 (4)1、方案设计 (4)2、数据结构说明 (4)3、模块功能说明 (5)六、详细设计及运行结果 (6)1、登陆界面 (6)2、主界面 (6)3、录入模块 (7)4、录入界面 (8)5、打印学生信息界面 (8)6、更新学生信息界面 (9)7、查询宿舍信息界面 (9)8、统计宿舍信息界面 (10)9、学生宿舍排序 (10)七、源程序 (11)八、心得体会 (29)学生宿舍管理系统一、实验目的1.熟练掌握线性表的基本操作在顺序存储和链式存储上的实现。

、;2.以线性表的各种操作(建立、插入、删除、遍历等)的实现为重点;3.掌握线性表的动态分配顺序存储结构的定义和基本操作的实现;4.通过实验帮助学生加深对C语言的使用(特别是函数的参数调用、指针类型的应用和链表的建立等各种基本操作)。

二、实验内容我组设计的是“学生宿舍管理系统”,主要是针对住宿学生个人信息的管理,适用对象主要是学校,以方便学校对住宿学生的管理。

包括学生的姓名、学号、性别、专业、班级等等。

在编写过程中主要运用C语言的基本知识有:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的调用与使用)等。

三、实验环境台式计算机每人一台;软件:Visual C++6.0;四、需求分析该程序是由C语言编写的一个宿舍管理查询软件,本程序在Microsoft Visual C++ 6.0下运行,其主要功能是实现对学生信息的录入、添加、删除、修改、查询、统计。

其中查询可以分别以姓名、学号、宿舍号为关键字查询学生信息。

统计可以分别以学号、宿舍号、性别、班级、专业为关键字进行统计,并且输出信息按学号大小从小到大输出。

五、概要设计1、方案设计2、数据结构说明程序中数据主要是学生信息和宿舍信息,具体属于类型如下: struct stu{char name[20];int num;char sex;int age;int grade;int nclass;char zhuanye[30];};struct dom{int bui_num;int floor_num;int room_num;int bed_num;struct stu st;}s[MAX],p;3、模块功能说明第一密码模块:调用cipher(),进行管理者的注册与登录操作。

学生宿舍系统设计报告

学生宿舍系统设计报告

学生宿舍系统设计报告1. 引言学生宿舍管理是大学校园中非常重要的一项工作。

为了提高学生宿舍的管理效率、方便学生生活,我们设计了一套学生宿舍系统。

本报告将介绍学生宿舍系统的设计目标、功能需求以及系统架构。

2. 设计目标学生宿舍系统的设计目标如下:1. 方便学生管理个人信息:学生可以在系统中查看和修改个人信息,包括姓名、学号、联系方式等。

2. 实现宿舍楼层、房间的管理:学生可以查看宿舍楼层、房间的信息,并了解宿舍楼内的各种设施和规定。

3. 实现宿舍物品的管理:学生可以记录个人物品并进行借用、归还操作,同时系统可以提醒学生及时归还借用物品。

4. 实现报修功能:学生可以在系统中提交宿舍内物品的报修申请,后勤人员可以接收并处理报修请求。

5. 提供公告发布功能:管理员可以在系统中发布宿舍楼的公告,如活动通知、停电通知等。

3. 功能需求基于上述设计目标,学生宿舍系统需要实现以下功能需求:3.1 学生管理功能- 学生登录和注册功能:学生可以通过学号和密码登录系统,新生学生需要进行注册。

- 个人信息管理:学生可以查看和修改个人信息。

3.2 宿舍管理功能- 宿舍楼层和房间信息展示:学生可以查看宿舍楼层和房间的分布情况。

- 宿舍设施和规定展示:学生可以了解宿舍楼内的设施和生活规定。

3.3 物品管理功能- 个人物品记录:学生可以记录个人物品并查看自己的借用历史。

- 物品借用和归还:学生可以进行物品的借用和归还操作,并记录借用时间和归还时间。

3.4 报修功能- 报修申请提交:学生可以在系统中提交宿舍内物品的报修申请。

- 报修请求处理:后勤人员可以接收并处理报修请求,并将处理结果反馈给学生。

3.5 公告发布功能- 公告发布:管理员可以在系统中发布宿舍楼的公告。

- 公告查看:学生可以查看宿舍楼的公告。

4. 系统架构学生宿舍系统的架构如下:- 前端:采用HTML、CSS和JavaScript等技术实现学生宿舍系统的页面展示和交互功能。

数据结构课程设计报告宿舍管理系统

数据结构课程设计报告宿舍管理系统

数据结构课程设计报告设计题目:学生宿舍管理系统学院:年级专业:姓名:学号:指导老师:1.设计目的宿舍对于大学生在校生活来说相当于家的存在,而宿舍管理又是学校后勤管理的重要环节,如何直观的了解宿舍的入住情况和每位同学的住宿位置是提高工作效率的重要课题,根据我们所学的C语言和数据结构课程中有关链表及外部文件的内容,为后勤管理人员编写宿舍管理查询软件, 就可以轻松满足实现上述需求。

通过实际课题设计,可以对我们加深书本知识理解,了解并掌握数据结构与算法的设计方法,培养独立分析和设计能力,掌握软件开发过程的基本方法和技能,对我们的个人素质提高大有脾益。

2.需求分析2.1性能分析宿舍一般由若干学生入驻,每个宿舍都有独立唯一的编号,入住学生也有唯一的学号,另外添加学生的姓名和班级,使用这些关键字就可以方便的查询和管理宿舍入住情况。

程序设计应采用交互工作方式,并建立数据文件。

程序应通过建立子函数实现创建、保存与载入数据文件,查找、添加、删除、更改、显示等功能,可以自动保存修改。

应具有友好的界面和较强的容错能力。

能够迅速准确地完成各种学生信息的统计和查询,以方便管理员对学生信息的统一管理。

2.2功能分析为方便管理员对系统进行操作,程序应具有以下功能:(1)创建宿舍数据文件,并提示管理员输入学生姓名、学号、宿舍号、班级等信息,并在本地保存数据文件(2)打开宿舍数据文件:输入文件名打开保存过的数据文件(3)查询住宿信息:提供学号、姓名、宿舍号三种查询方式(4)添加住宿信息:在数据文件中添加新的住宿信息(5)删除住宿信息:提示管理员输入要删除的学生姓名,验证后删除(6)修改住宿信息:提示管理员输入要修改的学生姓名,验证后修改(7)输出数据文件:将住宿信息按学号的大小排序全部输出(8)退出系统3.程序结构及流程设计3.1系统流程图3.2 函数设计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 循环完成对宿舍数据的录入,包括姓名、学号、班级、宿舍号等信息。

宿舍管理系统-课程设计报告

宿舍管理系统-课程设计报告

课程设计报告(一)需求分析能输入数据,建立函数,并且实现数据的查询,添加,删除,修改,退出,并能实现连续操作。

详细功能如下:A,添加:系统将提示用户输入新添加人员信息,输入到文件中,人员信息数据包括姓名,学号,性别,生日,所在院系,宿舍号,费用,宿舍长。

B,删除:首先由用户输入要删除的人员的姓名,然后调用删除函数,删除该人员的所有相关资料.C,显示所有人员信息:该功能将显示已经保存的所有人员的姓名, 学号,性别,生日,所在院系,宿舍号,费用,宿舍长。

D,查询:可由用户输入要查找的人员姓名,然后系统用查找函数查找,接着系统使用相关文件命令输出所查找的人员的全部信息。

E,修改:用户可根据提示输入要修改的姓名, 学号,性别,生日,所在院系,宿舍号,费用,宿舍长等内容,程序将保存新的内容。

F,退出系统关闭宿舍管理系统。

(二)概要设计要有一个菜单,用于选择各项功能其中包括:1)新建信息——createmain();2)查询信息———displaymain();3)添加信息———addmain ( );4)删除信息———delmain ( );5)存盘———savemain ( );6)装入———loadmain ( ) ;7)修改信息———repairmain ( ) ;设计要求:1)每条信息包含:姓名, 学号,性别,生日,所在院系,宿舍号,费用,宿舍长。

2)作为一个完整的系统,应具有友好的界面和较强的容错能力3)上机能正常运行,并写出课程设计报告(三)详细设计主函数main(){struct student *head=NULL;struct student *createmain(struct student *head);/*新建函数的声明*/struct student *displaymain(struct student *head); /*查询函数的声明*/struct student *addmain(struct student *head); /*添加函数的声明*/struct student *delmain(struct student *head); /*删除函数的声明*/struct student *repairmain(struct student *head); /*修改函数的声明*/struct student *loadmain(struct student *head);struct student *savemain(struct student *head);void helpmain();int pd;/*实现循环的变量*/head=loadmain(head);/*数据加载函数*/do{system("cls");pd=1;printf("欢迎您使用宿舍模拟管理系统\n");printf("*********************************************\n"); printf("当前记录有<%d>\n",table) ;printf("请选择我可以为你服务的操作:\n");printf("<0>建立 ");printf("<1>查询 ");printf("<2>添加 ");printf("<3>删除 ");printf("<4>修改 ");printf("<5>退出 ");printf("<6>帮助 ");printf("\n");switch(getch()){case '0' : head=createmain(head);;break;case '1' : head=displaymain(head);;break;case '2' : head=addmain(head);break;case '3' : head=delmain(head);break;case '4' : head=repairmain(head);break;case '5' : printf("\n\n谢谢您的操作,再见!\n");pd=0;break; case '6': helpmain();break;default :pd=0;}}while(pd != 0);head=savemain(head);}(四)调试分析1、测试数据和结果,运行程序得到如下界面:。

学生宿舍管理系统课程设计报告

学生宿舍管理系统课程设计报告

学生宿舍之袁州冬雪创作管理信息系统目次第一章系统概述 (1) (1)1.项目研究的布景 (1) (1) (1) (1) (2)第二章系统分析 (3)2.1可行性分析(初步伐查) (3) (3) (3) (3) (3) (3) (3)调查 (4) (7) (7) (9)第三章系统设计 (13) (13) (13) (13) (20) (20) (20) (24) (24) (25)竣事语 (26)参考文献 (27)第一章系统概述学生宿舍管理系统对于一个学校来讲是必不成少的组成部分.今朝好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来讲还委曲可以承受,但对于学生信息量比较复杂,需要记录存档的数据比较多的高校来讲,人工记录是相当费事的.而且当查找某条记录时,由于数据量复杂,还只能靠人工去一条条的查找,这样不单费事还华侈了许多时间,效率也比较低.当今社会是飞速前进的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产品.随着学生人数的增多,高校学生宿舍管理的信息量日益复杂,基于此,开辟一个“学生宿舍管理系统”来提高宿舍的管理效率,改善管理方式,使其与现代信息化的趋势接轨是很有需要的.此学生宿舍管理信息系统主要包含:住宿登记、维修处理、寝室调动、请假管理、夜归管理、查寝管理.通过对宿舍活动各环节发生的数据停止处理,将为上级管理层提供一系列有关宿舍情况的动态信息,使宿舍管理工作规范化、制度化、程序化,促进了宿舍管理的基础水平,防止了业务管理的随意性,提高信息处理的速度和准确性.1.可以查询及更新学生的基本信息,时时懂得学生的生活情况;2.可以记录及查询逐日学生的夜归情况;3.可以记录及查询逐日学生的请假情况;4.可以记录宿舍楼逐日贵重物品的出入,防止物品的丢失;5.可以记录及查询每间宿舍的报修业务.选择学生宿舍管理系统后使用者会感到操纵非常方便,管理人员需要做的就是将数据输入到系统的数据库中去.由于数据库存储容量相当大,而且比较稳定,适合较长时间的保管,也不容易丢失.这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操纵方式.本系统具有运行速度快、平安性高、稳定性好的优点,而且具有完善的报表生成、修改功能,可以疾速的查询学校所需的住宿信息,方便高校对学生宿舍的管理.在系统平安性方面,本系统增加了登录模块,需要使用者键入用户名和用户口令,以防止未经授权的人员非法进入该系统停止修改或查询数据,可以有效地防止数据的泄漏,防止对系统中的数据造成破坏.第二章系统分析2.1可行性分析(初步伐查)各个宿舍除了配备掌管学生水电操纵等生活起居的管理阿姨外,有从学生中选出的宿舍楼管理助理,他们具有高素质的管理技术,便于系统实行,而且,公寓管理中心大力支持本管理系统,更加为系统的实施提供了可行性.主要从对项目标经济上停止分析评价,一方面是支出的费用,包含设备购置费、管理和维护费用、人员工资和培训费等,另外一个是取得的收益.这是个小型的管理系统,从投入的人力,财力与物力来讲是非常之小的,只要一台电脑,一台打印机,这个系统便可以搞起来,思索到学校里有电脑,现只要购置一台打印机便可以了.从节俭人力方面,可让管理人员从繁与复杂的工作中摆脱出来,做更多的工作,可以给宿舍里的管理提高一个条理.在今朝的迷信技术水平条件下,已经成功地创建了众多复杂的管理信息系统,而宿舍管理信息系统与这些系统而言是十分简单的系统.因此,建立一个供学校外部使用的学生宿舍管理信息系统,在技术上不存在实质性的障碍.颠末对宿舍的管理信息停止调查可知,该系统主要有三个部分,分别为住宿登记,平安管理以及维修等业务过程,为此我们画出了一个简单的高层业务流程图.如下所示:(1)住宿登记:住宿登记是学生住宿管理工作的开端,它主要是每一年开学的时候,管理员根据学生的信息,如学院,专业,班级等安插新生的住宿并和须生的住宿调整连系,同时受理学生的宿舍变动申请.业务流程图如下图所示:(2)平安管理:该业务程序主要是对学生的宿舍平安停止管理,主要包含晚归未归情况的登记存档,违规电器的使用等违纪情况,并通知违纪学生的辅导员的业务过程,则该业务流程图如下图所示:(3)维修管理该业务程序主要是对学生的维修停止管理,主要学生登记报修,然后对故障情况分类,并停止处理的过程,则该业务流程图如下图所示:数据流程图业务流程图虽然能较好地描画各项业务内各个处理环节之间的信息流,但却不克不及反映出数据的处理细节,因此,必须停止进一步的数据流程分析.(1)高层数据流程图:(2)住宿登记数据流程图:(3)平安管理数据流程图:(4)维修管理数据流程图:维修管理数据流程图一、(1)住宿学生数据字典:(2)宿舍变动数据字典:(3)查寝数据字典:(4)夜归数据字典:(5)报修数据字典:(6)用户数据字典:用户数据字典(7)请假数据字典:二、数据布局三、数据流四、数据存储第三章系统设计3.1总体设计计算机管理信息系统设计的基本前提条件是把管理对象数字化或字符化,因此,代码就是用来表征客观事物的实体种别,以及属性的一个或一组易于计算机识别和处理的特定符号或记号,它可以是字符、数字或某些特殊符号的组合.一个设计优良的代码,具有以下作用:⑴标示作用;⑵统计和检索作用;⑶对象状态的描绘作用.代码的种类有以下几种:条理码、复合码、特征组合码、顺序码等等.通过对数据库及彼此之间的接洽停止分析,对所有数据库文件中的主码构成停止设计.本系统中代码设计采取顺序码、条理码和复合码三类.举例如下:(1)“类型”:采取顺序码,如A、B、C等,因为类型较少,所以采取此代码,简短,易于管理,且易于添加.(2)“学号”:采取条理码,如201416070226,2014代表入学年份,1607代表学院和所学专业,02代表班级,26代表学号,暗示意义为该学生是2014年入校,学的是信息管理与信息系统专业,经济与管理学院,班级为02班,学号为26号.使用条理码能明白暗示分类对象的种别,有严格的从属关系,代码布局简单,容量大,正适用于对学生停止编码.(3) “维修检查单号”:采取复合码,由条理码+顺序码,如:FH20160001 ××××××××××↓ ↓ ↓标识时间顺序号暗示意义为2016年的第0001号维修检查单.由于每学期时都有大量维修检查单生成,因此采取复合码,可以做到一单一码,起到唯一标识作用,而且也不会造成码位过长.(1)用户要求分析:根据前面需求分析,总结出需要设计以下表:报修表、基本信息登记表、寝室调换申请表、夜归登记表、查询寝室表、请假表等.(2)概念布局设计:根据用户需求设计数据库的概念数据模子.(E—R图如下)(3)逻辑布局设计:概念模子转换成数据模子的二维表,如下:报修E-R图报修二维表学生(学号,宿舍号,姓名,性别,学院)报修(报修时间,报修原因,处理时间,宿舍号,物品号)财富(物品号,物品名)基本信息E-R图基本信息登记二维表:学生(学号,学院,姓名,宿舍号,性别,专业)住宿(入住时间,学号,宿舍号)宿舍(宿舍号,宿舍电话)寝室调换二维表:学生(学号,学院,姓名,宿舍号,性别,专业)调换(调换时间,调换原因)教师(教员编号,学院)图3.11夜归登记E-R图夜归登记二维表:学生(学号,学院,姓名,宿舍号,性别,专业)管理(夜归时间,夜归原因,学号,教员编号)教师(教员编号,学院)图3.12查询寝室E-R图查询寝室二维表:学生(学号,学院,姓名,宿舍号,性别,专业)查询寝室(查询时间,有无违章电器,学号,教员编号)教师(教员编号,学院)图3.13请假E-R 图 请假登记二维表:学生(学号,学院,姓名,宿舍号,性别,专业)请假(请假时间,请假原因,学号,教员编号)教师(教员编号,学院)(下划线标注的属性为主码)输出是系统发生的成果或提供的信息.对于大多数用户来讲,输出是系统开辟的目标和评价系统开法成功与否的尺度.因此,系统设计过程与实施过程正好相反,不是从输入设计到输出设计,而是从输出设计到输入设计.输出设计的内容包含:(1)有关输出信息使用方面的内容,包含信息的使用者、使用目标、陈述量、使用周期、有效期、保管方法和复写份数等.我们所开辟的系统输出信息的使用者为管理员、学生、教师及维修员等,他们将信息输入数据库,并从数据库中获取所需信息.我们输出信息是为了管理学生公寓的日常活动,包含夜归、寝室调换、报修、请假、查询寝室违章电器等.输出的信息是使用者需要的,通过使用、分析输出的信息,公寓中的各项活动即可有序地停止.其陈述量视各项活动的需求而定.其使用周期可为一个月,每个月更新需要的信息,这样数据库中的信息便会简洁且切合实际需要.输出的信息的有效期为学生在校期间,学生在校期间内所发生的各项活动所得信息都是有效的.保管方法可用较好的硬盘存储.复写份数为使用者数,使得每位使用者都能得到一份信息表获取信息.(2)输出信息的内容,包含输出项目、位数、数据形式(文字、数字).输出的项目包含学生请假信息、学生夜归信息、报修信息、寝室调换信息、查询寝室违章电器信息等.其数据形式包含文字及数字.(3)输出格式,如表格、图形或文件.我们的系统所输出的信息的格式为Vi sual Basic的运行界面.(4)输出设备,如打印机、显示器、磁带、光盘等.我们的系统输出信息的设备为显示器.从电脑中查询信息.(5)输出介质,如输出到磁盘上还是磁带上,输出用纸是专用纸还是普通纸等.我们系统输出的信息的输出介质是输出到磁盘上,输出用纸是普通白纸.输入设计对系统的质量有着决议性的重要影响,因为如果输入数占有误,即使计算和处理均十分正确,也无法获得靠得住的输出信息.同时,输入设计是信息系统与用户之间交互的纽带,决议着人机交互的效率.(1)输入设计的原则:①节制输入量.由于数据的输入与计算机的处理比较起来相对缓慢,在数据录入时,系统大多数时间都处于等待状态,系统效率将显著降低;同时,数据录入工作一般需要人的参与,大量的数据录入往往华侈很多人力资源,增加系统的运行成本.因此,在输入设计中,应尽可能节制输入的数据总量.而我们的系统只需输入需要的基本信息,其他的数据可通过计算、统计、检索得到,即可由计算机自动发生.②减少输入延迟.输入数据的速度往往成为提高信息系统运行效率的瓶颈.而在我们的系统中,信息的输入往往是即时输入,信息当时发生便输入系统中,③减少输入错误.这一点我们可加强对使用者的使用水平停止节制.④输入过程应尽可能简化.输入设计应尽可能防止不需要的输入步调,不克不及因为查错、纠错而是输入复杂化.我们的系统即是一个简化的系统,只需输入需要的基本信息,而信息的纠错可在输入的同时停止.(2)输入设备的选择:我们的输入设备为键盘—磁盘输入装置.由管理员等通过键盘等输入信息,经靠得住性验证后存入磁盘等磁记录介质.(3)原始单据的格式设计:由于我们的系统运用的是VisualBasic,因此原始的数据输入是通过表单输入的.表单给谁视各个活动的需要设计,其中基本的信息为使用者即管理员、教师及学生的信息.(4)输入屏幕的设计:我们系统是通过Visual Basic的运行实现的,其输入屏幕为VB的运行界面.竣事语本系统界面友好,采取了交互式人机对话方式.本系统基于Win2000操纵平台,所以继承了操纵系统的视窗化操纵,操纵简单,容易掌握.只要有Windows 操纵系统的基本知识,就可以很快熟悉和运用本系统.由于使用的是面向对象的程序设计语言,本系统设计出了简捷人机界面和操纵方式,系统大量采取下拉式菜单,用户只需通过一系列简单的选择与系统停止数据交互操纵,力图使用自行输入到最少,以减少人为错误,极大方便了用户使用.数据易于修改和维护,查询十分方便,能提供多种组合条件方式停止查询,疾速而准确,并设计了多种表格,来知足用户的需求.在系统平安性方面,本系统增加了登录模块,需要使用者键入用户名和用户口令,以防止未经授权的人员非法进入该系统停止修改或查询数据,可以有效地防止数据的泄漏,防止对系统中的数据造成破坏.由于对业务知识不是非常熟悉,经历缺乏,本系统中存在着许多缺乏之处,缺少许多功能模块.希望在实际的应用中,根据需要再逐步增加一些新功能,以使系统更加完善.对系统的平安性、完整性节制也进一步加强,确保系统中数据的完整、正确.参考文献[1]王珊,萨师煊. 数据库系统概论. 北京: 高等教导出版社, 2002[2]黄梯云.管理信息系统. 北京: 高等教导出版社, 2009[3] 张海藩,牟永敏. 软件工程导论. 北京:清华大学出版社, 2013。

宿舍管理系统设计报告

宿舍管理系统设计报告
D3 电 脑 外 出 登记表
D4 报 修 登 记 表
S2 卫生检查人员 卫生检查评定
P1 卫生检查管理
D6 卫生检查表
S1 学生
报修登记单
P3.1 报修登记
报后勤部 维修信息
P3.2
维修
保修单
D4
报修登记表
S1 学生
外出电脑信息
P2.1 外出登记
D3 电脑外出登记表
(三)系统环境与限制 1.性能要求:用户登陆后,系统需在 1 到 2 秒内作出响应,系统所需的存储
管理 员
宿舍基本信息登 记
宿舍基本信息 整理
宿舍基本信息 登记表
(二) 输入输出设计和人机对话说明 1.输出设计 (1)输出内容:输出信息使用方面的内容包括我们所开发的宿舍信息管理系
统输出信息的使用者为管理员、学生、老师及维修员等。使用目的是为了管理学 生公寓的日常活动,包括夜归、寝室调换、报修、请假、查询寝室违章电器等。 报告量视各项活动的需求而定。其使用周期可为一个月,每月更新必要的信息, 这样数据库中的信息便会简洁且切合实际需要。输出的信息的有效期为学生在校 期间。保管方法可用较好的硬盘存储。复写份数为使用者数,使得每位使用者都 能得到一份信息表获取信息。
实体集报修表信息,具有属性楼号,宿舍号,物品号,报修原因,提交日期,
解决日期,பைடு நூலகம்修费用
软件环境:①Windows 系列操作系统②c#和 SQL server 数据库等支持系统 运行的系统软件. 二、系统设计方案 (一)系统模块结构设计说明
1.宿舍管理信息 (1)信息录入:学生信息的录入,宿舍卫生信息的录入以及维修信息的录入 管理,形成统一的信息管理,方便学生管理员进行信息查询。 (2)信息查询:宿舍信息的管理,一方面是为了形成学生信息的统一管理,
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

青岛农业大学理学与信息科学学院高级语言课程设计报告设计题目宿舍管理系统学生专业班级班学生姓名(学号)设计小组其他同学姓名(学号)指导教师完成时间设计地点2016年 12 月 06 日一、课程设计目的和任务《高级语言程序设计》课程设计是计算机相关专业的主要实践性教学环节。

其目的在于加深对高级语言程序设计理论和基本知识的理解,掌握使用C语言进行面向过程设计的基本方法,提高运用面向过程知识解决实际问题的能力。

为毕业设计和以后的工程实践打下良好的基础。

宿舍管理系统:用C语言为学生宿舍管理人员编写一个宿舍管理软件。

设某宿舍有:101,102,201,202四个房间,每个房间可住学生<=4人,存储结构:学号、姓名、房间号,按房间号有序,实现学生的入住、退房和查询,按给定学号、姓名、房号查询。

二、分析与设计1.程序的基本功能:(1).实现新生入住登记(2).修改入住学生信息(3)实现退房(4)实现以姓名查询学生信息(5)实现以学号查询学生信息(6)实现以寝室号查询学生信息(7)实现按照寝室号从小到大排序(8)实现按学号从小到大排序(9)实现显示所有学生信息(10)实现退出程序并保存数据2.定义的函数及说明:此程序由11个函数构成。

Add ----------添加学生信息函数(姓名、学号、宿舍号、班级)Alter----------修改学生信息函数Delete--------删除学生信息函数Display_All--------显示所有学生信息函数Query_S_name ---------查询函数以姓名为关键字进行查询Query_S_number -------查询函数以学号为关键字进行查询Query_D_number ------查询函数以寝室号为关键字进行查询Save -----存储函数Judge_Save ----退出程序时判断是否保存函数Menu --菜单Main---主函数3.系统总框图:三、系统实施1.源程序代码:#include<stdio.h>#include<string.h>#include<stdlib.h>#include<ctype.h>int dirty=0; //用来判断是否已保存操作//定义一个存储学生相关信息的结构体typedef struct{char S_name[10]; //学生姓名char S_number[10]; //学生学号int D_number; //学生所在寝室的宿舍号char S_class1[10]; //班级int Total; //学生总数}Student[16];int sushehao[4]={101,102,201,202};int count[4]={0};//判断学号是否与表中所存学号重复void S_number_Judge(Student S,int t){int i;for(i=1;i<=(S->Total)-1;i++)while(strcmp(S[i].S_number,S[t].S_number)==0)//strcmp字符串比较函数,两个字符逐个比较,相等返回值为{printf("学号输入失败,该学号已存在,请重新输入学号!\n");printf("请输入学生的学号(10个字符以内):");scanf("%s",S[t].S_number);getchar();i=1;}}//添加学生信息函数void Add(Student S){int j;int flag=1;printf("请输入学生姓名(10个字符以内):");scanf("%s",S[++(S->Total)].S_name);getchar();//获取换行符printf("请输入学生的学号(10个字符以内):");scanf("%s",S[S->Total].S_number);getchar();S_number_Judge(S,S->Total);//判断输入的学号是否与表中所存在的学号重复while(flag){printf("请输入宿舍号码:");scanf("%d",&S[S->Total].D_number);for (j=0;j<4;j++){if (S[S->Total].D_number==sushehao[j] && count[j]<4){count[j]++;flag=0;break;}if(S[S->Total].D_number==sushehao[j]&&count[j]==4){printf("该宿舍已满,请重新输入\n");break;}}}getchar();printf("请输入所在班级:");scanf("%s",S[S->Total].S_class1);getchar();printf("添加成功!\n\n");}//修改学生信息函数void Alter(Student S){int i;int flag=0; //用来判断表中是否存在所要修改的学生的信息char number[10];printf("请输入你要修改学生的学号:");scanf("%s",number);getchar();for(i=1;i<=S->Total;i++)if(strcmp(S[i].S_number,number)==0)flag=i;if(!flag)printf("你所要修改的学生信息在表中不存在!\n");else{printf("新信息如下:\n");printf("请输入学生姓名(10个字符以内):");scanf("%s",S[flag].S_name);getchar();printf("请输入学生的学号(10个字符以内):");scanf("%s",S[flag].S_number);getchar();S_number_Judge(S,flag);printf("请输入宿舍号:");scanf("%d",&S[flag].D_number);getchar();printf("请输入床铺号码:");scanf("%s",&S[S->Total].S_bednum);getchar();printf("请输入所在班级:");scanf("%s",&S[S->Total].S_class1);getchar();dirty=1;printf("修改成功!\n");}putchar('\n');}//删除学生信息void Delete(Student S){int i,j;int flag=0; //用来判断表中是否存在所要删除的学生的信息char number[10];printf("请输入你要删除学生的学号:");scanf("%s",number);getchar();for(i=1;i<=S->Total;i++)if(strcmp(S[i].S_number,number)==0)flag=i;if(!flag)printf("你所要删除的学生在表中不存在!");else{for(i=flag;i<S->Total;i++){j=i+1;strcpy(S[i].S_name,S[j].S_name);//字符串拷贝函数,格式: strcpy (字符数组名,字符数组名),赋值给strcpy(S[i].S_number,S[j].S_number);S[i].D_number=S[j].D_number;strcpy(S[i].S_bednum,S[j].S_bednum);strcpy(S[i].S_class1,S[j].S_class1);}(S->Total)--;dirty=1;printf("删除成功!");}printf("\n\n");}//显示所有学生信息函数void Display_All(Student S){int i;printf("全体学生信息如下:\n");printf("---------------------------------------------------\n"); /*格式头*/printf(" 房间号床位号学号姓名班级 \n");printf("---------------------------------------------------\n");for(i=1;i<=S->Total;i++)printf(" %-10d%-10s%-10s%-10s%-10s\n",S[i].D_number,S[i].S_bednum,S[i].S_ number,S[i].S_name,S[i].S_class1);putchar('\n');}//查询函数以姓名为关键字进行查询(顺序查找)void Query_S_name(Student S){int i,j=0;char name[10];printf("请输入你要查找的学生的姓名(10个字符以内):");scanf("%s",name);getchar();printf("所查找学生信息如下:\n");printf("\t\t------------------------------------------------\n"); /*格式头*/printf("\t\t房间号床位号学号姓名班级 \n");printf("\t\t------------------------------------------------\n");for(i=1;i<=S->Total;i++)if(strcmp(name,S[i].S_name)==0){printf("\t\t%-10d%-10s%-10s%-10s%-10s\n",S[i].D_number,S[i].S_bednum,S[i].S _number,S[i].S_name,S[i].S_class1);j=1;}if(!j)printf("\n查找失败,表中不存在该学生的信息!\n\n");}//查询函数以学号为关键字进行查询(折半查找)void Query_S_number(Student S){int i,j=0;char number[10];printf("请输入你要查找的学生的学号(10个字符以内):");scanf("%s",number);getchar();printf("所查找学生信息如下:\n");printf("\t\t------------------------------------------------\n"); /*格式头*/printf("\t\t房间号床位号学号姓名班级 \n");printf("\t\t------------------------------------------------\n");for(i=1;i<=S->Total;i++)if(strcmp(number,S[i].S_number)==0){printf("\t\t%-10d%-10s%-10s%-10s%-10s\n",S[i].D_number,S[i].S_bednum,S[i].S _number,S[i].S_name,S[i].S_class1);j=1;}if(!j)printf("\n查找失败,表中不存在该学生的信息!\n\n");}//查询函数以寝室号为关键字进行查询(折半查找)void Query_D_number(Student S){int i,j,m,n,base,top,mid;j=0;base=1;top=S->Total;printf("请输入你要查询的寝室号:");scanf("%d",&i);getchar();Sort_D_number(S);//将表中原数据按照寝室号从小到大排序printf("所查找寝室信息如下:\n");printf("\t\t------------------------------------------------\n"); /*格式头*/printf("\t\t房间号床位号学号姓名班级 \n");printf("\t\t------------------------------------------------\n");if(i>=S[1].D_number&&i<=S[S->Total].D_number){while(base<=top){mid=(base+top)/2;if(i==S[mid].D_number){m=mid;n=mid-1;while(S[m].D_number==i){printf("\t\t%-10d%-10s%-10s%-10s%-10s\n",S[m].D_number,S[m].S_bednum,S[m]. S_number,S[m].S_name,S[m].S_class1);m++;if(m>S->Total)break;}if(n>0){while(S[n].D_number==i){printf("\t\t%-10d%-10s%-10s%-10s%-10s\n",S[n].D_number,S[n].S_bednum,S[n]. S_number,S[n].S_name,S[n].S_class1);n--;if(n<1)break;}}j=1;putchar('\n');break;}else if(i>S[mid].D_number)base=mid+1;elsetop=mid-1;}}if(!j)printf("\n查找失败,表中不存在该寝室的信息!\n\n");}//存储函数void Save(Student S){int i=0;FILE *fp; /*定义文件指针*/char filename[100]; /*定义文件名*/printf("\t\t输入文件名:"); /*输入文件名*/scanf("\t\t%s",&filename);if((fp=fopen(filename,"w"))==NULL) /*打开文件*/{printf("\t\t无法打开该文件\n");system("pause");return;}fprintf(fp,"%d\n",S->Total); /*循环写入数据*/while(i<(S->Total)){fprintf(fp,"%-10d%-10s%-10s%-10s%-10s\n",S[i].D_number,S[i].S_bednum,S[i].S_nu mber,S[i].S_name,S[i].S_class1);i++;}fclose(fp); /*关闭文件*/printf("写入成功!\n"); /*返回成功信息*/}//退出程序时判断是否保存函数void Judge_Save(int i,Student S){char ch;if(i){printf("表中数据已改变,是否保存后再退出(Y/N)?:");ch=getchar();getchar();while(ch!='n'&&ch!='N'&&ch!='y'&&ch!='Y'){printf("请输入N(n)或者Y(y):");ch=getchar();getchar();}if(ch=='y'||ch=='Y')Save(S);}}//菜单void Menu(){system("cls"); /*运行前清屏*/printf("\n");printf(" 青岛农业大学学生宿舍管理系统\n\n");printf(" \n"); printf(" 作者:明伟、李善虎、胡蒙亨\n");printf("\n");printf("\t\t=============学生宿舍管理系统===========\n"); /*菜单选择*/printf("\t\t \n");printf("\t\t 1.新生入住 \n");printf("\t\t 2.修改入住学生信息 \n");printf("\t\t 3.退房服务 \n");printf("\t\t 4.以姓名查询学生信息 \n");printf("\t\t 5.以学号查询学生信息 \n");printf("\t\t 6.以寝室号查询学生信息 \n");printf("\t\t 7.查询全部学生信息 \n");printf("\t\t 0.退出程序 \n"); printf("\t\t=========================================\n");} int main(){int i;Student S;S->Total=0;do{Menu();printf("请选择您要运行的选项按(0-9):");scanf("%d",&i);getchar(); //获取换行符putchar('\n');switch(i){case 1:Add(S);system("pause");break;case 2:Alter(S);system("pause");break;case 3:Delete(S);system("pause");break;case 4:Query_S_name(S);system("pause");break;case 5:Query_S_number(S);system("pause");break;case 6:Query_D_number(S);system("pause");break;case 7:Display_All(S);system("pause");break;case 0:Judge_Save(dirty,S);exit(0);break;default:printf("选择错误:请在选项到之间选择!\n\n");break;}}while(i!=10);}(注:黑体部分为我负责的部分)2.程序运行说明(包括结果说明)程序运行说明运行程序后,出现主菜单界面,按照主菜单上的编号进行操作即可,每输入一个编号后按回车即进入该子程序,然后按照提示输入或查询信息。

相关文档
最新文档