p——是否初始化(0或1), int
chose——选择主菜单(1,2,3,4或5), int t——计费方式(1或2), int
i——子菜单选择(1,2,3,4或5)(不同模块可能定义不同), int a——是否预定过房间(在ruzhudengji()定义的),int 输出项 房间号, int
房间类型 , char leixing[10] 价格(元/天), int 价格(元/小时) ,int 是否空闲 ,int
客人姓名,char name[20] 身份证,char ID[20]
联系方式 ,charlianxifangshi[15] 押金(元), int 预定日期 ,long 入住时间 ,long 预计天数, int 截止日期, long
四、系统实现与测试
主菜单模块实现
主菜单流程图
开始输出“提示”输入“p值”NP是否为1Y调用chushihua()调用Menu_Display()函数输出“提示”输入chose值Y是否为“1”N调用订房登记函数Y是否为“2”N调用入住登记函数Y是否为“3”N调用退房结算函数Y是否为“4”输入“按任意键”输出“提示”调用房间查询函数YChose!=0NN输出“提示”N是否为“5”Y结束
图主菜单流程图
主菜单代码
void Menu_Display() {
system(\
cout<<\ cout<<\欢迎使用百康宾馆管理系统@ #\ cout<<\请输入您所需要的功能: #\ cout<<\客房查询 2.订房登记 #\ cout<<\入住登记 4.退 房 #\
cout<<\退 出 #\ cout<<\感 * 谢 * 您 * 的 * 使 * 用 #\ cout<<\ }
void chushihua() {
int i[3]={1,0,1},k=0; for(;k<20;k++) {
hotel[k].num=i[0]*100+i[1]*10+i[2]; strcpy(hotel[k].ID,\ hotel[k].jiezhiriqi=0; hotel[k].kongxian=0;
strcpy(hotel[k].lianxifangshi,\ strcpy(hotel[k].name,\ hotel[k].ruzhushijian=0; hotel[k].tianshu=0; hotel[k].yudingriqi=0; switch(i[0]) {
case 1:{hotel[k].jiage=17020;strcpy(hotel[k].leixing,\单人间\ case 2:{hotel[k].jiage=28030;strcpy(hotel[k].leixing,\双人间\ case 3:{hotel[k].jiage=50050;strcpy(hotel[k].leixing,\套房\ } if(k==8)
i[0]++,i[2]=0; if(k==14)
}
i[0]++,i[2]=0;
i[2]++;
fstream xieru(\宾馆房间信息.txt\
xieru<<\房间号 类型 价格 是否空闲 姓名 身份证号 联系方式 押金 预定日期 入住时间 天数 截止日期 \ for(int x=0;x<20;x++)
{
xieru< void main() { int p=0; cout<<\是否要初始化房间信息\ cout<<\是请输入1,否请输入0)\ cin>>p; if(p==1) chushihua(); int chose; Menu_Display(); cout<<\请输入选项:\ cin>>chose; while(chose!=0) switch(chose)房查询 2.订房登记 #\ } (); '< '< '< <<' '< '< { cout<<\入住登记 4.退 房 #\ cout<<\退 出 #\ cout<<\感 * 谢 * 您 * 的 * 使 * 用 #\ cout<<\ cout<<\请输入选项:\ cin>>chose; while(chose==0) { cout<<\输入错误,按任意键退出程序:\ } } } exit(0); 主菜单模块测试 主菜单界面中显示客房管理系统的功能选项模块如图所示: