宾馆退房管理的设计与实现.docx

上传人:b****5 文档编号:2871328 上传时间:2022-11-16 格式:DOCX 页数:25 大小:139.75KB
下载 相关 举报
宾馆退房管理的设计与实现.docx_第1页
第1页 / 共25页
宾馆退房管理的设计与实现.docx_第2页
第2页 / 共25页
宾馆退房管理的设计与实现.docx_第3页
第3页 / 共25页
宾馆退房管理的设计与实现.docx_第4页
第4页 / 共25页
宾馆退房管理的设计与实现.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

宾馆退房管理的设计与实现.docx

《宾馆退房管理的设计与实现.docx》由会员分享,可在线阅读,更多相关《宾馆退房管理的设计与实现.docx(25页珍藏版)》请在冰豆网上搜索。

宾馆退房管理的设计与实现.docx

宾馆退房管理的设计与实现

计算机基础强化训练任务书

学生姓名:

专业班级:

指导教师:

工作单位:

计算机科学与技术学院

题目:

宾馆退房管理的设计与实现

初始条件:

理论:

学完计算机基础知识,掌握C/C++语言编程基础和VC开发平台的使用。

实践:

计算机科学系实验中心提供计算机及软件开发环境。

要求完成的主要任务:

(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

(1)系统需求分析,得到系统的数据需求和功能需求,分析结果用表格形式记录。

(2)系统设计,包括内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。

要求内存数据用链表组织,数据文件用文本文件,用户界面用字符界面,枚举量用枚举类型表示。

至少实现数据记录的增加、修改、删除、查询及相应结果的显示,查询应能按不同数据项进行。

(3)编制好程序后,设计若干测试用例,上机测试并通过所设计的程序系统。

(4)设计报告按格式要求书写。

设计报告书正文的内容应包括:

1.系统描述,包括问题说明、数据需求和功能需求;

2.系统设计,包括内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计的说明;

3.系统测试,包括测试用例的描述,测试方法和测试结果;

4.设计的特点、不足、收获与体会。

时间安排:

设计安排一周(21—21周(7月6-10日)):

周1上午:

指导教师介绍开发平台的使用、文件操作等。

周1下午:

完成系统分析、代码设计、文件设计、输入设计、

输出设计、用户界面设计和处理过程设计。

周2-周4:

完成程序设计与调试,并撰写设计报告书。

周五全天:

设计验收并收取设计报告(第1-8节课到实验中心进行上机验收)。

 

指导教师签名:

201年月日

系主任(或责任教师)签名:

201年月日

宾馆退房管理的设计与实现

1.系统描述

1.1问题说明

此次课程设计的要求是,内存数据用链表组织,数据文件用文本文件,用户界面用字符界面,枚举量用枚举类型表示。

完成数据记录的相应操作,并将结果显示出来。

结合本次的任务是设计与实现宾馆的退房管理,我们要完成初始信息的设定与储存、特定信息的查询和删除。

1.2数据需求

房间信息:

intnum

房间号

intgrade

房间等级

intprice

房间租赁每日价格

intmode

房间状态

顾客信息:

charname[10]

旅客姓名

intID

旅客身份证号

introom_num

旅客居住的房间号

intday

旅客居住天数

intcharge

旅客居住费用

1.3功能需求

1)信息的设定与存储:

对于宾馆中各房间规格设置不同,我们需要存储每个房间的基本信息,同时,我们还要存储每位入住旅客的基本信息,这样,我们就需要用两个文件分别保存房间信息和旅客信息。

2)信息的查询和删除:

在对信息进行操作时,需要先将信息从文本文件中读出。

对于查询的实现,提供两种方式供用户选择,即按顾客信息查询和按房间号查询,任何一种查询都是对两个文件中数据的操作,而两文件之间由房间号相关联。

对于信息的删除,我们用链表实现此操作,同时将更改后的信息重新存入文件,以取代原有信息。

2.系统设计

2.1内存数据结构设计

按照本次课程设计的要求,在内存中采用链表进行数据的存储:

房间信息存储表示:

structroom

{

intnum;//房间号

intgrade;//等级

intprice;//价格

intmode;//状态

room*next;//指向下一结点的指针

};

旅客信息存储表示:

structcustomer

{

charname[10];//旅客姓名

intID;//旅客身份证号

introom_num;//旅客入住房间号

intday;//旅客入住天数

intcharge;//住宿费用

customer*next;//指向下一结点的指针

};

2.2数据文件设计

对于两类信息需用不同的文本文件保存,这里使用“room.txt”文本文件保存房间信息,使用“customer.txt”文本文件保存旅客信息,对文件信息的操作分为读、写操作,程序中的实现如下:

写入:

fstreamout_r;//对room.txt写操作

out_r.open("room.txt",ios:

:

out);

fstreamout_c;//对customer.txt写操作

out_c.open("customer.txt",ios:

:

out);

读出:

fstreamin_r;//对room.txt读操作

in_r.open("room.txt",ios:

:

in);

fstreamin_c;//对customer.txt读操作

in_c.open("customer.txt",ios:

:

in);

2.3代码设计和输入/输出设计

2.3.1代码设计

room*Creat_room(room*&r)

操作结果:

打开文件“room.txt”,创建链表,并对链表中各结点的成员赋值,用以对各房间的基本信息的初始化,同时将各房间信息存入相应文件中。

customer*Creat_customer(customer*&c,room*rr,int&n)

初始条件:

宾馆中各房间基本信息已知

操作结果:

打开文件“customer.txt”,创建链表,对各结点的成员赋值,用以记录已入住宾馆的旅客的信息,并将所有旅客信息存入到相应文件中。

voidsearch_1()

初始条件:

文件“room.txt”和“customer.txt”已存在,并保存有相应所需信息。

操作结果:

打开两个文本文件,按输入的顾客信息进行查询,读出文本信息,找出所查询的顾客信息和对应房间信息,并输出;若未能查找到,则输出相应错误信息。

voidsearch_2()

初始条件:

文件“room.txt”和“customer.txt”已存在,并保存有相应所需信息。

操作结果:

打开两个文本文件,按输入的房间号进行查询,读出文本信息,找出所查询的顾客信息和对应房间信息,并输出;若未能查找到,则输出相应错误信息。

voidcheck_out(customer*c,room*rr)

初始条件:

房间信息和顾客信息的链式存储表示,文件“room.txt”和“customer.txt”已存在,并保存有相应所需信息。

操作结果:

对输入的顾客信息查找并删除表示顾客信息的链表中相应结点,并修改对应房间状态,将文件“room.txt”和“customer.txt”中原有信息清除,将更新链表中的信息对应存储,以实现文本中信息的更新,从而实现信息删除操作。

2.3.2输入/输出设计

对于此次课程设计,选用文件管理的方式对数据信息进行保存,采用文件管理的基本操作,利用流输出运算符“<<”和流输入运算符“>>”输输入输出标准类型数据。

对于用户,在界面上提供各种操作的入口,依次实现按顾客信息进行查询、按房间号信息进行查询、顾客退房管理等功能,根据用户的需要,可实现循环操作,在用户选择退出指令时,退出整个程序,并对数据进行保存。

2.4用户界面和处理过程设计

2.4.1用户界面设计

在对房间信息和已入住顾客信息进行初始化后,便可进入此管理应用的用户界面,界面设计如下:

voidwelcome()

{

cout<<"";

for(inti=0;i<10;i++)

cout<<"****";

cout<

cout<<"*欢迎进入宾馆退房管理系统*"<

cout<<"**"<

cout<<"*<1>按顾客信息查询*"<

cout<<"*<2>按房间号查询*"<

cout<<"*<3>退房管理*"<

cout<<"*<4>退出*"<

cout<<"";

for(intj=0;j<10;j++)

cout<<"****";

cout<

cout<<"请选择<1-4>:

";

}

效果图如下:

2.4.2处理过程设计

在查找顾客信息时,两种方法的实现都是运用对room.txt和customer.txt中的数据进行遍历,查找与相应职匹配的结果并进行输出,若没有找到匹配结果,则给出if()语句条件判断,输出查询未果提示。

而对文本文件的遍历是通过do…while语句实现的,对链表操作也是通过do…while语句确定指针的位置,实现查找删除工作。

在为用户提供多种功能时,是通过switch语句实现依据用户的不同选择调用不同功能函数,以实现不同功能,为实现操作的可持续进行,使用while语句来控制循环,给出程序结束控制条件控制程序结束。

3.系统测试

3.1测试用例的描述

房间初始信息:

房间号

房间等级

房间价格

当前房间状态

101—110

1

100

0

201—210

2

200

0

301—310

3

400

0

旅客信息:

姓名

身份证号

房间号

住宿天数

住宿费用

郭靖

123456

106

5

黄蓉

320143

107

5

杨过

542310

309

4

李斯

100001

210

7

段誉

130210

109

4

李斯

120130

301

8

3.2测试方法

1)按顾客信息进行查询:

分别查询已入住顾客中相同姓名不同身份证号的顾客信息,查询已入住的顾客和未入住的顾客信息。

2)按房间号查询:

查询已租赁的房间信息及对应顾客信息,以及未被租赁的房间信息。

3)退房管理:

提出退房请求,输入退房旅客信息,查找、结算并删除顾客信息,并对其进行检测。

3.3测试结果

3.3.1初始化后的文件信息

房间信息:

旅客信息

以上信息显示了文本文件room.txt和customer.txt分别对房间信息和旅客

信息的存储。

3.3.2信息查询

按旅客信息查询:

由上图输出结果显示,可以看到实现了对旅客住宿信息的按旅客姓名和身份证

号进行查询,并能对非入住人员的查询给出相应提示。

按房间号查询:

由上图输出结果显示,可以看到实现了对旅客住宿信息的按旅客房间号进行查

询,并能对为租赁房间的查询以及错误房间号的输入给出相应提示。

3.3.3退房管理

由上图输出结果显示,可以看到实现了对住宿旅客的住宿结算和退房管理,并

能对对未入住旅客的退房操作给出相应提示。

3.3.4退房操作后的文件存储

room.txt:

由上图显示可看到,在有旅客入住的房间,其状态表示mode=1,符合预期结果。

customer.txt:

由此可见,退房操作中删除的信息已经从customer.txt中删除,符合预期结果。

结束显示:

4.总结与体会

4.1总结

此次课程设计对于实现的功能是较为简单的,是我们所熟知的,但重要的是我们要学会使用文本文件存储数据信息,并对数据进行基本操作。

通过此次课程设计,我们不仅温习了已学的知识,提高其熟练程度,更熟悉了文本文件的操作,虽然开始时未能掌握对文本文件操作的要点,但经过反复尝试、同学讲解渐渐熟悉了文本文件中的一些操作。

另外,在实现功能上,我

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

当前位置:首页 > 考试认证 > 交规考试

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

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