宾馆客房管理系统课程设计文档格式.doc
《宾馆客房管理系统课程设计文档格式.doc》由会员分享,可在线阅读,更多相关《宾馆客房管理系统课程设计文档格式.doc(16页珍藏版)》请在冰点文库上搜索。
操作查询
回馈信息
客房管理系统
收银员
客房查询
入住管理
结算管理
信息查询
客户登记
退房结算
满意度调查
结束
客户查询
操作员
返回结果
交钱结账
结账费用
入住登记
返回信息
查询要求
核对账单
返回账单信息
入住
管理
结算
处理
结算账单
入住信息
P1
P2
向客人打招呼
是否预定
检查有效证件,查看预订
是
是否有空房
否
退出
出示有效证件并
确定房间类型
核对预订
登记客户信息
给客人、客房编号
并交押金
退房
结
检查,清理房间
开始
束
程序演示
(1)主页面
主页面中显示了exe程序的主要功能
(2)客房信息录入
演示中录入了编号5的房间信息为标间、日期6月26日、价格12元、等信息。
(3)删除信息=退出
(4)查询房间
通过房间编号查询到了该房间信息。
详细设计
#include<
stdio.h>
string.h>
#include<
stdlib.h>
//exit()函数就包含在此文件中
#defineM101
intz[101]={0};
//定义一个数组存放使用的房间的标记的信息,且初始化为0
intj,s;
//定义两个全局变量
FILE*fp;
//定义一个指向文件的指针变量
structdate
{intmonth;
intday;
intyear;
}final;
structhotel
{
intprice;
introom_ID;
structclient
{charname[20];
intsex;
intage;
charID_card[20];
charnation[20];
charjiguan[20];
intcount;
structdatestart;
}personal;
}room[M];
//定义全局结构体变量,且里面又调用两个结构体
intfflush(fp);
//声明刷新函数fflush(fp),且指向指针变量指向的位置
voidsave();
voidsearch_situ();
//声明查看客房入住情况函数
voidregist_infor();
//声明客房登记入住函数
voidmodify_infor();
//声明客房信息修改函数函数
voidmodify_one();
//声明修改客房信息函数中的修改个人函数
voidmodify_hotel();
//声明修改客房信息函数中的修改客房函数
voiddisp_money();
//声明显示入住费用函数
//声明主菜单函数
intmain()
{
intmenu();
voidprint_message();
print_message();
printf("
\n"
);
menu();
//把主菜单用函数来实现
save();
return0;
}
voidprint_message()
\t\t\t\t欢迎使用客房管理系统\n"
menu()
intn;
do
{
printf("
\t\t*********************菜单********************\n\n\n"
printf("
\t\t*\t\t【欢迎使用】*\n\n\n"
\t\t*\t\t1:
查看客房入住情况*\n\n\n"
\t\t*\t\t2:
登记入住信息*\n\n\n"
\t\t*\t\t3:
修改客房信息*\n\n\n"
\t\t*\t\t4:
显示入住费用*\n\n\n"
\t\t*\t\t5:
退出*\n\n\n"
\t\t〓〓〓〓〓菜单〓〓〓〓〓\n"
printf("
\n\n\t\t\t请选择服务项目[1●2●3●4●5]:
scanf("
%d"
&
n);
while(n<
1||n>
5)
{printf("
请重新输入选项!
"
switch(n)
{
case1:
search_situ();
break;
//调用查看函数
case2:
regist_infor();
//调用登记函数
case3:
modify_infor();
//调用修改函数
case4:
disp_money();
//调用显示入住费用函数
case5:
exit(0);
}
}while(n!
=6);
return0;
voidsearch_situ()//查看函数
intg,count=0;
for(g=1;
g<
=100;
g++)
if(z[g]==0)
++count;
else
if(z[g]==1)
printf("
\n正在使用的房间号:
g);
printf("
\n\n未使用的房间数:
count);
//通过循环输出未使用的房间数
\n\n"
\n请输入需查询的房间号:
//查询输入的房间号的信息,且输出该房间的相关信息
scanf("
s);
if(z[s]==1)
{printf("
姓名:
%s"
room[s].personal.name);
printf("
\n性别(其中:
1表示男,2表示女!
):
room[s].personal.sex);
\n年龄:
room[s].personal.age);
\n身份证号:
room[s].personal.ID_card);
printf("
\n民族:
$s"
room[s].personal.nation);
\n籍贯:
room[s].personal.jiguan);
\n入住年份:
room[s].personal.start.year);
月:
room[s].personal.start.month);
日:
room[s].personal.start.day);
\n房间号:
room[s].room_ID);
\n客房单价:
room[s].price);
\n入住人数:
room[s].personal.count);
getch();
menu();
}
else
该房间未被使用!
getch();
save();
//调用保存函数
voidregist_infor()//登记函数
请输入登记相关信息:
\n房间号:
j);
room[j].room_ID=j;
\n姓名:
room[j].personal.name);
room[j].personal.sex);
\n年龄:
room[j].personal.age);
\n身份证号:
room[j].personal.ID_card);
room[j].personal.nation);
room[j].personal.jiguan);
\n入住年份:
room[j].personal.start.year);
月:
room[j].personal.start.month);
日:
room[j].personal.start.day);
\n客房单价:
room[j].price);
请输入入住人数\n"
room[j].personal.count);
z[j]=1;
//标记使用的房间为1
getch();
save();
voidmodify_infor()//修改函数
{
intr,m;
{
\t\t*******************菜单******************\n\n\n"
\t\t\t*\t\t1:
修改客户信息*\n\n\n"
\t\t\t*\t\t2:
修改客房信息*\n\n\n"
\t\t\t*\t\t3:
menu()*\n\n\n"
printf("
\t\t\t*\t\t4:
退出*\n\n\n"
\t\t\t*****************************************\n\n\n"
\t\t\t请选择输入选项[1\\2\\3\\4]:
scanf("
m);
if(m<
1||m>
3)
{
r=1;
getchar();
}
elser=0;
}while(r==1);
switch(m)
case1:
modify_one();
case2:
modify_hotel();
case3:
menu();
case4:
}
voidmodify_one()//修改个人信息函数
intq;
chara[20];
\n请选择您要修改的个人选项\n"
1:
姓名2:
性别(其中:
)3:
年龄4:
身份证号5民族6:
籍贯7:
入住年份8:
入住月份9入住日10:
入住人数\n"
\t请选择输入选项[1\\2\\3\\4\\5\\6\\7\\8\\9\\10]:
\n\b\b"
scanf("
q);
switch(q)
{
intp;
chark;
case1:
请输入新名字\n"
scanf("
a);
strcpy(room[j].personal.name,a);
case2:
请选择新性别(其中:
)\n"
k);
room[j].personal.sex=k;
case3:
请输入新年龄\n"
p);
room[j].personal.age=p;
case4:
请输入新身份证号\n"
scanf("
room[j].personal.ID_card[20]=p;
case5:
请输入新民族\n:
strcpy(room[j].personal.nation,a);
case6:
请输入新籍贯\n"
scanf("
strcpy(room[j].personal.jiguan,a);
case7:
请输入新年份\n"
room[j].personal.start.year=p;
case8:
请输入新月份\n"
room[j].personal.start.month=p;
case9:
请输入新日子\n"
room[j].personal.start.day=p;
case10:
请输入新入住人数\n"
room[j].personal.count=p;
}
menu();
voidmodify_hotel()//修改客房信息函数
{
intl;
\n\t\t\t\t请选择您要修改的客房信息\n\n"
\t\t\t\t1:
房间号\n\n\t\t\t\t2:
客房单价\n\n\t\t\t\t3:
入住人数\n\n\t\t\t\t4:
返回\n\n"
\t\t\t请选择输入选项[1\\2\\3\\4]:
scanf("
l);
switch(l)
case1:
请输入旧房号\n"
scanf("
printf("
请输入新房号\n"
scanf("
strcpy(room[s].personal.name,room[j].personal.name);
room[s].personal.sex=room[j].personal.sex;
room[j].personal.sex=0;
room[s].personal.age=room[j].personal.age;
room[j].personal.age=0;
strcpy(room[s].personal.ID_card,room[j].personal.ID_card);
strcpy(room[s].personal.nation,room[j].personal.nation);
strcpy(room[s].personal.jiguan,room[j].personal.jiguan);
room[s].personal.start.year=room[j].personal.start.year;
room[j].personal.start.year=0;
room[s].personal.start.month=room[j].personal.start.month;
room[j].personal.start.month=0;
room[s].personal.start.day=room[j].personal.start.day;
room[j].personal.start.day=0;
room[s].room_ID=s;
room[s].price=room[j].price;
room[s].personal.count=room[j].personal.count;
z[s]=1;
z[j]=0;
break;
case2:
请输入房号\n"
请输入新单价\n"
room[s].price=s;
case3:
room[s].personal.count=s;
case4:
menu();
voiddisp_money()//显示入住费用函数
inti,sum,e;
printf("
请输入房间号;
scanf("
room[j].room_ID);
room[j].personal.start.year);
room[j].personal.start.month);
room[j].personal.start.day);
房间单价为:
room[j].price);
\n请输入退房时间:
请输入年份:
final.year);
请输入月份: