武汉理工大学宾馆系统入住管理系统.docx
- 文档编号:27762684
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:14
- 大小:138.61KB
武汉理工大学宾馆系统入住管理系统.docx
《武汉理工大学宾馆系统入住管理系统.docx》由会员分享,可在线阅读,更多相关《武汉理工大学宾馆系统入住管理系统.docx(14页珍藏版)》请在冰豆网上搜索。
武汉理工大学宾馆系统入住管理系统
学号:
课程设计
设计题目
宾馆入住管理的设计与实现
专业
计算机科学与技术
班级
SY0901
姓名
指导教师
耿枫
2011
年
7
月
3
日
计算机基础强化训练任务书
学生姓名:
专业班级:
计算机科学与技术SY0901
指导教师:
耿枫工作单位:
计算机科学与技术学院
题目:
宾馆入住管理的设计与实现
初始条件:
理论:
学完计算机基础知识,掌握C++语言编程基础和VC开发平台的使用。
实践:
计算机科学系实验中心提供计算机及软件开发环境。
要求完成的主要任务:
(1)系统需求分析,得到系统的数据需求和功能需求,分析结果用表格记录。
(2)系统设计,包括内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。
要求内存数据用链表组织,数据文件用文本文件,用户界面用字符界面。
至少实现数据记录的增加、修改、删除、查询(查询应能按不同数据项进行)。
(2)编制好程序后,设计若干测试用例,上机测试所设计的程序。
(4)设计报告按格式要求书写。
设计报告正文的内容应包括:
1)系统描述包括问题说明、数据需求和功能需求。
2)系统设计包括内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。
3)系统测试包括测试用例的描述、测试方法和测试结果。
4)设计的特点、不足、收获和体会。
时间安排:
1、第19周(7月5日至7月9日)完成。
2、7月9日8:
00到计算机学院实验中心(三楼)检查程序、交课程设计报告、源程序(CD盘)。
指导教师签名:
2010年月日
系主任(或责任教师)签名:
2010年月日
1.系统描述
1.1问题说明
此次的课程设计题目是宾馆入住管理的设计与实现,要求用链表作为数据的存储结构,所谓宾馆房间信息的查询,添加和修改都是对链表中结点的查看、添加和修改的操作。
程序编程结束后要求有向导性的界面,能完成关于宾馆入住管理的相关的操作。
问题描述:
(1)文件处理。
所用入住房间的信息都是通过一个文件保存的,因此每次在程序执行时都要先从文件中读取出入住房间的信息,同时也要在每次登记入住信息后,再将这些信息保存至文件中,从而实现对于文件的读写操作。
(2)用户可以根据程序在运行窗口所显示的功能提示菜单进行选择,从而实现宾馆客户入住信息的登记(即添加),查询和修改等操作,对于一些特殊的情况也应该能够进行特殊的处理,系统能够给出相关的提示和说明。
1.2数据需求
int型
容量
char型
客户姓名
char型
房间号
bool型
客房是否为空
int型
档次
1.3功能需求
操作
相关功能说明
查询
根据客人姓名或者房间号进行查询,输出信息包括客人姓名,房间号,住房档次,容量以及已入住房间数;住用户信息由文件读入后添加到链表中,然后输出显示。
添加
输入客人姓名,输入要入住的房间号,输入客房容量以及已入住客房数来判断是否还有空房,然后对住房档次进行选择,对住房价格进行判断
存储
保存至文件:
将客户登记好的信息保存至文件中
浏览
显示能够运行的功能
修改
根据客户姓名或房间号,进一步修改客户相关信息
2.系统设计
2.1内存数据结构设计
classroom
{
friendclasslist;\\将list表示为room的友类,便于提取成员数据
private:
charnum[8];\\房间号
intcapacity;\\容量
intgrade;\\档次
doubleprice;\\价格
intchecked;\\定义查询数据
public:
room():
checked(0){};\\查询是否还能入住
intcheckIn(intn);
};
classlist
{
private:
node*head,*tail;\\定义头指针与尾指针
public:
list();\\构造函数
~list();\\析构函数
voidshowTitle();\\输出界面信息
voidshow(node*);\\输出文本信息
voiddisplay();\\按指针顺序调用show函数来输出界面信息
voidinsert(node*);\\插入新节点
voidsetData(node*);\\输入新用户的信息
voidadd();\\调用插入函数insert来插入新客户信息
voidmodi();\\修改用户信息
node*qur(int);\\对用户信息进行查询,有按房间号和按姓名查找两种方式
voidmenu();\\输出功能表
voidselect();\\对要进行的功能进行选择
voidsave();\\保存至文本
};
2.2数据文件设计
使用文本文件”d:
\\info.txt”存储已入住房间的相关信息,并且存储在d盘。
程序在每次执行中可以选择“保存至文件”将本次执行过程中的入住用户信息保存至该文本文件中,下次执行程序时,程序自动从文件中读取相关信息,并保存在初始化的链表中。
主要利用到如下语句:
ofstreamout;
out.open("d:
\\info.txt",ios:
:
out);\\将数据保存至文本
out<<"房间号\t"<<"容量\t"<<"档次\t"<<"价格\t"<<"已入住"< while(p! =tail) {out< p=p->next;\\将各种信息输到文件 } out.close();//关闭文件 2.3代码设计 voidlist: : Insert() 操作结果: 初始化链表节点,并且建立链表。 确定链表的头和尾。 voidlist: : add() 初始条件: 链表已经存在。 操作结果: 向已经存在的链表添加新节点,通过调用函数setData来实现新节点各成员的初始化 voidlist: : setData() 初始条件: 链表的初始化操作已顺利进行。 操作结果: 对链表新节点进行数据输入,输入客人的各种信息。 在屏幕上进行显示。 node*list: : qur() 初始条件: 客户选择了入住方案,并入住房间。 操作结果: 通过查询客人的姓名或者房间号来判断是否有此客人的信息。 若有的话则输出此客人的全部信息。 Voidlist: : modi() 初始条件: 已找到此客人的住房信息。 操作结果: 对客人的住房信息作出更改。 Voidlist: : save() 初始条件: 有入住额客户。 操作结果: 将用户的信息保存在文件中。 voidlist: : menu() 初始条件: 程序运行正常 操作结果: 在显示器上输出各种可运行的功能,为使用人员进行选择。 Voidlist: : select() 初始条件: 各种功能已显示在屏幕上。 操作结果: 对各种功能进行选择,然后进入对应的函数对数据进行操作。 Intmain() 2.4其他设计 2.4.1输入/输出设计 程序每次执行时,首先从文本文件info.txt中利用ofstreamfin(“d: \\info.txt”)的语句提取数据生成链表,若文件info.txt中无房间信息,则输出“文件中无内容可以导入”,然后输出操作提示。 输入命令提示中的序号便可以选择相应的命令,增加记录时逐项提示输入房间和姓名,然后提示各种可行方案供客人选择,根据提示,选择相应的序号后,再通过登记,就可以将信息添加到链表中。 查询分为查询空房和查询已住用户信息,在主菜单中按照命令提示进行选择。 如果查询空房,就将未入住旅客的各种类型客房显示在命令中,用户按照提示命令进行选择,就可以将空房的房间号码输出;查询已住客房的信息时,根据提示操作可以查看三种不同类型房间的入住信息。 保存至文件即将链表中的信息写到文件中。 选择主菜单中的退出则退出程序。 2.4.2用户界面设计 (1)菜单界面 cout<<"******宾馆信息管理*******"< <<"**"< <<"*1.浏览*"< <<"*2.添加*"< <<"*3.修改*"< <<"*4.查询*"< <<"*5.退出*"< <<"**"< <<"*************************"< (2)显示当前客房信息 cout<<"房间号\t"<<"客人姓名\t"<<"容量\t"<<"档次\t"<<"价格\t"<<"已入住"< cout<<"房间号: "; cin>>p->r.num; cout<<"客人姓名: "; cin>>p->r.name; cout<<"容量: "; cin>>p->r.capacity; cout<<"档次: "; cin>>p->r.grade; switch(p->r.grade){ case1: cout<<"房间价格为: 1000"; p->r.price=1000; cout< case2: cout<<"房间价格为: 800"; p->r.price=800; cout< case3: cout<<"房间价格为: 600"; p->r.price=600; cout< case4: cout<<"房间价格为: 500"; p->r.price=500; cout< case5: cout<<"房间价格为: 400"; p->r.price=400; cout< 2.4.3处理过程设计 首先,程序开始执行先将文本文件info.txt中的数据读取并存储在链表中,然后按照功能操作提示进行选择,客户经过登记入住后便可以的到一个新的链表,最终可以选择“保存至文件”进行文件保存操作。 本程序可以实现的功能包括: 查询,添加,修改。 现已修改操作为例讲解一下处理过程设计。 修改操作则是通过客户输入所要修改信息的客户名称来进行查找的,首先利用while()循环语句确定链表的信息中是否含有该用户,若存在该用户,则变换命令提示界面,客户根据提示再次进行所要修改的数据的选择,根据用户输入的选择是哪一项,利用switch()进行分别的修改操作,switch()语句下的每个case都有具体的输入数据提示和输入语句。 若选择退出修改,则会跳转回原先的菜单界面供用户进行其他操作。 整体的用户界面是通过do..while()语句使得菜单界面循环显示,每次执行完一个命令后再次显示出菜单界面,直到选择退出命令,循环终止,程序停止执行。 3.系统测试 3.1测试用例的描述 (1)当文件中含有有关入住房间信息的信息时,对于程序所要实现的各项功能的测试(具体数据见下一部分3.2测试方法中); (2)当文件中没有任何数据时,程序所能实现的功能与 (1)中一致,因此不再进行测试验证, 仅仅对文件为空时,程序开始运行时的情况进行说明。 3.2测试方法 (1)输入如下数据并保存至文件中时如下图所示时 房间号客人姓名容量档次价格已入 0王悦9110001 1小燕燕9110002 2马大哈936003 4haha928004 下面四张图是测试程序的第一项功能: 1: 这是菜单,此时还未进行任何操作2: 这是输入四位客人并将数据输出文件后将数据数输入到显示框 3: 以下两图是将姓名为王悦的客户的信息进行修改 则从文件输出的数据如下图 4: 下图是分别用房间名或客人姓名来查询信息 3.3测试结果 测试结果可在上图中所显示。 4.设计小结及体会 本次课程设计是宾馆入住管理的设计和实现,在编写的程序中,利用链表存储客人的信息,并能进行添加、删除、搜索、输出、保存等操作。 我在这次首次尝试了用类来实现程序块的分工,虽然比结构体难点,但却比结构体好用。 在这个设计中,链表的建立、添加以及删除等操作暴露了自己着这方面的不扎实,在调试时虽然没有出错,但是运行时却出现了空间发生冲突的现象。 不断的调试后才将问题解决。 但回想起来,其实链表的建立并不难,只是自己想复杂了,只要一步步来还是没问题的。 在设计中对我的的最大难点是文件的保存和输出,因为这块是刚学的,学习的时候又是正好赶上考试,所以没有怎么学进去,导致这块成了盲点。 使得自己不断地翻书不断地上网查找相关知识,经过了好多次的修改,希望失望之后才整好。 我现在对文本的输入和输出的理解是其实可以把它们看作函数对待,需要的时候进行调用,输出至文件或者从文件输入至屏幕。 其实这个程序还是有缺陷的,这其实也是由于自己能力的不足导致的,因为能力的不足导致实现某个功能的话就需要多写好多的代码,比如说,我其实想把客人的入住时间以及退房时间显示出来,但由于我只会将年、月、日这三个变量依次输入,即当我要输入退房时间时,我只会这样一种格式cin>>p->r.year;cin>>p->r.month;cin>>p->r.day;这样导致在以后的初始化、添加、查找、删除等操作中多写好多代码,当然并不是不能实现这个代码,只是时间有限,我只能将主要功能实现。 经过这次忙碌但充实的编程之后,虽然暴露了我基础不扎实的缺点,但也让我找到了编程实现其价值的乐趣,并且我也知道了变成光学书本拿点东西是不行的,而且最好的学习方法就是设计实际的东西,这样既能实现自己的价值发现其中意义,还能在其中为了完成编程而不断的查找相关知识而增加自己的知识。 5.参考文献 [1]《c++程序设计教程》,闵联营,何克右,出版社: 武汉理工大学出版社,时间: 2005年7月 [2]《数据结构(C语言版)》,严蔚敏,吴伟民编著,出版社: 清华大学出版社,出版或修订时间: 1997年4月 [3]《数据结构习题集(C语言版)》,严蔚敏,吴伟民,米宁编著,清华大学出版社,出版或修订时间: 1999年2月 本科生课程设计成绩评定表 班级: 计科SY0901 姓名: 学号: 序号 评分项目 满分 实得分 1 学习态度认真、遵守纪律 20 2 报告分析合理性 30 3 报告观点正确性,专业认识深刻程度 30 4 设计报告的规范性 20 总得分/等级 评语: 注: 最终成绩以五级分制记。 优(90-100分)、良(80-89分)、中(70-79分)、 及格(60-69分)、60分以下为不及格 指导教师签名: 2011年7月 日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉理工大学 宾馆 系统 入住 管理