C语言课程设计酒店房间登记与计费管理系统源代码_第1页
C语言课程设计酒店房间登记与计费管理系统源代码_第2页
C语言课程设计酒店房间登记与计费管理系统源代码_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、酒店房间登记与计费管理系统源代码#defineM80#include<stdlib.h>#include<stdio.h>#include<string.h>/*函数声明*/voidcheck_in();/*登记入住函数*/voidchamber。;/*入住情况函数*/*/voidprice();/*voidfee();/*voidinfor();/*voidsave(int);/*结账退房函数*/信息查询函数*/保存信息函数*/voidread(int);/*读取信息函数*/voidchoice();/*功能选择函数*/intjudge_year(int)

2、;/*判断闰年函数*/voidinformation();/*输出全部房间彳息*/*结构体*/structtime(intyear;intmon;intdate;inthour;;structroom/*定义各房间信息的结构体*/(charname40;charID18;intflag;/*0-无人入住,1-按小时计费,2-按天计费*/longintdeposit;timet2;/*0-入住时间,1-当前时间*/roomM;charc140=0;charc218=0;/*主函数(主界面)*/voidmain()system("cls");/*活屏*/system("

3、;color4E");intn;printf("*");printf("*");printf("*tt欢迎光临万豪洒店*却,*");'*爪什);printf("ttt1.登记入住nn");printf("ttt2.入住情况nn");printf("ttt3.当前费用nn");printf("ttt4.结账退房nn");printf("ttt5.信息查询nn");printf("ttt6.全部信息nn"

4、;);printf("ttt7.退出系统nn");printf("请输入您需要的服务的代码:");scanf("%d",&n);while(n<1|n>7)(printf("nn代码输入有误,请您重新输入:");scanf("%d",&n);switch(n)/*(case1:check_in();break;/*case2:chamber();break;/*case3:price();break;/*case4:fee();break;/*case5:infor(

5、);break;/*case6:information();break;/*case7:exit(0);/*根据输入数字选择功能*/调用登记入住函数*/调用房间情况函数*/调用当前费用函数*/调用结账退房函数*/调用信息查询函数*/调用全部信息函数*/调用退出系统函数*/*查看房间使用情况函数*/voidchamber()(system("cls");/*活屏*/system("color4E");printf("n*房间使用*5);intcount=0;inti;intj;intk;intm;for(i=1;i<=80;i+)/*统计未

6、入住房间总数*/(read(i);if(roomi-1.flag=0)count+;printf("当前未使用房间数:%dnnn",count);chaxun:printf("请输入你要查询的房间号(1-40:单人问,41-80:双人问):");/*输入房间号查询房间入住情况*/scanf("%d",&m);while(m<1|m>80)printf("nn房间号输入有误,请您重新输入:");scanf("%d",&m);read(m);while(roomm-1.f

7、lag!=0)printf("nn对不起,该房间已有客人入住,请输入其他房间号:");scanf("%d",&m);read(m);printf("nn该房间没有客人入住,您要入住该房间吗(1-是,2-否):");scanf("%d",&j);while(j<1|j>2)(printf("nn您的选择输入有误,请您重新输入:");scanf("%d",&j);if(j=1)check_in();else(printf("nn您需要

8、继续查询吗(1-是,2-否):");scanf("%d",&k);while(k<1|k>2)(printf("nn您的选择输入有误,请您重新输入:");scanf("%d",&k);if(k=1)gotochaxun;elseprintf("nn");main();/*登记入住函数*/voidcheck_in()system("cls");/*活屏*/system("color4E");inti;intj;intl;intk;intta

9、b212=31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31;printf("n*登记入住*n");*printf(-请输入您将入住的房间号:");scanf("%d",&i);while(i<1|i>80)printf("nn房间号输入有误,请您重新输入:");scanf("%d",&i);read(i);住*/(printf("nn对不起,该房间已有客人入住,请输入其他房间

10、号:");scanf("%d",&i);read(i);printf(-nn请输入您的姓名:");/*客人信息登记*/scanf("%s",);j=strlen();while(j<0)(printf("nn您的姓名输入有误,请您重新输入:n");scanf("%s",);j=strlen();printf("nn请输入您的证件号码:");scanf("%s

11、",roomi-1.ID);j=strlen(roomi-1.ID);while(j!=18)(printf("nn您的证件号码输入有误,请您重新输入:n");scanf("%s",roomi-1.ID);j=strlen(roomi-1.ID);if(i<=40)(printf("nn您选择的是单人问,该房间148元/天,8元/小时0nnn");/*选择计费方式*/printf("请选择您的计费方式(1:按小时计费,2:按天计费):");else(printf("nn您选择的是双人问,该

12、房间128元/天,7元/小时。nnn");printf("请选择您的计费方式(1:按小时计费,2:按天计费):");scanf("%d",&roomi-1.flag);while(roomi-1.flag<0|roomi-1.flag>2)printf("nn您的计费方式输入有误,请您重新输入:");scanf("%d",&roomi-1.flag);printf("nn请按所示格式输入您的入住时间(年-月-日-时,时为24小时制):,scanf("%d-%

13、d-%d-%d",&roomi-1.t0.year,&roomi-1.t0.mon,&roomi-1.t0.date,&roomi-1.t0.hour);l=judge_year(roomi-1.t0.year);while(roomi-1.t0.year<=0)|(roomi-1.t0.mon<=0|roomi-1.t0.mon>12)|(roomi-1.t0.date<=0|roomi-1.t0.date>tablroomi-1.t0.mon-1)|(roomi-1.t0.hour<0|roomi-1.t0.ho

14、ur>=24)(printf("nn您的入住时间输入有误,请按照格式重新输入:");scanf("%d-%d-%d-%d",&roomi-1.t0.year,&roomi-1.t0.mon,&roomi-1.t0.date,&roomi-1.t0.hour);l=judge_year(roomi-1.t0.year);printf("nn请输入您的押金数额:");scanf("%ld",&roomi-1.deposit);while(roomi-1.deposit<

15、;=0)(printf("nn您的押金数额输入有误,请您重新输入:n");scanf("%ld",&roomi-1.deposit);printf(-nn您是否确定您的信息:(1-是,2-否):");scanf("%d",&k);while(k<1|k>2)(printf("nn您的选择输入有误,请您重新输入:n");scanf("%d",&k);if(k=1)(printf("nn您已登记入住成功,祝您在本店住得愉快!nn");

16、save(i);choice();elsecheck_in();/*费用查询函数*/voidprice()(system("cls");/*活屏*/system("color4E");printf("n*费用查询*n");*inti;intj;intk;inttab212=31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31;intday=0;inthr=0;inttotal_hour;inttotal_day;longintprice;prin

17、tf(-请输入您的房间号:");scanf("%d",&i);while(i<1|i>80)(printf("nn您的房间号输入有误,请您重新输入:");scanf("%d",&i);read(i);while(roomi-1.flag=0)/*判断房间是否已有客人入住*/(printf("nn该房间无人入住,请重新输入您的房间号:");scanf("%d",&i);read(i);printf(-nn请按所示格式输入当前时间(年-月-日-时,时为2

18、4小时制):/*输入当前时间*/shuru:scanf("%d-%d-%d-%d",&roomi-1.t1.year,&roomi-1.t1.mon,&roomi-1.t1.date,&roomi-1.t1.hour);j=judge_year(roomi-1.t1.year);while(roomi-1.t1.year<=0)|(roomi-1.t1.mon<=0|roomi-1.t1.mon>12)|(roomi-1.t1.date<=0|roomi-1.t1.date>tabjroomi-1.t1.mon-

19、1)|(roomi-1.t1.hour<0|roomi-1.t1.hour>=24)printf("nn您的入住时间输入有误,请按照格式重新输入:");scanf("%d-%d-%d-%d",&roomi-1.t1.year,&roomi-1.t1.mon,&roomi-1.t1.date,&roomi-1.t1.hour);j=judge_year(roomi-1.t1.year);if(roomi-1.t0.mon!=roomi-1.t1.mon)for(k=roomi-1.t0.mon+1;k<ro

20、omi-1.t1.mon;k+)(day+=tabjk-1;day+=tabjroomi-1.t0.mon-1-roomi-1.t0.date+roomi-1.t1.date;elseday+=roomi-1.t1.date-roomi-1.t0.date;hr=roomi-1.t1.hour-roomi-1.t0.hour;if(roomi-1.flag=1)/*根据房间类型和计费方式计算费用*/if(hr<0)total_hour=day*24-hr;elseif(i<=40)price=8*total_hour;elseprice=7*total_hour;if(roomi-

21、1.flag=2)while(hr<0)day=day-1;hr=hr+24;if(hr<8)total_day=day;elsetotal_day=day+1;price=148*total_day;elseprice=128*total_day;while(price<0)(printf(-您的时间输入有误,请重新输入:");gotoshuru;printf("nn当前费用为:%ld元.nn",price);/*输出当前费用*/choice();/*结账退房函数*/voidfee()(system("cls");syste

22、m("color4E");printf("n*结账退房*n");*inti;intj;intk;inttab212=31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31;intday=0;inthr=0;inttotal_hour;inttotal_day;longintprice;longintfee;printf(-请输入您的房间号:");scanf("%d",&i);while(i<1|i>80)(printf

23、("nn您的房间号输入有误,请您重新输入:");scanf("%d",&i);read(i);while(roomi-1.flag=0)/*判断房间是否有客人入住*/(printf("nn该房间无人入住,请重新输入您的房间号:");scanf("%d",&i);read(i);printf("nn请按所示格式输入当前时间(年-月-日-时,时为24小时制):");/*输入当前时间*/shuru:scanf("%d-%d-%d-%d",&roomi-1.t

24、1.year,&roomi-1.t1.mon,&roomi-1.t1.date,&roomi-1.t1.hour);j=judge_year(roomi-1.t1.year);while(roomi-1.t1.year<=0)|(roomi-1.t1.mon<=0|roomi-1.t1.mon>12)|(roomi-1.t1.date<=0|roomi-1.t1.date>tabjroomi-1.t1.mon-1)|(roomi-1.t1.hour<0|roomi-1.t1.hour>=24)printf("nn您的入

25、住时间输入有误,请按照格式重新输入:");scanf("%d-%d-%d-%d",&roomi-1.t1.year,&roomi-1.t1.mon,&roomi-1.t1.date,&roomi-1.t1.hour);j=judge_year(roomi-1.t1.year);if(roomi-1.t0.mon!=roomi-1.t1.mon)for(k=roomi-1.t0.mon+1;k<roomi-1.t1.mon;k+)(day+=tabjk-1;day+=tabjroomi-1.t0.mon-1-roomi-1.t0

26、.date+roomi-1.t1.date;elseday+=roomi-1.t1.date-roomi-1.t0.date;hr=roomi-1.t1.hour-roomi-1.t0.hour;if(roomi-1.flag=1)/*根据房间类型和计费方式计算费用*/if(hr<0)total_hour=day*24-hr;elseif(i<=40)price=8*total_hour;elseprice=7*total_hour;if(roomi-1.flag=2)while(hr<0)day=day-1;hr=hr+24;if(hr<8)total_day=day

27、;elsetotal_day=day+1;price=148*total_day;elseprice=128*total_day;while(price<0)(printf(-您的时间输入有误,请重新输入:");gotoshuru;fee=price-roomi-1.deposit;if(fee>0)/*输出最后的总费用*/printf("nn扣除押金后,您另需支付费用%ld元。",fee);elseif(fee=0)printf("nn您所交纳的押金恰好能够支付您的住房费用,您无需另行交else(printf("nn您所交纳的押金

28、还未使用完,本宾馆应支付您余额%ld元”,-fee);printf("nnn您已退房成功,感谢您的光临,我们下次再见!nn");roomi-1.flag=0;strcpy(,c1);strcpy(roomi-1.ID,c2);roomi-1.deposit=0;roomi-1.t0.year=0;roomi-1.t0.mon=0;roomi-1.t0.date=0;roomi-1.t0.hour=0;roomi-1.t1.year=0;roomi-1.t1.mon=0;roomi-1.t1.date=0;roomi-1.t1.hour=0;save(

29、i);choice();/*信息查询函数*/voidinfor()system("cls");system("color4E");printf("n*n");*inti;printf("请输入您的房间号:");scanf("%d",&i);while(i<1|i>80)(printf("nn您的房间号输入有误,请您重新输入:");scanf("%d",&i);read(i);while(roomi-1.flag=0)/*判断房间

30、是否有客人入住*/(printf("nn该房间无人入住,请重新输入您的房间号:");scanf("%d",&i);read(i);printf("nn您的信息如下:nnn");/*输出客人信息*/prw(=mNLWpufs(roomL5a)me)_prmffcmrrwprmff(=回审血pufs(roomLL-D)prmffcmrrwprmff(=还回成BifxK。)prw(=活A回-Qseprw(=瀚>回5三57prmff(=4w*m=)ifsomT1二f-agnnq)prmff(=®m耳4WEmrrwels

31、e(printf("按天计费nnn");printf("入住时间:");printf("%d年%d%月%d日%d时nnn",roomi-1.t0.year,roomi-1.t0.mon,roomi-1.t0.date,roomi-1.t0.hour);printf("押金数额:");printf("%ld元nn",roomi-1.deposit);choice();/*功能选择函数*/voidchoice()(printf("n*功能选择*n");printf("t

32、tt1.入住情况n");*printf("ttt2.登记入住n");printf("ttt3.当前费用n");printf("ttt4.结账退房n");printf("ttt5.信息查询n");printf("ttt6.回主界面n");printf("ttt7.全部信息n");printf("ttt8.退出系统n");intk;printf(-请选择您需要的服务:");/*服务选择*/scanf("%d",&

33、k);while(k<1|k>8)(printf("nn代码输入有误,请您重新输入:");scanf("%d",&k);switch(k)(case1:chamber();break;/*case2:check_in();break;/*case3:price();break;/*case4:fee();break;/*case5:infor();break;/*case6:main();break;/*case7:information();break;/*case8:exit(0);/*调用房间情况函数*/调用登记入住函数*/调用

34、当前费用函数*/调用结账退房函数*/调用信息查询函数*/调用主函数*/调用全部信息函数*/调用退出系统函数*/*判断闰年函数*/intjudge_year(intx)if(x%4=0)&&(x%100!=0)|(x%400=0)return(1);elsereturn(0);/*全部信息查询*/voidinformation。system("cls");printf("n*inti;intj;intk;intyear;intmonth;intdate;inthour;intyearl;intmonthl;intdayl;inthourl;intta

35、b212=31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31;intday=0;inthr=0;inttotal_hour;inttotal_day;longintprice;printf("nn请按所示格式输入当前时间(年-月-日-时,时为24小时制):");/*输入当前时间*/scanf("%d-%d-%d-%d",&year,&month,&date,&hour);j=judge_year(year);for(i=1;i<

36、;=80;i+)read(i);if(roomi-1.flag=0)printf("房|、h%M人入住。n",i);if(i<=40)printf(-房间类型:单人问。n");printf("单价:148元/天,8元/小时。n");elseprintf(-房间类型:双人问。n");printf("单价:128元/天,7元/小时。n");else(year1=year-roomi-1.t0.year;month1=month-roomi-1.t0.mon;day1=date-roomi-1.t0.date;ho

37、ur1=hour-roomi-1.t0.hour;while(hour1<0)day1=day1-1;hour1=hour1+24;printf("房间%d户信息如下:n",i);printf("姓名:");puts();printf("证件号码:");puts(roomi-1.ID);printf("房间类型:");if(i<=40)(printf("单人问n");printf("单价:148元/天,8元/小时。n");else(prin

38、tf("双人问n");printf("单价:128元/天,7元/小时。n");printf("计费方式:");if(roomi-1.flag=1)(printf("按小时计费n");else(printf(-按天计费n");printf("入住时间:");printf("%d年%d%月%d日%d时n",roomi-1.t0.year,roomi-1.t0.mon,roomi-1.t0.date,roomi-1.t0.hour);printf("已入住时间:%d年%d月%d天%d小时。n",year1,month1,day1,hour1);printf("

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论