寝室管理系统.docx

上传人:b****3 文档编号:26990185 上传时间:2023-06-24 格式:DOCX 页数:37 大小:511.92KB
下载 相关 举报
寝室管理系统.docx_第1页
第1页 / 共37页
寝室管理系统.docx_第2页
第2页 / 共37页
寝室管理系统.docx_第3页
第3页 / 共37页
寝室管理系统.docx_第4页
第4页 / 共37页
寝室管理系统.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

寝室管理系统.docx

《寝室管理系统.docx》由会员分享,可在线阅读,更多相关《寝室管理系统.docx(37页珍藏版)》请在冰豆网上搜索。

寝室管理系统.docx

寝室管理系统

报告编号:

第七组

综合课程设计报告

寝室管理系统系统的设计与实现

 

学生姓名:

马玉汪强陶汝俊刘洋欧阳旭

指导教师:

李杰

所在系:

电子信息系

所学专业:

计算机科学与技术

年级:

10级计算机

(2)班

 

2012年6月

目录

摘要3

第1章前言4

1.1系统前景4

1.2开发环境简介4

1.3系统主要功能4

第2章需求分析5

2.1系统功能分析5

2.2设计目标6

2.3设计分工6

第3章概要设计7

3.1.系统登录界面7

3.2输出模板

3.3注册学生信息模块7

3.4查询信息模块8

3.5显示信息模板9

3.6修改信息模块9

3.7删除信息模块9

第4章详细设计9

4.1.系统登录界面

4.2.输出模板10

4.3.注册学生信息10

4.4.查询模块11

4.5显示所有的信息15

4.6修改学生信息16

4.7删除学生信息17

第5章系统实现18

5.1主要成员函数的分析18

5.2用户手册18

5.3测试数据与运行结果18

5.4改进设想26

5.5经验与体验26

第6章实验小结27

参考文献29

摘要

在当今大学逐年扩招以及科学技术的迅速发展的形势下,传统的手工操作的宿舍管理模式已经不能满足学校寝室管理的需要。

在信息社会发展的今天,一切工作都在计算机系统的帮助下得到了长远的发展和进步,学生寝室管理也同样摆脱了过去传统的方式,设计开发生寝室管理信息系统,可以更快捷、方便的实现高校寝室学生方面的管理。

 寝室信息管理系统实现了学校当中学生的各项信息,使相关人员操作起来更加简单。

虽然显示的信息不多,但是足够我们使用。

寝室信息管理系统的代码包含了输入、显示、排序、增加、修改、删除等功能。

寝室信息管理是高校内每一个系部或院部都必须切实面对的工作,传统的人工方式管理寝室信息存在着许多缺点,效率低、保密性差且较为繁琐。

另外,随着寝室数量的增加,工作量也大大增加,这也增加寝室管理者的工作量和劳动强度,也给寝室信息的查找、更新和维护都带来了很多困难。

寝室管理可以迅速检索、方便查找、可靠性高、存储量大、保密性好、寿命长、成本低等,能够极大地提高学生管理的效率。

建立一个寝室管理系统,使寝室管理工作规范化,系统化,程序化,避免寝室管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改寝室信息的情况。

本组选择了“寝室管理系统”课题,主要目的是要利用C++面向对象程序设计语言实现寝室管理系统系统,使得整个程序可以实现寝室信息的注册、查询、修改和删除一系列功能,通过此次实训巩固C++知识点。

在实训过程中,我们通过分工完成每个模块,并将这些模块整合起来,完成了这次设计。

在设计中,我们运用了C++中的一些组件来完成设计,使得整个系统的操作变得更加简单而富有操作性。

为了更好的满足用户的需要,我们采取了信息的提示方式,让用户操作更简单,更容易。

通过此次实训,我们不仅更多的了解了专业课的知识点,而且查询和收集信息方面学到了很多新知识.

关键词:

寝室管理;C++;面向对象;

第1章前言

1.1系统前景

寝室管理系统能够方便地查询学生的信息,有助于对寝室信息的管理。

而查询信息的直观显示将有助于系统的用户一目了然地掌握学生的情况。

本系统使用C++语言编写,采用面向对象的思想设计。

1.2开发环境简介

Visual

VisualC++6是美国微软公司开发的C++集成开发环境,它集源程序的编写、编译、连接、调试、运行,以及应用程序的文件管理于一体,是当前PC机上最流行的C++程序开发环境。

C++的流行使得许多软件厂商都提供了自己的C++集成开发环境,称为C++IDE。

著名的有Borland公司的C++Builder,IBM公司的VisualAgeForC++,Microsoft公司的VisualC++等等。

其中,VisualC++6.0是当今Windows操作系统下最流行的C++集成开发环境之一。

C++语言是一种优秀的面向对象程序设计语言,它在C语言的基础上发展而来,但它比C语言更容易为人们学习和掌握。

C++以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。

面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃,C++完美地体现了面向对象的各种特性。

1.3系统主要功能

本系统可以实现对学生信息的管理:

●学生信息注册

●信息的查询

●信息的浏览

●信息的修改

●信息的删除

 

第2章需求分析

目前市面上流行的管理系统不少。

但是,对于学校的寝室管理系统来说,需要大型的系统,而且是一个操作方便,功能实用,能满足学校寝室数据的管理及需求的系统。

我们的目标就是开发一个功能实用、操作方便,简单明了的寝室管理系统。

寝室管理系统对每个学生信息包含了学号、班级、姓名、寝室号等等。

我对寝室的信息建立了一个数组。

系统主要功能如下:

1.选择界面:

管理者通过不同的选择查看学生的各种信息;

2.学生信息的注册:

将学生的信息输入,包含了学生的学号、姓名、成绩、家庭住址等;

3.学生信息的查询:

按不同的方式查询信息。

4.学生信息的显示:

输入学生的学号显示学生的各种信息;

5.学生信息的修改:

输入学生的学号,修改一个学生的信息。

6.学生信息的删除:

输入学生的学号,删除学生的所有信息;

面对每天纷繁复杂的寝室管理工作,本管理系统很好的解决了工作人员的烦恼。

相比传统的人工管理,此管理系统具有:

功能全面、操作简单、检索迅速、查找方便、可靠性高、存储量大、成本低等绝对的优势。

通过本管理系统,可以大大的节约工作时间,减少工作量,提高了工作效率,能帮助工作人员更加方便、高效的管理学生。

本管理系统的设计环境:

VisualC++6.0;WindowsXP/7SP3

2.1系统功能分析

1).注册学生信息操作

对学生信息进行注册操作相当于输入和增加两个功能。

2).查询操作

为了方便用户根据不同的查询条件进行查询,这里设计了多种查询方式,使得用户使用更方便,程序更具有健壮性,使得系统更有操作性。

3).显示操作

将学生信息显示出来。

4).修改操作

为使系统更具有安全性,按学号对信息进行修改。

在执行此操作时,可以通过主键将需修改的信息查出来,然后再进行修改,修改时输入的数据也应像添加信息那样,判断输入的信息是否是合法信息。

5).删除操作

为了系统的安全。

删除一些非法用户。

可执行删除操作,是为了不使系统保存这些已无用的信息而占用内存,从而达到优化系统的目的。

2.2设计目标

通过分析,主要实现如下目标:

(1)根据上述要求和思想算法的分析,需要设计一个类students。

由于学生信息包含有学号、姓名、宿舍号、系别等数据,该系统定义一个类student类,包含学生各种信息。

要求实验以下功能:

●注册学生代码:

按上面注册学生代码;

●查询:

按学号,宿舍号,姓名分别查看学生信息;

●浏览:

能查看所有寝室人员信息

●修改操作:

输入学号,修改相应的寝室人员信息(如修改室长等信息);

●删除:

删除寝室人员的记录信息;

这样不仅方便信息的录入何显示,也方便在数据的处理上。

各功能的实现均可在类student中定义各相关的成员函数。

最后在主函数中通过switch语句的使用来具体实现,通过主菜单的指导,在switch中,case后接不同选择,不同的case语句后接上相关的成员函数来实现各功能。

原始数据的读入可以通过使用磁盘文件输入流或键盘输入方式,处理后数据可以通过显示器直接显示结果或将结果输入某一指定文件中。

由于某些功能要求处理后的数据与原数据同时输出,因此,在student类中定义一专用的信息输出与储存函数,负责在每一函数实现后对其进行输出与储存。

 

2.3设计分工

●测试工作:

马玉(组长)(1082139)

●信息的查找:

汪强(1082144)

●Student类的实现:

陶汝俊(1082069)

●学生代码注册:

刘洋(1082050)

●输出模板的实现:

欧阳旭(1082060)

 

第3章概要设计

3.1.系统总模块

 

3.1系统总模块

3.2注册学生信息模块

根据需求分析将注册学生信息分成的内容如图3.2所示:

3.2学生代码注册模块图

 

3.3查询信息模块

为了方便管理员管理学生所有的信息,管理员只需查询信息界面中输入想要查询的信息,再通过查询语句将其连接到数据库就可以显示出相关资料。

因一个人信息会有好多项,管理员可以根据一些主要信息来查询,例如按学号查询等等,查询模块如下图所示:

 

 

图3.3查询模块图

3.5显示信息模快

用此方法可以浏览学生的相关信息。

3.6修改信息模块

修改模块完成管理员对学生基本信息的更改工作,即不需要生成变动记录的有关信息可以直接修改保存。

3.7删除信息模块

修改学生的学号,直接删除所有信息

3.8退出系统模块

直接退出系统

第4章详细设计

4.2.输出模板

输出模板主要是系统的功能显示;分别是注册学生信息,按学号查看学生信息,按宿舍号查看学生信息,按姓名查看学生信息,按班级查看学生信息,显示全部学生信息,按学号修改学生信息,按学号删除学生信息,最后输入选择。

4.2.注册学生信息

就是把每个学生的的信息存到stu..dat文件中,没来一个学生就要注册一次。

4.3注册学生信息流程图

4.3.查询模块

信息查询功能:

进入此系统能够清晰地查询使用者需要的学生寝室信息,能够根据寝室编号、班号、学号或姓名分别进行查找,并在查询成功后输出所有的寝室人员信息。

模板while(flag=='y'||flag=='Y')来创造循环环境,以菜单形式询问使用者需要使用的查询方式,通过使用者的选择,进行不同方式的查询。

查询功能用flag控制循环实现,若找到则输出该寝室的所有信息,否则根据判断是否i==s.length,输出查询失败的信息。

并且通过清屏system("cls")和暂停system("pause")来实现屏幕的清洁,用break返回主菜单。

a.按学号查找寝室人员信息

4.4按学号查找寝室人员信息

进入学号查询界面时,显示“1.请输入学生的学号:

2.返回主菜单:

”。

输入‘1’,则提示“输入学号:

”,若输入的学号长度为七,按读方式打开文件,显示人员信息;若不是,则提示错误。

输入‘2’,返回主菜单。

b.按姓名查找寝室人员信息

4.5.按姓名查找寝室人员信息

 

进入姓名查询界面时,显示“1.请输入学生的姓名:

2.返回主菜单:

”。

输入‘1’,则提示“输入姓名:

”,按读方式打开文件,若输入的姓名与文件的姓名是相同的,显示人员信息;若不是,则提示错误。

输入‘2’,返回主菜单。

 

c.以班级查找寝室人员信息

4.6以班级查找寝室人员信息

进入班级查询界面时,显示“1.请输入学生的班级号:

2.返回主菜单:

”。

输入‘1’,则提示“输入班级号:

”,按读方式打开文件,若输入的班级号与文件的班级号是相同的,显示人员信息;若不是,则提示错误。

输入‘2’,返回主菜单。

 

d.以宿舍号查找寝室人员信息

4.7按宿舍号查找寝室人员信息

进入宿舍号查询界面时,显示“1.请输入学生的宿舍号:

2.返回主菜单:

”。

输入‘1’,则提示“输入宿舍号:

”,按读方式打开文件,若输入的宿舍号与文件的宿舍号是相同的,显示人员信息;若不是,则提示错误。

输入‘2’,返回主菜单。

 

4.4显示所有的信息。

在你注册学生后,你注册的学生以二级制文件保存在stu.dat文件中,当你选择6时将会把文件打开,然后把文件显示在可视窗口上。

4.8显示所有的信息流程图。

 

4.5修改学生信息。

在你注册学生时,学生的信息注册错误了或学生信息有改动时,这时就要修改学生的基本信息,这时只要你选择7就会提示你输入修改的学生的学号,然后进行修改。

4

4.9修改信息流程图

4.6删除学生信息。

当一个学生离开学校时,他的信息需要删除,这时只要你选择8,就会提示你输入删除学生的学号,然后进行删除学生的信息。

4.10删除信息流程图

第5章系统实现

在寝室管理系统中,实验要求实现的功能在该系统中基本上可以实现,并且正常运行。

该系统能实现对寝室信息进行规范化的管理,管理员通过这个系统可以浏览学生的基本信息,还可以对这些信息进行一些基本操作比如的注册、删除及修改,按条件查询统计一些信息等等,通过查询统计可以了解指定学生的指定信息;学生可以进行信息的修改、信息的查询等操作。

5.1主要成员函数的分析

1.,实现数据向程序中的输入,通过“stu.dat”中储存的数据向程序输入,使用文件的输入输出流。

在创建过程中,首先要打开文件“file1.open("stu.dat",ios:

:

in|ios:

:

binary|ios:

:

beg);”这样数据才能读入,文件使用完毕后,要记住关闭文件,当再次要使用文件时,再打开文件,打开后一定要关闭,确保文件中数据的安全在文件中的数据一定要以0结束,这样为读取数据结束提供一个标志位。

2.student:

:

student(longa,char*b,char*c,char*d)该函数时数据的存储与显示数据函数。

在函数体中要首先建立一个二进制文档,通过输出、输入流向文件中储存数据,储存结束后同样要关闭文件。

向显示器上显示是将文本文档中的数据通过setdata函数输出。

5.2用户手册

程序运行时,首先提示用户是否进行操作,选择“Y/y”后,进入操作界面,出现功能选择菜单。

首先要进行数据的录入,选择“1.信息注册”选项,这时数据直接通过磁盘文件录入程序中;录入结束后可按菜单中功能选项进行选择操作如选择查找功能,可以选择“按学号查找”、“按姓名查找”、“按宿舍号查找”进行按不同方式查找,查找结束后,查找结果直接输出再显示器上;选择“删除信息”选项,可以键入要删除学生的信息,然后程序会再显示器上输出删除被删学生信息后的数据,并将其数据录入相应的磁盘文件;选择“交换学生宿舍”选项后,显示再显示器上和存储再相应的文本文件。

当执行相关操作后,确定退出程序后,这时选择“退出程序”选项,退出程序,结束操作。

5.3测试数据与运行结果:

程序创作完毕后,进行调试。

刚开始调试过程中,会遇到很多的问题,问题有编译错误和语法错误等。

对存在每一个问题,首先查找问题所存在与发生的地方,根据错误的现状和形式,重新考虑自己的编译思想或选择另一种比较先进的算法来实现;有时问题会在代码的编译上。

为使使用者有耳目一新的感觉,在数据的输出时也要讲究美观的因素,如在输出时要采用必要的跳格(\t)或回车(endl)。

测试数据

测试数据如图5.1所示:

5.1测试数据图

系统的测试环境

1、系统测试的性能要求

  系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。

  本系统运行环境为网络版,在运行时对系统整体性能要有一定的要求,要求:

软硬件要求:

系统环境winXP+sql2000

  硬件系统环境P42.4、512MB内存、80G硬盘

  系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。

此外,对其它软件几乎没有依赖性,程序健壮性较好。

 2、系统测试的评价

  系统功能评价:

此系统能实现寝室管理的基本功能,符合对系统的要求,系统运行稳定。

  结论:

此系统是可行的。

运行结果

5.3.1运行进入系统

输入任意键实现进入系统系统界面的功能如5.2所示:

5.2运行进入系统图

5.3.2信息注册

按1键输入有两种选择:

输入1实现按学号注册学号功能,输入2返回主菜单,如下图5.3所示:

5.3按学号注册功能图

5.4返回主菜单功能图

5.3.3按学号查找

按2键输入学生学号,输入的学号格式不对,会有提醒,输入正确格式,实现按学号查找功能如图5.4所示:

5.5输入学号错误图

 

输入选择错误,会有提示,如图5.6所示:

5.6输入选择错误图

 

5.3.4按宿舍号查找

按3键实现按宿舍查找功能,如5.7图所示:

5.7按宿舍号查找图

 

5.3.5按姓名查找

按4键实现按姓名查找功能,如5.7图所示

5.7按姓名查找图

5.3.6按班级查找

按5键实现按班级查找功能,如5.8图所示

5.8按班级查找图

5.3.7显示全部信息

按6键实现显示全部学生信息功能,如5.9图所示

5.9显示全部信息图

5.3.8按学号修改信息

 

按7键实现按学号修改信息功能,如5.10图所示

5.10按学号修改信息图

 

5.3.9删除所有信息

按8键,实现删除全部信息功能,如5.11所示。

5.3.10退出系统

按9键实现退出系统功能,如5.11所示:

5.11退出系统图

常见问题

问题一:

运行时系统修改成员函数不合法,这时就要检查成员函数在类中的声明和函数体的编译,函数名的命名,以及函数的返回类型,数据的类型,当然也可能会在编译时出现的局部书写错误或掉漏写某些数据等等。

问题二:

程序无语法错误,但有些功能无法实现,存在局部错误。

这时应检查出现不能正常工作的功能对应的成员函数体,错误可能出现在某一语句没有执行,像循环条件错误,返回值错误,没有输入、输出语句等等。

问题三:

文件的读写出现故障,这时应检查文件输出、输入流函数。

读出错误可能在文件中数据没有以“0”结束;输出语句的编译错误或控制输出的循环条件语句存在问题。

输入错误可能发生在输入语句的编译上,输入语句的编译错误或控制输入的循环存在问题。

这样都会造成数据的漏失或重复或杂乱等等问题。

常见问题的纠正在于问题的积累和自主的改正,发现问题及时的修正,当然修正是需要时间和耐心的,一步步的改正终究会失失问题变得明朗化的。

5.4改进设想

本程序尚有很多不足之处,首先进入程序,没有分管理员和普通用户,这样在实际的操作中是不合理的,在很多功能上也存在很多漏洞与不足。

如在学号的处理上最好使用字符串来规定来代替本程序中使用整形定义的不足。

学生的相关信息也存在不全面,要是在具体的营运上,是必要改进与添加必要的属性的。

同时寝室的信息还有很多,如寝室人员的用水用电等情况,寝室卫生状况,寝室人员的家庭状况等等信息。

可以考虑在类的成员函数上在添加部分成员,同时可以在创建一个到两个组合类,继承与派生类,在类中同时最好还应有友元函数来处理部分关系。

5.5经验与体验

通过设计与完成课程设计任务,我有很大的收获,比较全面的了解了一些常见的数据处理方法,c++课程中常见的算法思想,知道了面向对象的思想方法和类的运用,程序中运用的输出输入方式等等。

掌握了部分问题的查找和分析与排除方法。

本课程的学习与加强要借助全面的力量的。

 

第6章实验小结

通过这次的实训我们懂得了利用集体的力量完成一件事情,在实训过程中我们遇到了很多的困难,程序反复反复的出现错误,让自己在过程中寸步难行,有时自己都有一种想放弃的感觉,但是在老师和同组同学的帮助之下,大家一起讨论,一起研究,困难解决了,而且还让我们学到很多的知识,还复习了很多以前的知识的不足。

就我们开发学生宿舍管理系统而言,我们对学生宿舍管理系统有了更多的了解。

运用C++的语言,定义类和模版,使我们对C++有了更为系统的了解。

本组所设计的系统主要有以下几个功能:

1注册学生2按学号查看学生信息3按宿舍号查看学生信息4按姓名查看学生信息5按班级查看学生信息6显示全部学生信息7按学号修改学生信息8按学号删除学生信息。

在此次实训中,我们遇到的问题主要是一开始的系统不完善,很多细节方面没把握住。

掌握了ios:

:

in代码和ios:

:

out代码的不同。

以及解决了最后的删除学生信息,删除完后数据被清空的情况。

但是,总体来说程序还是相对有些简单,只能单一的通过一些简单的信息来管理学生寝室,不能很全面的用此程序来管理整栋楼的学生寝室,删除的功能还没实现,没有多添加一些类,没有按学号号或其它信息进行排序,希望以后后具有良好的问题解决能力。

为了更好的满足使用者的需求,在以后的程序开发中,我们会注意并尽量改正我们在此次实训中遇到的问题。

用我们所学的知识解决这些问题,在这次实训中,我们从实践中巩固了专业课的知识,在程序设计方面有了更为深刻的了解,同时,我们也明白了团队的力量。

想要设计编译好的程序,必须要一个团队有很好的默契,才能编程出好的程序。

这样的课程设计是一个很好的实践的机会,从中我们学到了很多的软件设计经验,也体会到了从事软件开发方面工作需要比其他行业更高的严谨认真的态度和作风,不能有任何松懈马虎的作为,对任何一个危及到工作的问题都不能放过。

致谢

经过这次数据结构课程设计我们收获了很多,指导老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我们学到了好多书本上学不到的知识。

无论在理论上还是在实践中,都给与我们很大的帮助,使我们得到很大的提高,这对于我以后的工作和学习都有一种巨大的帮助,在此感谢他耐心的辅导。

在撰写论文阶段,老师审阅我们的论文,提出了许多宝贵意见,没有他的指导,我们就不能较好的完成课题设计的任务。

感谢皖江学院、电子信息系提供的实践机会,实验室人员提供的实验环境。

还有就是要感谢同学给与的帮助,参考文献的原作者。

参考文献:

[1]刘振安等编著《C++程序设计课程设计》机械工业出版社

[2]吴乃陵等编著《C++程序设计》北京:

高等教育出版社

[3]李龙澍《C++程序设计实训教程》北京:

清华大学出版社

[4]谭浩强《C++面向对象程序设计》北京:

清华大学出版社

[5]严蔚敏吴伟民《数据结构》北京:

清华大学出版社

 

本页为著作的封面,下载以后可以删除本页!

【最新资料Word版可自由编辑!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1