宾馆信息管理系统 JY.docx
- 文档编号:29226249
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:23
- 大小:150.77KB
宾馆信息管理系统 JY.docx
《宾馆信息管理系统 JY.docx》由会员分享,可在线阅读,更多相关《宾馆信息管理系统 JY.docx(23页珍藏版)》请在冰豆网上搜索。
宾馆信息管理系统JY
哈尔滨学院软件学院课程设计任务说明书
题目:
宾馆管理系统
院(系)
软件学院
专业
软件工程
年级
11-1
姓名
敬岩
学号
11031105
指导教师
王克朝
职称
讲师
2012年7月20日
目录
目录
摘要1
第一章前言4
1.1课程设计目的4
1.2课程设计内容4
1.3课程设计目标5
第二章需求分析6
2.1系统功能需求分析6
2.2系统实现需求分析6
2.3系统性能需求分析6
第三章开发工具介绍及数据库设计7
3.1系统开发工具简介7
第四章概要设计8
4.1系统总体设计8
4.11系统开发思想8
4.12系统模块设计8
4.2程序模块设计9
第五章详细设计10
5.1数据结构10
5.2程序模块10
第六章系统测试运行16
6.1测试目的16
6.2测试方案16
6.3测试内容16
6.31测试数据选择16
6.32测试结果16
6.33测试结果分析:
19
总结20
心得体会21
摘要
宾馆管理系统是典型的信息管理系统,是酒店管理的重要组成部分,其处理信息量很大。
这次的课程设计是用C和C++编写的一个简单的酒店信息处理系统,实现了对新住旅客信息的录入,换房旅客信息修改,退房删除,以及房间信息和旅客信息的查询。
此程序运用了一个信息(Info)结构体。
主界面通过菜单提示来进行操作,实现信息的录入,查询,以及删除。
录入信息分两步,首先是信息的输入,这些信息的输入在Add(l)函数中完成;其次是保存信息,这主要在Save(Linkl)函数中完成,;房间信息修改则主要在Modify(Linkl)函数中完成,其它功能也对应各自函数。
其次就是,此程序对顾客的信息进行了文件保存,这样保证了文件的安全性和持久性,是比较实际的操作。
最后就是绿色字体,黑色背景,界面美观,同时操作简单,信息文件保存稳定安全。
此程序的设计最终目的是实现旅客信息的录入,方便酒店管理,提高效率,降低成本,方便,简洁,高效的实现整个酒店的信息处理,从而满足客户需求。
关键词:
信息录入;信息安全;文件保存;客户需求。
Abstract
Hotelmanagementsystemisatypicalmanagementinformationsystem,isthehotelmanagementimportantcomponent,theprocessingofinformationinlargequantities.ThiscourseisdesignedwithCandC++preparedasimplehotelmanagementinformationsystem,realizethenewlivingpassengerinformationentry,modifydeletewardspassengerinformation,checkout,aswellastheinformationoftheroomandpassengerinformationquery.
Thisprocedureusinganinformation(Info)structure.Themaininterfacethroughthemenupromptstooperate,realizetheinformationinput,inquiries,anddelete.Inputinformationisdividedintotwosteps,thefirstistheinformationinput,theinformationinputintheAdd(L)functionofcompleteinformationispreserved;secondly,itismainlyintheSave(LinkL)function;complete,roominformationmodificationismainlyintheModify(LinkL)function,otherfunctionalsocorrespondstotherespectivefunction.
Secondly,thisprogramonthecustomerinformationofthefile,soastoensurethefilesecurityandpersistence,iscomparedtotheactualoperation.
Finallyisthegreenfont,blackbackground,beautifulinterface,atthesametime,simpleoperation,stableandsafeinformationfile.
Thisprogramdesignistoachievetheultimategoalofpassengerinformationinput,theconvenienceofhotelmanagement,improveefficiency,reducecost,convenient,simple,efficientimplementationofthehotel'sinformationprocessing,soastomeettheneedsofcustomers.
Keyword:
Information,keepinformation,securityfile,
Customerneeds
第一章前言
1.1课程设计目的
宾馆信息管理系统是一个宾馆不可缺少的部分,它对于管理者和消费者来说都非常重要,所以一个良好的宾馆管理系统应该能够为用户提供足够的信息处理能力和信息查询手段。
宾馆信息管理系统对于加强宾馆信息管理有着极其重要的作用。
当今社会经济发达,交通便利,人们活动的范围越来越广泛,因此,宾馆的旅客量也在日渐剧增,对于如何管理如此庞大的旅客信息显得更为复杂,传统的管理方法,不仅工作量大,而且特容易出现问题,如效率低,保密性差,另外时间一长,将产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难。
已不能适应时代的发展。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,
它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高管理者管理的效率,也是宾馆走向科学化、正规化管理,与世界接轨的重要条件。
因此,开发设计这样一套宾馆信息管理软件成为很有必要的事情。
该酒店信息管理系统采用C++语言开发研制,针对宾馆信息及其数据特点,可以全面实现对旅客信息的录入,换房旅客信息修改,退房结算,以及房间信息和旅客信息的查询等功能的计算机管理。
它能使宾馆管理的工作人员从繁重的工作中解脱出来,大大减轻了工作量,减少人为的工作失误,全面提高宾馆管理的效率,从而使宾馆对于旅客信息的管理水平和技术水平跃上一个新的台阶。
1.2课程设计内容
在程序设计中,可以采用多种数据结构来存储数据,但由于宾馆的房间数目一般都是固定的,每个房间所涉及的信息也是相对独立的,因此,以对象数组的方式存储数据,不仅方便,而且简单明了,查看方便,互不影响,信息安全,无疑是最好的选择。
为了简便期间,程序定义了一个信息Info结构体,来管理所有宾馆信息。
众多函数相对独立,却又紧密相连,构建起一个宾馆信息管理系统,实现了入住登记,换房修改,退房结算以及房间旅客信息查询几大基本功能。
对宾馆的信息具体管理如下:
(1)入住登记:
对旅客的姓名,身份证号,入住时间,年龄,房间收费等信息进行记录存储;
(2)换房修改:
对旅客换房的信息进行修改保存;
(3)退房结算:
对旅客退房时提供结算服务,以及信息删除
(4)信息查询:
提供房间以及旅客信息两方面的查询;
(5)操作保存:
对所有操作产生的信息进行文件保存,安全稳定;
1.3课程设计目标
建立宾馆信息管理系统,采用计算机对宾馆信息进行管理,进一步提高宾馆现代化水平。
帮助广大信息管理者提高工作效率、减少工作时间,实现宾馆信息管理工作流程的系统化、公平化、规范化和自动化。
为了保证系统能够长期、安全、稳定、可靠、高效的运行,本课题将达到以下几个目的。
(1)系统处理的准确性
系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足宾馆对信息处理的需求。
(2)系统的保密性
旅客信息是属于个人的隐私,所以系统在开发时,应该充分考虑系统的保密性,
以保证旅客的隐私权,因而没生成txt文件,解决了旅客信息安全的问题。
第二章需求分析
2.1系统功能需求分析
(1)以文件和数组完成对旅客和房间信息的管理;
(2)实现旅客的入住、换房和退房、查看旅客和房间信息等;
(3)从文件读取相关信息,将相关信息存储到文件的功能;
2.2系统实现需求分析
创建一个宾馆信息管理系统,其中包含:
1.信息输入函数Add(l);
2.信息保存函数Save(l);
3.换房函数Modify(l);
4.退房函数Del(l);
5.信息查询读出函数Qur(l);
2.3系统性能需求分析
1硬件环境:
处理器:
CPU主频在500MHz以上。
内存:
128MB以上。
硬盘空间:
10MB。
2软件环境
操作系统:
Windows98/Me/NT/2000/XP(推荐使用Windows2000/XP)。
调试环境:
VisualC++及以上版本。
第三章开发工具介绍及数据库设计
3.1系统开发工具简介
1.C语言介绍
C语言是一种计算机程序设计语言。
它既具有高级语言的特点,又具有汇编语言的特点。
它由美国贝尔研究所的D.M.Ritchie于1972年推出。
1978后,C语言已先后被移植到大、中、小及微型机上。
它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。
具体应用比如单片机以及嵌入式系统开发等。
2.开发工具介绍
本文所采用的开发环境主要是基于VC6.0和基于面向对象程序设计的C。
VC是个平台开发工具。
该软件使用TC2为内核,提供WINDOWS平台的开发界面。
因此也就支持WINDOWS平台下的功能,例如剪切、复制、粘贴和查找替换等。
而且在功能上也有他的独特特色。
例如语法加亮、C内嵌汇编、自定义扩展库的支持等。
第四章概要设计
4.1系统总体设计
4.11系统开发思想
基于以上系统设计目标,本文在开发宾馆信息管理系统时遵循了以下开发设计思想:
a)基于现在的软硬件环境而开发,充分利用资源,提高系统开发水平和应用效果;
b)操作尽量简单,直观,而且系统稳定,不影响功能;
c)采用模块化程序设计思想,既便于保存查询,又便于后续开发或维护;
d)设计思路清晰,逻辑简单,兼容性强;
4.12系统模块设计
本程序一共包含四个模块,分别是:
入住信息登记,换房信息修改,退房结算,信息查询;
模块图如下:
图4—1程序功能实际模块
4.2程序模块设计
由上面模块可以大体划分开程序的模块。
程序要处理的信息包括个人信息,房间信息;而对这些信息的操作又包括输入,保存,修改,查询,删除。
所以程序的模块可划分为一个数据结构体,几个操作函数,大体框架如下:
图4—2程序函数框架设计
第五章详细设计
5.1数据结构
所有数据通过文件操作完成,存储,读入全在文件中;
5.2程序模块
部分源代码如下:
//信息输入函数
voidAdd(Linkl)/*增加顾客*/
{
Node*p,*r,*s;
charnum[10];
r=l;
s=l->next;
while(r->next!
=NULL)
r=r->next;/*将指针置于最末尾*/
while
(1)
{
printf("(以'0'返回上一级菜单:
)\n请你输入顾客的房号");
scanf("%s",num);
if(strcmp(num,"0")==0)
break;
while(s)
{
if(strcmp(s->data.num,num)==0)
{
printf("=====>提示:
房号为'%s'的顾客已经存在,若要修改请你选择'4修改'!
\n",num);
printstart();
printc();
printe(s);
printstart();
printf("\n");
return;
}
s=s->next;
}
p=(Node*)malloc(sizeof(Node));
strcpy(p->data.num,num);
printf("请你输入姓名:
");
scanf("%s",p->data.name);
getchar();
printf("请你输入性别:
");
scanf("%s",p->data.sex);
getchar();
printf("请你输入年龄:
");
scanf("%d",&p->data.age);
getchar();
printf("请你输入出生年月:
");
scanf("%d",&p->data.birth);
getchar();
printf("请你输入电话:
");
scanf("%s",&p->data.tele);
getchar();
printf("请输入地址:
");
scanf("%s",&p->data.addr);
getchar();
printf("请输入工作单位:
");
scanf("%s",&p->data.wh);
getchar();
printf("请输入身份证号:
");
scanf("%s",&p->data.id);
printf("请输入入住时间");
scanf("%s",&p->data.room);
printf("请输入价格:
");
scanf("%s",&p->data.jiage);
getchar();
/*信息输入已经完成*/
p->next=NULL;
r->next=p;
r=p;
shoudsave=1;
}
}
//换房修改
voidModify(Linkl)/*资料修改*/
{
Node*p;
charfindmess[20];
if(!
l->next)
{
printf("\n=====>提示:
没有资料可以修改!
\n");
return;
}
printf("请你输入要修改的顾客编号:
");
scanf("%s",findmess);
p=Locate(l,findmess,"num");
if(p)
{
printf("请你输入新房号:
");
scanf("%s",p->data.num);
getchar();
printf("请你输入新姓名:
");
scanf("%s",p->data.name);
getchar();
printf("请你输入新性别:
");
scanf("%s",p->data.sex);
getchar();
printf("请你输入新的年龄:
");
scanf("%d",&p->data.age);
getchar();
printf("请你输入新的出生年月:
");
scanf("%d",&p->data.birth);
getchar();
printf("请你输入新的电话:
");
scanf("%d",&p->data.tele);
getchar();
printf("请输入新的地址:
");
scanf("%s",&p->data.tele);
getchar();
printf("请输入新的工作单位:
");
scanf("%s",p->data.wh);
getchar();
printf("请输入新的身份证号:
");
scanf("%s",p->data.id);
getchar();
printf("请输入新的入住时间:
");
scanf("%s",p->data.room);
printf("请输入新的价格:
");
scanf("%s",&p->data.jiage);
getchar();
printf("\n=====>提示:
资料修改成功!
\n");
shoudsave=1;
}
else
Nofind();
}
//信息保存
voidSave(Linkl)/*文件保存*/
{
FILE*fp;
Node*p;
intflag=1,count=0;
fp=fopen("c:
\\student","wb");
if(fp==NULL)
{
printf("\n=====>提示:
重新打开文件时发生错误!
\n");
exit
(1);
}
p=l->next;
while(p)
{
if(fwrite(p,sizeof(Node),1,fp)==1)
{
p=p->next;
count++;
}
else
{
flag=0;
break;
}
}
if(flag)
{
printf("\n=====>提示:
文件保存成功.(有%d条记录已经保存.)\n",count);
shoudsave=0;
}
fclose(fp);
}
//信息查询
voidQur(Linkl)/*查询顾客*/
{
intsel;
charfindmess[40];
Node*p;
if(!
l->next)
{
printf("\n=====>提示:
没有资料可以查询!
\n");
return;
}
printf("\n=====>1按房号查找\n=====>2按姓名查找\n");
scanf("%d",&sel);
if(sel==1)/*房号*/
{
printf("请你输入要查找的房号:
");
scanf("%s",findmess);
p=Locate(l,findmess,"num");
if(p)
{
printf("\t\t\t\t查找结果\n");
printstart();
printc();
printe(p);
printstart();
}
else
Nofind();
}
elseif(sel==2)/*姓名*/
{
printf("请你输入要查找的姓名:
");
scanf("%s",findmess);
p=Locate(l,findmess,"name");
if(p)
{
printf("\t\t\t\t查找结果\n");
printstart();
printc();
printe(p);
printstart();
}
else
Nofind();
}
}
第六章系统测试运行
6.1测试目的
为了检测该系统是否能够正确运行,以及该系统是否存在一些异常情况,并且通过测试进一步完善系统的功能,多为用户着想,更好的完善宾馆信息管理系统。
6.2测试方案
通过多次操作,对正确信息以及非法信息进行输入,测试系统能否正确处理。
6.3测试内容
6.31测试数据选择
姓名:
jingyan身份证号:
110
性别:
f年龄:
2
6.32测试结果如下:
图6—1登陆界面
系统登陆后的主界面,有菜单提示,对应不同的功能的操作,首先选择“1”,进行入住登记。
图6—2
对顾客的信息进行录入,按照提示进行输入,每次输入完敲击回车,保存。
图6—3顾客信息查询
通过选择按姓名或按性别操作,选择信息查询方式,查询操作完成后,系统自动打开文件,输出信息。
图6—4换房修改
选择换房修改操作,自动弹出修改信息内容,对应信息再次输入,进行换房修改操作。
图6—5退房删除信息
选择退房,进行结算,删除信息,删除后进行提示,文件信息已删除。
6.33测试结果分析:
经过多次科学测试,可的结论,该系统能准确,高效,稳定,简洁的实现用户需求的功能,同时信息安全,查看方便,操作简单。
总结
程序已经基本完成,实际和预期的一样,实现了入住登记,换房再登记,退房结算和信息查询功能,完全满足了客户的需求,信息存储通过文件操作完成,加强了信息的安全性和持久性。
另外,程序还有很多不足,比如年龄不应键入,而应该通过当前系统时间减去出生时间,自动生成。
再就是房间应该初始化标准,分单人间,双人间,豪华间等,满足顾客不同需求。
还有就是文件保存不应该单独设计操作,应该嵌入到信息输入中,自动保存。
最后就是应该加个程序登陆验证系统,以方便工作人员短暂离开又不影响信息安全性。
这些就是以后需要改进的。
最后,通过测试,系统性能稳定,并且能够高效,准确的进行宾馆信息处理,减轻了工作人员工作任务,降低了管理成本,可以说是基本满足了管理者需求。
心得体会
这是我第一次做的一个完整的系统的应运程序,尽管不是很大,但在做的时候还是遇到了很多问题,可见,我们对专业知识还是缺乏实际应运,理解的不够透彻,同时也缺少这种大点的项目的实习,缺少那种面向对象的模块化程序设计的思维。
因此在以后的学习中我会以更积极的心态参加专业组织的每次实践,同时更加注重自己平时思维的培养。
另外在这次设计中,我还学到不少东西,虽说是一些细杂的知识点,但都很实用,同时还让我明白,一个人的思维还是有极限的,因此,在自己没有解决办法时,可以问问同学,老师,锻炼下自己的交流能力,为以后的团队个合作做铺垫,因为真正的软件永远不可能是一个人完成的,团队才是战斗力。
短短的十天项目设计结束了,程序虽然很小,但是影响很大,第一次做完整的项目设计,第一次真切的感受到我们的专业真的很实用,游戏,管理系统,简单动画等等,原来我们都可以做,只是你愿不愿意的问题。
同时,也使我明白,专业知识学得再好,如果不应用于实践,都等于没学,因此,在今以后的三年中,我们一定要注意实际动手能力了,有想法就要去做,相信自己,anythingispossible,不断的挑战自己,努力把自己打造成一个优秀的软工,一个有真能力的工程师。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 宾馆信息管理系统 JY 宾馆 信息管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)