数据结构 课程设计 宾馆的订房退房系统铜 陵 学 院
《数据结构》
课程设计报告
设计题目: 宾馆的订房和退房系统
系 别 班级
学生姓名 学号
课程设计进行地点:
指导教师 职称
起止日期: 2012年12月10日起——至 2012 年12 月14日止
I
宾馆的订房和退房系统
课程设计任务书
一、课程设计的目的
课程设计比教学实验复杂一些,涉及的深度广些并更加接近实用。目的一方面是通过课程设计的综合训练,帮助学生系统掌握该门课程的主要内容,更好地完成教学任务;另一方面,通过课程设计使学生进一步加深对课程内容的理解,利用程序设计的基本思...
铜 陵 学 院
《数据结构》
课程设计报告
设计
目: 宾馆的订房和退房系统
系 别 班级
学生姓名 学号
课程设计进行地点:
指导教师 职称
起止日期: 2012年12月10日起——至 2012 年12 月14日止
I
宾馆的订房和退房系统
课程设计任务书
一、课程设计的目的
课程设计比教学实验复杂一些,涉及的深度广些并更加接近实用。目的一方面是通过课程设计的综合训练,帮助学生系统掌握该门课程的主要内容,更好地完成教学任务;另一方面,通过课程设计使学生进一步加深对课程内容的理解,利用程序设计的基本思想进行程序的开发,进一步掌握编程
和技巧,培养学生的实际分析问题、编程和动手能力,提高学生用程序的思想来解决实际问题的能力。
二、课程设计要求
1、遵守课程设计时间安排,按时上机。
2、认真查找相关的资料,理解相关的知识内容。
3、认真调试程序,组员之间应加强团队合作,取长补短,共同分析问题解决问题。
4、根据设计题目规定的具体要求进行具体
操作。
5、认真撰写课程设计报告,避免相互抄袭。
三、对课程设计报告撰写内容、格式、字数的要求
1(课程设计报告是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、实验器材、设计原理及内容、设计具体步骤、遇到的问题及解决方法、设计总结、参考文献等。一般不应少于3000字。
2(在适当位置配合相应的实验原理图、实验数据表、问题分析流程图等图表进行说明。应做到文理通顺,内容正确完整,书写工整,装订整齐。
3(设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。
4(课程设计报告打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距20磅。文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。
5(课程设计报告装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。
四、成绩评定
评定成绩根据系统功能、界面效果,系统操作的方便性、灵活性等方面进行,主要从三个方面进行考虑:
II
宾馆的订房和退房系统
1、对问题的理解程度;
2、成果的好坏;
3、设计报告。
五、时间进度安排
顺序 阶段日期 计 划 完 成 内 容 备注
1 2012.12.10 查阅资料,撰写读书笔记
2 2012.12.11 系统设计,数据结构设计,算法设计
3 2012.12.12 编程并上机调试
撰写报告 4 2012.12.13
验收程序,提交设计报告书 5 2012.12.14
铜 陵 学 院 数 学 与 计 算 机 科 学 系
《数据结构》课程设计成绩评定表
教研室: 信管教研室 班级: 11信管本 学生姓名: 张浩 赵文博 赵笑笑
指 导 教 师 评 审 意 见
评价内具 体 要 求 分数类别 评分 容
调 研 能独立查阅文献,收集资料;能制定课程设计10 8 6 4 论 证
和日程安排。
工作能工作态度认真,遵守纪律,出勤情况是否良20 16 12 8 力态度 好,能够独立完成设计工作。
按期圆满完成规定的设计任务,工作量饱满,工作量 20 16 12 8 难度适宜。
课程设说明书立论正确,论述充分,结论严谨合理,
计报告文字通顺,技术用语准确,符号统一,编号50 40 30 20 的质量 齐全,图表完备,书写工整规范。
课程设计成绩 指 导 教 师 签 名:
III
宾馆的订房和退房系统
目录
第一章 课程设计题目描述和要求 .................................... 2 第二章 需求分析 .................................................. 2 1.实验题目 .................................................................................................... 2 2.基本要求 .................................................................................................... 2 第三章 概要分析 .................................................. 2 第四章 详细设计 .................................................. 2 (1)总运行图 .............................................................................................. 3 (2)查询系统 .............................................................................................. 3 (3)算法设计 .............................................................................................. 4 第五章 设计与调试分析 ............................................ 7 第六章 用户手册 .................................................. 7 第七章 参考文献. ................................................. 9 源文件代码清单 ................................................... 9
1
宾馆的订房和退房系统
第一章 课程设计题目描述和要求 宾馆客房管理系统
要求
1、 有启动和退出界面
2、 采用按键或菜单选择方法,选择相应的功能(录入、删除、查询、统计、打印和退出) 3、 要求系统具有下列功能:
? 录入6条住户资料,包括姓名、性别、身份证号、天数、预交押金、房间号等字段;录入一个宾馆的所有房间号信息,包括房间号、共有床位数、已住客人数等字段(其中已住客人数应计算出来);所录入的数据分别存入两个文本文件中;能根据情况能调出数据。 ? 具有对录入数据进行插入功能,即有客人入住,应根据房间中已住的客人数,性别等判断分配房间;具有对录入数据进行删除功能,即当客人退房,应将其房间清空。 ? 具有查询功能,能按房间号查询人数;能根据性别查询房间号及可住人数。 ? 具有统计功能,能根据天数统计出常住客人数和短期客人数。 ? 具有打印功能,即能在文件中和屏幕上输出房间号和对应的客人数。
第二章 需求分析
1.实验题目
宾馆订房和退房系统
2.基本要求
1)实现宾馆的订房业务
2)实现退房业务
3)实现统计业务
4)实现查询业务
其他:要求在VC++6.0下运行通过
第三章 概要分析
本程序主要有以下几个功能模块
void AddtheGuestroom // 输入客房函数
void FindTheGuestroom() //查找客房
void FindTheGuestroomById() //按照编号找客房
void FindTheGuestroomByType() //按照类型找客房
void FindTheGuestroomByPrice() //按照价格找客房
void DeleteTheGuestroom() //客房退房
void AddTheGuestroom() //客房订房函数
void ModifyTheGuestroom() //修改客房
void OutputtheremainGuestroom //输出剩余房间函数
第四章 详细设计
2
宾馆的订房和退房系统
(1)总运行图
录入客房信息
保存客房信息
宾
馆修改客房信息 客
房
管删除客房信息 理
系查询剩余客房 统
排序剩余客房
输出剩余
退出系统
(2)查询系统
客人信息查询
输入客人姓名
遍历各等级
不为空
遍历各房间
不为空不为空
遍历各床位遍历各床位
不为空
是否有该客人 返回主菜单
3 姓名 性别 年龄 入住时间
宾馆的订房和退房系统
(3)算法设计
1.菜单界面和录入信息
int main()
{
tList
tListGue;
tListGue.Create(); //创建链表
ReadData(&tListGue);
while(1)
{
cout<<"\n\n 客房管理系统 \n\n";
cout<<" ---------------------------------- \n\n";
cout<<" 1.客房信息的录入 \n\n";
cout<<" 2:客房信息保存\n\n";
cout<<" 3.客房信息的修改 \n\n";
cout<<" 4.客房信息的删除 \n\n";
cout<<" 5.剩余客房信息的查询 \n\n";
cout<<" 6.剩余客房信息的排序 \n\n";
cout<<" 7.剩余客房信息的输出 \n\n";
cout<<" 8.退 出 系 统 \n\n";
cout<<" 请选择:";
int choose=0;
cin>>choose;
//用户的选择
{
case 1:AddtheGuestroom(&tListGue); break; //输入客房信息
case 2:SaveData(&tListGue);break; //客房信息信息保存
case 3:ModifytheGuestroom(&tListGue); break; //修改客房信息
case 4:DeletetheGuestroom(&tListGue); break; //删除客房信息
case 5:FindtheremainGuestroom(&tListGue); break; //查询剩余客房信息
case 6:RanktheremainGuestroom(&tListGue); break; //排序剩余客房信息
case 7:OutputtheremainGuestroom(&tListGue); break; //输出剩余客房信息
case 8:exit(0); //退出
4
宾馆的订房和退房系统
default : break;
}
}
return 0;
}
2.删除信息
void DeletetheGuestroom(tList *tListGue) //删除客房信息
{
char id[BUFSIZE];
cout<<"\n请输入你要查找的客房编号:";
cin>>id; //读取客房编号
bool flag=false;
int count=0;
cNode *p;
p=tListGue->head->next;
while(p)
{
if(strcmp(p->data.ID,id)==0 && p->data.flag)
{
count++;
flag=true;
break;
}
p=p->next;
}
if(flag==false) cout<<"对不起,你所查找的客房延长了住房日期~\n";//如果
不能删
else //如果能删
{
count--;
cout<<"找到了,该客房的原始信息是:\n";
cout<<"\n\n客房编号:"<<(p->data).ID<<"\t客房类型:"<<(p->data).Type<<"\n\t\t定房日期:"<<(p->data).Book<<"\n\t\t价
格:"<<(p->data).Price;
5
宾馆的订房和退房系统
cout<<"\n\t\t客房的主要内容:"<<(p->data).Function<<"\n\t\t入住有效期:"<<(p->data).StayTime;
cout<data).flag=false;
cout<<"该客房的信息删除成功!\n";
}
cout< *tListGue)//查找客房 {
system("cls");
while(1)
{
cout<<"\n\n\n\n";
cout<<" 1:按客房编号查询\n\n";
cout<<" 2:按客房类型查询\n\n";
cout<<" 3:按价格查询\n\n";
cout<<" 4:退出查询\n\n";
cout<<"你选择:";
int choose=0;
cin>>choose;
switch(choose) //根据用户选择
{
case 1:FindtheremainGuestroomById(tListGue); //按客房编号查询
break;
case 2:FindtheremainGuestroomByType(tListGue); //按客房类型查询
break;
case 3:FindtheremainGuestroomByPrice(tListGue); //按价格查询
break;
case 4:
system("cls");
return; //退出查询
6
宾馆的订房和退房系统
default:break;
}
}
第五章 设计与调试分析
从上面的算法可以看出来,程序的基本大概也就是将几个部分算法串联起来,但串联的时候要注意限制和错误。录入信息不完整时,系统会自动提示“对不起,你所查找的客房延长了住房日期~“涉及到链表创建和选择的算法中注意后面编写break,否则后续的信息录入不了。
涉及到程序算法的一个子程序结束后,记得写上返回值函数,否则调试会出现很多错误和问题,所以不要查找的子函数中忘记了需要的返回语句,return .注意括号的完整性否则调试中会指示括号那行错误。
第六章 用户手册
(1)主页面
主页面中显示了exe程序的主要功能
(2)客房信息录入
7
宾馆的订房和退房系统
演示中录入了编号1的房间信息为标间、日期12月11日、价格80元、以及带有浴室等信息。
(3)删除信息
通过输入编号2,删除了编号2的房间信息。
(4)查询房间
8
宾馆的订房和退房系统
通过房间编号查询到了该房间信息,同时还可以通过类型和价格查询到相应房间信息。
四(课程设计总结
这次课程设计,使我收获颇丰。一方面,使我在一些薄弱环节得到了巩固,复习了一些容易忘记的知识点。另一方面,我还通过查找资料,了解到了许多课外的知识。将它运用到这次课程实际中。同时,我也体会到自己的不足,还有很多知识等着我去学习和总结。但这次课程设计,激发了我对计算机语言的兴趣,使我对于今后专业的学习更加有信心。
第七章 参考文献.
1.谭浩强 《C++程序设计》.北京:清华大学出版社,2005
2.CSDN社区(网站)
3.严蔚敏.吴伟民等编著《数据结构(C语言版)》.北京:清华大学出版社,2011
源文件代码清单
/*11信管本 潘朝阳,苗庆光,马兆磊的课程设计题目,选题是:宾馆的订房和退房系统*/ #include
using namespace std;
#include //包含文件流头文件
#define BUFSIZE 50
class cGuestroom;
void FindTheGuestroom(); //查找客房
void FindTheGuestroomById(); //按照编号找客房
void FindTheGuestroomByType(); //按照类型找客房
void FindTheGuestroomByPrice(); //按照价格找客房
9
宾馆的订房和退房系统 void DeleteTheGuestroom(); //删除客房
void AddTheGuestroom(); //客房添加
void ModifyTheGuestroom(); //修改客房
template //template:模板,样板 class cNode //节点
{
public:
T data;
cNode *next;
};
template
class tList
{
public: //定义成员函数
tList();
void Create(); //创建链表
bool Empty() const; //判断链表是否为空
void Insert(const T e); //从尾部插入一个元素
cNode* GetcNode(int i); //返回第i个节点
bool Find(const T e); //在链表中查找某个值
~tList(); //销毁链表,析构
cNode *head; //头节点 };
template
tList::tList() //类的成员函数的实现 {
head=new cNode;
head->next=NULL;
}
template
void tList::Create()
10
宾馆的订房和退房系统
{
cNode *p;
p=head;
p->next=NULL;
}
template bool tList::Empty() const
{
return (head->next==NULL);
}
template void tList::Insert(const T e) //insert:插入
{
cNode *p,*q;
p=head;
q=new cNode;
q->data=e;
while(p->next)
{
p=p->next;
}
p->next=q;
q->next=NULL;
}
template cNode* tList::GetcNode(int i) //返回第i个节点
{
int k=0;
cNode *p;
p=head;
while(p && knext;
11
宾馆的订房和退房系统
++k;
}
return p;
}
template bool tList::Find(const T e) //在链表中查找某个值
{
bool flag=false;
cNode *p;
p=head->next;
while(p)
{
if(p->data==e)
{
flag=true;
break;
}
p=p->next;
}
return flag; }
template tList::~tList() {
cNode *p;
while(head)
{
p=head->next;
delete head;
head=p;
}
}
class cGuestroom {
public:
12
宾馆的订房和退房系统
char ID[BUFSIZE]; //客房编号
char Type[BUFSIZE]; //客房类型
char Book[BUFSIZE]; //提前定房日期
char Price[BUFSIZE]; //客房价格
char Function[BUFSIZE]; //客房主要内容
int StayTime; //入住天数有效期
bool flag;//
cGuestroom()//构造函数初始化
{
memset(ID,0,BUFSIZE);memset(Type,0,BUFSIZE);memset(Book,0,BUFSIZE);memset(Fu
nction,0,BUFSIZE);
memset(Price,0,BUFSIZE);StayTime=0.0;flag=false;
} //memset:把char类型转换成ASCII值 };
void ReadData(tList *tListGue)//读取数据库 {
char buf[BUFSIZE];
ifstream ifile("Guestroom.txt",ios_base::in); //创建一个输出文件流对象
if (!ifile)
{
cerr << "读取时打开文件出错~" << endl;
}
cGuestroom Guestroom;
while(ifile.getline(buf,BUFSIZE)) //遍历文本,读取数据
{
ifile.getline(buf,BUFSIZE);
strcpy(Guestroom.ID,buf);//读取客房编号
memset(buf,0,BUFSIZE);
ifile.getline(buf,BUFSIZE);//读取客房类型
strcpy(Guestroom.Type,buf);
memset(buf,0,BUFSIZE);
ifile.getline(buf,BUFSIZE);//读取提前定房日期
strcpy(Guestroom.Book,buf);
13
宾馆的订房和退房系统
memset(buf,0,BUFSIZE);
ifile.getline(buf,BUFSIZE);//读取价格
strcpy(Guestroom.Price,buf);
memset(buf,0,BUFSIZE);
ifile.getline(buf,BUFSIZE);//读取客房主要内容
strcpy(Guestroom.Function,buf);
memset(buf,0,BUFSIZE);
ifile.getline(buf,BUFSIZE);//读取入住有效期
Guestroom.StayTime=atoi(buf);
memset(buf,0,BUFSIZE);
Guestroom.flag=true;
tListGue->Insert(Guestroom);
}
cout<<"读取数据成功!\n\n";
ifile.close();//关闭文件
return;
}
void AddtheGuestroom(tList *tListGue)// 输入客房函数
{
cGuestroom tempGuestroom; //定义临时客房
cout<<"下面开始添加客房信息\n";
cout<<"请输入入住的客房编号:";
cin>>tempGuestroom.ID; //读入客房编号
cout<<"请输入客房类型:";
cin>>tempGuestroom.Type; //读入客房类型
cout<<"请输入客人定房日期:";
cin>>tempGuestroom.Book; //读入定房日期
cout<<"请输入客房价格:";
cin>>tempGuestroom.Price; //读入价格
cout<<"请输入客房的主要内容:";
cin>>tempGuestroom.Function; //读入主要内容
cout<<"请输入客房入住有效期:";
14
宾馆的订房和退房系统
cin>>tempGuestroom.StayTime; //读入入住有效期
tempGuestroom.flag=true;
tListGue->Insert(tempGuestroom);
cout<<"添加成功~\n";
system("pause"); //pause:停顿,终止
system("cls");
}
void SaveData(tList *tListGue) //保存数据 {
int i=0;
ofstream ofile("Guestroom.txt",ios_base::out); //创建一个输入文件流对象
if (!ofile)
{
cerr << "保存时打开文件出错~" << endl;
}
cNode *p;
p=tListGue->head->next;
while(p)
{
//从内存中读取数据,存到外盘
if(p->data.flag)
{
ofile<<"\n";
ofile<<(p->data).ID<<"\n";
ofile<<(p->data).Type<<"\n";
ofile<<(p->data).Book<<"\n";
ofile<<(p->data).Price<<"\n";
ofile<<(p->data).Function<<"\n";
ofile<<(p->data).StayTime<<"\n";
}
p=p->next;
}
cout<<"保存数据成功!\n";
ofile.close();
system("pause");
15
宾馆的订房和退房系统
system("cls");
return;
}
void ModifytheGuestroom(tList *tListGue) //修改客房信息
{
char id[BUFSIZE];
cout<<"\n请输入你要查找的客房编号:";
cin>>id; //读取客房编号
bool flag=false;
cNode *p;
p=tListGue->head->next;
while(p)
{
if(strcmp(p->data.ID,id)==0 && p->data.flag)
{
flag=true;
break;
}
p=p->next;
}
if(flag==true)
{//显示屏幕
cout<<"找到了,该客房的原始信息是:\n";
cout<<"\n\n客房编号:"<<(p->data).ID<<"\t客房类型:"<<(p->data).Type<<"\n\t\t定房日期:"<<(p->data).Book<<"\n\t\t价格:"<<(p->data).Price;
cout<<"\n\t\t客房的主要内容:"<<(p->data).Function<<"\n\t\t入住有效
期:"<<(p->data).StayTime;
cout<<"\n下面开始修改该客房的信息:\n";
cGuestroom tempGuestroom; //定义临时客房
cout<<"请输入客房的客房编号:";
cin>>tempGuestroom.ID; //读入客房编号
cout<<"请输入客房的客房类型:";
cin>>tempGuestroom.Type; //读入客房类型
cout<<"请输入客人的定房日期:";
16
宾馆的订房和退房系统
cin>>tempGuestroom.Book; //读入定房日期
cout<<"请输入客房的客房价格:";
cin>>tempGuestroom.Price; //读入价格
cout<<"请输入客房的客房主要内容:";
cin>>tempGuestroom.Function; //读入客房的主要内容
cout<<"请输入客人入住客房有效期:";
cin>>tempGuestroom.StayTime; //读入入住有效期
tempGuestroom.flag=true;
p->data=tempGuestroom;
cout<<"修改成功!";
}
cout< *tListGue) //删除客房信息
{
char id[BUFSIZE];
cout<<"\n请输入你要查找的客房编号:";
cin>>id; //读取客房编号
bool flag=false;
int count=0;
cNode *p;
p=tListGue->head->next;
while(p)
{
if(strcmp(p->data.ID,id)==0 && p->data.flag)
{
count++;
flag=true;
break;
}
p=p->next;
}
17
宾馆的订房和退房系统
if(flag==false) cout<<"对不起,你所查找的客房延长了住房日期~\n";//如果
不能删
else //如果能删
{
count--;
cout<<"找到了,该客房的原始信息是:\n";
cout<<"\n\n客房编号:"<<(p->data).ID<<"\t客房类型:"<<(p->data).Type<<"\n\t\t定房日期:"<<(p->data).Book<<"\n\t\t价
格:"<<(p->data).Price;
cout<<"\n\t\t客房的主要内容:"<<(p->data).Function<<"\n\t\t入住有效
期:"<<(p->data).StayTime;
cout<data).flag=false;
cout<<"该客房的信息删除成功!\n";
}
cout< *tListGue)//根据客房编号查找
{
char id[BUFSIZE];
cout<<"\n请输入你要查找的客房编号:";
cin>>id; //读取客房编号
bool flag=false;
cNode *p;
p=tListGue->head->next;
while(p)
{
if(strcmp(p->data.ID,id)==0 && p->data.flag)
{
flag=true;
break;
}
p=p->next;
18
宾馆的订房和退房系统
}
if(flag==false) cout<<"对不起,没有该标号的客房~\n"; //如果找不到
else //如果找到了
{
cout<<"\n找到了,该客房的信息是:\n";
cout<<"\n\n客房编号:"<<(p->data).ID<<"\t客房类
型:"<<(p->data).Type<<"\n\t\t定房日期:"<<(p->data).Book<<"\n\t\t价格:"<<(p->data).Price;
cout<<"\n\t\t主要内容:"<<(p->data).Function<<"\n\t\t入住有效期:"<<(p->data).StayTime;
}
cout< *tListGue)//根据客房类型查找客房
{
char type[BUFSIZE];
cout<<"\n请输入你要查找的客房类型:";
cin>>type; //读取客房类型
bool flag=false;
cNode *p;
p=tListGue->head->next;
while(p)
{
if(strcmp(p->data.Type,type)==0 && p->data.flag)
{
flag=true;
break;
}
p=p->next;
}
19
宾馆的订房和退房系统
if(flag==false) cout<<"对不起,没有该类型的客房~\n"; //如果满了
else //如果找到了
{
cout<<"\n找到了,该客房信息是:\n";
cout<<"\n\n客房编号:"<<(p->data).ID<<"\t客房类
型:"<<(p->data).Type<<"\n\t\t定房日期:"<<(p->data).Book<<"\n\t\t价格:"<<(p->data).Price;
cout<<"\n\t\t客房的主要内容:"<<(p->data).Function<<"\n\t\t入住有效期:"<<(p->data).StayTime;
}
cout< *tListGue)//根据价格查找客房 {
char price[BUFSIZE];
cout<<"\n请输入你要查找的剩余客房的价格:";
cin>>price; //读取价格
bool flag=false;
cNode *p;
p=tListGue->head->next;
while(p)
{
if(strcmp(p->data.Price,price)==0 && p->data.flag)
{
flag=true;
cout<<"\n\n客房编号:"<<(p->data).ID<<"\t客房类
型:"<<(p->data).Type<<"\n\t\t定房日期:"<<(p->data).Book<<"\n\t\t价格:"<<(p->data).Price;
cout<<"\n\t\t客房的主要内容:"<<(p->data).Function<<"\n\t\t入住有效期:"<<(p->data).StayTime;
}
p=p->next;
20
宾馆的订房和退房系统
}
if(flag==false) cout<<"对不起,没有你所要求价格的客房~\n"; //如果找不到
cout< *tListGue)//查找客房 {
system("cls");
while(1)
{
cout<<"\n\n\n\n";
cout<<" 1:按客房编号查询\n\n";
cout<<" 2:按客房类型查询\n\n";
cout<<" 3:按价格查询\n\n";
cout<<" 4:退出查询\n\n";
cout<<"你选择:";
int choose=0;
cin>>choose;
switch(choose) //根据用户选择
{
case 1:FindtheremainGuestroomById(tListGue); //按客房编号查询
break;
case 2:FindtheremainGuestroomByType(tListGue); //按客房类型查询
break;
case 3:FindtheremainGuestroomByPrice(tListGue); //按价格查询
break;
case 4:
system("cls");
return; //退出查询
default:break;
}
}
return;
21
宾馆的订房和退房系统
}
void RanktheremainGuestroom(tList *tListGue) //排序剩余客房
{cNode *p,*q;
cGuestroom remainGuestroom;
for (p=tListGue->head->next; p!= NULL; p=p->next)
{
for (q=p; q!= NULL; q=q->next)
{
if (p->data.StayTime > q->data.StayTime)
{
remainGuestroom.flag = p->data.flag;
strcpy(remainGuestroom.ID, p->data.ID); //复制
strcpy(remainGuestroom.Type, p->data.Type);
strcpy(remainGuestroom.Book, p->data.Book);
strcpy(remainGuestroom.Price, p->data.Price);
strcpy(remainGuestroom.Function, p->data.Function);
remainGuestroom.StayTime = p->data.StayTime;
p->data.flag = q->data.flag;
strcpy(p->data.Function, q->data.Function);
strcpy(p->data.ID, q->data.ID);
strcpy(p->data.Type, q->data.Type);
strcpy(p->data.Book, q->data.Book);
p->data.StayTime = q->data.StayTime;
q->data.flag = remainGuestroom.flag;
strcpy(q->data.Function, remainGuestroom.Function);
strcpy(q->data.ID, remainGuestroom.ID);
strcpy(q->data.Type, remainGuestroom.Type);
strcpy(q->data.Book, remainGuestroom.Book);
q->data.StayTime = remainGuestroom.StayTime;
}
}
}
}
22
宾馆的订房和退房系统
void OutputtheremainGuestroom(tList *tListGue) //输出剩余房间函数 {
cNode *p;
p=tListGue->head->next;
while(p)
{
if(p->data.flag)
{
cout<<"\n\n客房编号:"<<(p->data).ID<<"\t客房类
型:"<<(p->data).Type<<"\n\t\t提前定房日期:"<<(p->data).Book<<"\n\t\t价格:"<<(p->data).Price;
cout<<"\n\t\t主要内容:"<<(p->data).Function<<"\n\t\t入住有效期:"<<(p->data).StayTime;
}
p=p->next;
}
cout< tListGue;
tListGue.Create(); //创建链表
ReadData(&tListGue);
while(1)
{
cout<<"\n\n 客房管理系统 \n\n";
cout<<" ---------------------------------- \n\n";
cout<<" 1.客房信息的录入 \n\n";
cout<<" 2:客房信息保存\n\n";
cout<<" 3.客房信息的修改 \n\n";
cout<<" 4.客房信息的删除 \n\n";
23
宾馆的订房和退房系统
cout<<" 5.剩余客房信息的查询 \n\n";
cout<<" 6.剩余客房信息的排序 \n\n";
cout<<" 7.剩余客房信息的输出 \n\n";
cout<<" 8.退 出 系 统 \n\n";
cout<<" 请选择:";
int choose=0;
cin>>choose;
switch (choose) //用户的选择
{
case 1:AddtheGuestroom(&tListGue); break; //输入客房信息
case 2:SaveData(&tListGue);break; //客房信息信息保存
case 3:ModifytheGuestroom(&tListGue); break; //修改客房信息
case 4:DeletetheGuestroom(&tListGue); break; //删除客房信息
case 5:FindtheremainGuestroom(&tListGue); break; //查询剩余客房信息
case 6:RanktheremainGuestroom(&tListGue); break; //排序剩余客房信息
case 7:OutputtheremainGuestroom(&tListGue); break; //输出剩余客房信息
case 8:exit(0); //退出
default : break;
}
}
return 0;
}
24
本文档为【数据结构 课程设计 宾馆的订房退房系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。