1、C语言实验报告酒店管理系统武汉科技大学C语言程序设计课程设计题目酒店管理系统班级信息与计算科学2班姓名陈诚学号成绩2015年6月23日一、 总体设计1、 程序的总体设计(1) 程序总体设计思路:酒店房间登记管理系统,实现的是房间登记与管理(包括登记入住、查询)为了体现模块化设计,把所有要实现的功能做成函数,采用分步实施的方法逐步细化。具体分布实施有以下5步。1,编写模块2,定义实现个功能模块所要函数3,编写各个函数4,理清思路,逐步修改5,调试整个程序。核心部分是各个函数:1、欢迎界面函数:通过switch进入不同界面。2、登记入住函数:使用户在入住前登记个人信息,选择房间信息3、 查询入住情
2、况函数:顾客可通过两种方式查找到自己的个人信息。4、 查询当前费用函数:顾客可随时查询所用费用5、 结账退房函数:所有信息清零。2、数据结构此系统,选择用结构体存放不同类型的数据,房间信息。在这过程中由于对指针的运用与操作还不熟练,不方便修改,所以没用指针。(1)创建房间信息结构体/*结构体hotel房间号、房间种类、客户姓名、身份证号、入住状态、实际收房费,押金等*/structhotelintnum;/*房间号*/intkind;/*房间种类1(表示单人间)2(表示双人间)*/charname20;/*姓名*/charID19;/*身份证号*/intflag;/*flag0(表示有人入住)
3、0(表示无人入住)*/intdingjia;/*房间定价*/intshiji;/*实际缴纳费用*/roomM;3、函数原型声明voidwelcome();房号查询2.客户信息查询),最终输出结账退房流程图三、测试出现欢迎界面测试1:选择选项1,入住登记“1”按提示输入信息(如:1-单人间,1-房间号,陈诚,200元,登记成功)测试2:选择选项2,查询房间入住情况“1”按房间号查询,1、房间号出现刚登记的个人信息2、房间号该房为空房“2”按客户信息查询,身份证号出现个人信“3”退出,返回欢迎界面测试3:选择选项3,查询客户当前费用“1”号房间,当前费用100元测试4:选择选项4,结账退房“2”号
4、房间,空房,重输“1”号房间,应支付100元,退房成功四、小结此程序满足课程设计要求,实现登记、查询、结账等操作,并对不同房间实施不同收费标准,计算总费用等功能。程序优点:整个程序界面友好,与顾客有良好的界面交流。程序虽简单,但功能齐全。程序缺点:(1)数据结构单一。主要是学习c语言时间短,知识程度不深,不够全面,知道的不多。(2)不会调用系统时间。在做课设的过程中,我对c语言有了更深入的了解。它很考察逻辑的严密性,思路条理要清晰是很重要的,它包含你编写程序的大致方向。严谨认真的态度也不可或缺。调试程序过程中也可以提升自己的理解已经加深自身熟练度。遇到问题要想方设法将它解决,看书找资料,请教同
5、学,与同学讨论,从这些方面我又可以学会合作。源码:人间2.双人间nn);scanf(%d,&n);switch(n)case1:printf(现在空闲的单人房间有:n); for(i=1,j=0;i=M;i=i+2) if(roomi-1.flag=0) printf(%dt,i);j+; if(j%5=0) printf(n); ind=1; roomk-1.num=k; printf(n请输入客户的姓名:); scanf(%s,roomk-1.name); printf(n请输入客户的身份证号:);scanf(%s,roomk-1.ID); while(strlen(roomk-1.ID)
6、!=18) printf(!输入有误,请重新输入n); scanf(%s,roomk-1.ID);roomk-1.dingjia=100; printf(nn应当缴纳房费%d元,roomk-1.dingjia); printf(nn实际缴纳的金额为:); scanf(%d,&roomk-1.shiji); while(roomk-1.shijiroomk-1.dingjia) printf(ttnn!输入有误,请重新输入!nn); printf(nn实际缴纳的金额:); scanf(%d,&roomk-1.shiji); printf(nn是否确认入住(1-是2-否)n);scanf(%d,&
7、a);while(a!=1&a!=2) printf(nntt!输入有误,请重新输入:);scanf(%d,&a);if(a=1) roomk-1.flag=1; printf(n已成功登记!nn); save();break;case2:printf(现在空闲的双人房间有:nn);for(i=2,j=0;i=M;i=i+2)if(roomi-1.flag=0) printf(%dt,i);j+; if(j%5=0) printf(nn);ind=2;roomk-1.num=k;printf(n请输入客户的姓名:);scanf(%s,roomk-1.name);printf(n请输入客户的身份
8、证号:);scanf(%s,roomk-1.ID);while(strlen(roomk-1.ID)!=18) printf(!输入有误,请重新输入:n); scanf(%s,roomk-1.ID); roomk-1.dingjia=200;printf(nn应当缴纳房费%d元,roomk-1.dingjia);printf(nn实际缴纳的金额为:);scanf(%d,&roomk-1.shiji);while(roomk-1.shiji4|i1)printf(nntt输入有误,请重新输入:);scanf(%d,&i);elseif(i=1) printf(nn请输入房间号:);lag=0)
9、printf(nn此房间无人住nn); else printf(您的个人信息为:); kfxinxi(j-1); break;elseif(i=2) printf(nn请输入您的身份证号:);D)=0)break; if(k!=M) printf(nn您的个人信息为:); kfxinxi(k);break; else printf(ttnn1.输入有误,请重新输入2.不存在此人信息,退出nn); scanf(%d,&s); if(s=1) printf(nn请输入您的身份证号:); scanf(%s,a); elsereturn(1);break; elseif(i=3)break; else
10、 printf(ttnn1.输入有误,请重新输入nn);printf(tt1.按房号查询nntt2.按客户信息查询nntt3.按入住时间查询nntt4.退出);printf(nn请选择:);scanf(%d,&i); quit();/*退出函数*/intquit()inty;printf(是否需要返回主界面?1-是2-否nn);scanf(%d,&y);if(y=1) welcome();elseprintf(*欢迎下次光临武科大酒店*!nn);return1;lag=0) printf(空房,无法办理退房!nn); switch(roomn-1.kind) case1:strcpy(zhon
11、glei,单人间);break; case2:strcpy(zhonglei,双人间);break; printf(房间号:%dn房间类型:%sn客人姓名:%sn身份证号:%sn,roomn-1.num,zhonglei,roomn-1.name,roomn-1.ID); printf(nt房间定价为:%dn,roomn-1.dingjia); if(roomn-1.flag=1) shoufei(roomn-1.dingjia,roomn-1.shiji); printf(nn是否退房(1.是2.否):); scanf(%d,&m); if(m=1) roomn-1.flag=0; strc
12、py(roomn-1.name,0); roomn-1.shiji=0; printf(nn您已成功退房,欢迎下次光临!nn); save(); quit();return1;/*主界面*/voidwelcome() intn; n=find(); system(color4F);printf(-);printf(欢迎进入武科大酒店管理系统n);printf(t1.入住登记nn);询当前房间入住情况nn);询客户当前费用nn);账退房nn);出系统nn);/printf(ttttt酒店总房间数:%dnttttt当前剩余数:%dn,M,M-n);printf(nn);printf(请根据序号进行
13、下一步:n);/*结构体hotel房间号、房间种类、客户姓名、身份证号、入住状态、实际收房费,押金等*/structhotelintnum;/*房间号*/intkind;/*房间种类1(表示单人间)2(表示双人间)*/charname20;/*姓名*/charID19;/*身份证号*/intflag;/*flag0(表示有人入住)0(表示无人入住)*/intdingjia;/*房间定价*/intshiji;/*实际缴纳费用*/roomM;/头文件用来声明函数/voidwelcome();/主界面intdengji();/登记入住函数intnow_room();/查询当前房间入住情况intnow_feiyong();/查询当前费用inttuifang();/结账退房intfind();/查询当前入住人数intkfxinxi();/客户信息voidjiezhang();/结账付款intquit();/退出函数intmima();/密码/voidsave();/保存/
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1