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

下载本文档

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

文档简介

1、酒店房间登记与计费管理系统源代码#define M 80#include<stdlib.h>#include<stdio.h>#include<string.h>/* 函数声明 */void check_in();/* 登记入住函数 */void chamber();/* 入住情况函数*/void price();/* 当前费用函数*/void fee();/* 结账退房函数*/void infor();/* 信息查询函数*/void save(int);/* 保存信息函数*/void read(int);/* 读取信息函数*/void choice();/

2、* 功能选择函数*/int judge_year(int); /* 判断闰年函数*/void information(); /* 输出全部房间信息 */* 结构体 */struct timeint year;int mon;int date;int hour;struct room/* 定义各房间信息的结构体 */char name40;char ID18;*/int flag;/* 0- 无人入住,1-按小时计费,2-按天计费long int deposit;time t2;/*0-入住时间,1-当前时间*/roomM;char c140=0;char c218=0;/* 主函数(主界面)

3、*/void main()system("cls");/* 清屏 */ system("color 4E");int n;printf(”*"printf("*");printf("*tt*");printf("* 欢 迎 光 临 万 豪 酒 店/* 查看房间使用情况函数*/第3页printf(printf("ttt printf("ttt1.2.登记入住入住情况nn");nn");printf("ttt3.当前费用nn");print

4、f("ttt4.结账退房nn");printf("ttt5.信息查询nn");printf("ttt6.全部信息nn");printf("ttt7.退出系统nn");printf(" 请输入您需要的服务的代码: ");”*nn");scanf("%d",&n);while(n<1|n>7)printf("nn 代码输入有误,请您重新输入: ");*/scanf("%d",&n);switch(n)c

5、ase 1:check_in();break;case 2:chamber();break;case 3:price();break;case 4:fee();break;case 5:infor();break;case 6:information();break;case 7:exit(0);/* 根据输入数字选择功能/* 调用登记入住函数*/* 调用房间情况函数*/* 调用当前费用函数*/* 调用结账退房函数*/* 调用信息查询函数*/* 调用全部信息函数*/* 调用退出系统函数*/* 清屏 */void chamber() system("cls");system(

6、"color 4E");printf("n*房间使用情况*n");*int count=0;int i;int j;int k;int m;for(i=1;i<=80;i+)/* 统计未入住房间总数*/read(i);if(roomi-1.flag=0)count+;printf(" 当前未使用房间数: %dnnn",count);chaxun:printf(" 请输入你要查询的房间号( 1-40:单人间, 41-80:双人间) : ");/* 输入房间号查询房间入住情况*/scanf("%d&qu

7、ot;,&m);while(m<1|m>80)printf("nn 房间号输入有误,请您重新输入: ");scanf("%d",&m);read(m);while(roomm-1.flag!=0)printf("nn 对不起,该房间已有客人入住,请输入其他房间号: ");scanf("%d",&m);read(m);printf("nn 该房间没有客人入住,您要入住该房间吗?(1-是,2-否): ");scanf("%d",&j);

8、while(j<1|j>2)printf("nn 您的选择输入有误,请您重新输入: ");scanf("%d",&j); if(j=1) check_in();elseprintf("nn 您需要继续查询吗?(1-是,2-否): ");第3页scanf("%d",&k);while(k<1|k>2)printf("nn 您的选择输入有误,请您重新输入: ");scanf("%d",&k);if(k=1)goto chaxun;e

9、lseprintf("nn");main();/* 登记入住函数*/* 清屏 */void check_in() system("cls");system("color 4E"); int i;int j;int l;int k;int tab212=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*登记入住/* 客人信息登记*/第5页");/* 判断房间是否入住 */*n");printf(

10、" 请输入您将入住的房间号: ");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 请输入您的姓名: ");scanf("%

11、s",);j=strlen();while(j<0)printf("nn 您的姓名输入有误,请您重新输入: n");scanf("%s",);j=strlen();printf("nn 请输入您的证件号码: ");scanf("%s",roomi-1.ID);j=strlen(roomi-1.ID);while(j!=18)printf("nn 您的证件号码输入有误,请您重新输入: n"

12、;);scanf("%s",roomi-1.ID);j=strlen(roomi-1.ID);if(i<=40)printf("nn 您选择的是单人间,该房间 148 元/天, 8 元/小时。 nnn");/* 选择计费方式*/printf(" 请选择您的计费方式( 1:按小时计费, 2:按天计费) : ");elseprintf("nn 您选择的是双人间,该房间 128 元/天, 7 元/小时。 nnn"); printf(" 请选择您的计费方式( 1:按小时计费, 2:按天计费) : "

13、;);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-%d-%d-%d",&roomi-1.t0.year,&roomi-1.t0.mon,

14、&roomi-1.t 0.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.hour>=24)printf("nn 您的入住时间输入有误,请按照格式重新输入: &quo

15、t;);scanf("%d-%d-%d-%d",&roomi-1.t0.year,&roomi-1.t0.mon,&roomi-1.t第5页0.date,&roomi-1.t0.hour);l=judge_year(roomi-1.t0.year);printf("nn 请输入您的押金数额: ");scanf("%ld",&roomi-1.deposit);while(roomi-1.deposit<=0)printf("nn 您的押金数额输入有误,请您重新输入: n"

16、);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");save(i);choice();elsecheck_in();/*

17、 费用查询函数*/* 清屏 */void price() system("cls");system("color 4E");printf("n*费用查询*n" int i;int j;int k;int tab212=31,28,31,30,31,30,31,31,30,31,30,31, 31,29,31,30,31,30,31,31,30,31,30,31;int day=0;int hr=0;int total_hour;int total_day;long int price;printf(" 请输入您的房间号: &

18、quot;);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 请按所示格式输入当前时间(年-月 -日 -时,时为24

19、小时制) :");/* 输入当前时间 */shuru:scanf("%d-%d-%d-%d",&roomi-1.t1.year,&roomi-1.t1.mon,&roomi-1.t 1.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>tabjroo

20、mi-1.t1.mon-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.t

21、0.mon+1;k<roomi-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;第7页/* 根据房间类型和计费方/* 输出当前printf("n*结账退房if(roomi-1.flag=1)式计算费用 */if(hr<0)total_hour=day*24-hr;elsetotal_hour=day*24

22、+hr;if(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;elsetotal_day=day+1;if(i<=40)price=148*total_day;elseprice=128*total_day;while(price<0)printf(" 您的时间输入有误,请重新输入: ");goto shuru;printf("nn 当前费用为: %

23、ld 元 .nn",price);费用 */choice();/* 结账退房函数*/ void fee()system("cls");system("color 4E");第 15 页*n");*int i;int j;int k;int tab212=31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31;int day=0;int hr=0;int total_hour;int total_day;long int price;long int

24、 fee;printf(" 请输入您的房间号: ");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

25、 请按所示格式输入当前时间(年-月 -日 -时,时为24 小时制) :");/* 输入当前时间 */shuru:scanf("%d-%d-%d-%d",&roomi-1.t1.year,&roomi-1.t1.mon,&roomi-1.t 1.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<

26、=0|roomi-1.t1.date>tabjroomi-1.t1.mon-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!=r

27、oomi-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.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; else/* 根据房间类型和计费方式total_hour=day*24

28、+hr;if(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;elsetotal_day=day+1;if(i<=40)price=148*total_day;elseprice=128*total_day;while(price<0)printf(" 您的时间输入有误,请重新输入:goto shuru;fee=price-roomi-1.deposit;if(fee&

29、gt;0)");/* 输出最后的总费用 */printf("nn 扣除押金后,您另需支付费用 %ld 元。 ",fee);else if(fee=0)printf("nn 您所交纳的押金恰好能够支付您的住房费用,您无需另行交钱。 ");elseprintf("nn您所交纳的押金还未使用完,本宾馆应支付您余额%ld 元。",-fee);printf("nnn您已退房成功,感谢您的光临,我们下次再见!nn");roomi-1.flag=0;strcpy(,c1);strcpy(room

30、i-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(i);choice();/* 信息查询函数*/ void infor() system("cls");system("color 4E");printf("n*信息查询第 23 页*n"

31、int i;printf(" 请输入您的房间号: ");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

32、 您的信息如下: nnn");/* 输出客人信息*/printf(" 姓名: ");puts();printf("nn");printf(" 证件号码: ");puts(roomi-1.ID);printf("nn");printf(" 房间类型: ");if(i<=40)printf(" 单人间nnn");elseprintf(" 双人间nnn");printf(" 计费方式: ");if(ro

33、omi-1.flag=1)printf(" 按小时计费nnn");elseprintf(" 按天计费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();/* 功能选择函数

34、*/void choice()printf("n*功能选择*n");*printf("ttt1.入住情况n");printf("ttt2.登记入住n");printf("ttt3.当前费用n");printf("ttt4.结账退房n");printf("ttt5.信息查询n");printf("ttt6.回主界面n");printf("ttt7.全部信息n");printf("ttt8.退出系统n");int k;p

35、rintf(" 请选择您需要的服务:");/* 服务选择*/scanf("%d",&k);while(k<1|k>8)printf("nn 代码输入有误,请您重新输入: ");scanf("%d",&k);switch(k) case 1:chamber();break;case 2:check_in();break;case 3:price();break;case 4:fee();break;case 5:infor();break;case 6:main();break;case

36、7:information();break;case 8:exit(0);/* 调用房间情况函数*/* 调用登记入住函数*/* 调用当前费用函数*/* 调用结账退房函数*/* 调用信息查询函数*/* 调用主函数*/* 调用全部信息函数*/* 调用退出系统函数*/* 判断闰年函数*/int judge_year(int x)if(x%4=0)&&(x%100!=0)|(x%400=0) return(1);elsereturn(0); /* 全部信息查询 */ void information()system("cls");printf("n*部信息

37、*int i;int j;int k;int year;int month;int date;int hour;int year1;int month1;int day1;int hour1;int tab212=31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31;int day=0;int hr=0;int total_hour;int total_day;24 小时制) :long int price;printf("nn 请按所示格式输入当前时间(年-月 -日 -时,时为");

38、/* 输入当前时间 */scanf("%d-%d-%d-%d",&year,&month,&date,&hour);j=judge_year(year);for(i=1;i<=80;i+)read(i);if(roomi-1.flag=0)printf(" 房间%d 无人入住。 n",i);if(i<=40)printf(" 房间类型:单人间。 n");printf(" 单价: 148 元/ 天, 8 元/小时。 n");elseprintf(" 房间类型:双人

39、间。 n");printf(" 单价: 128 元/ 天, 7 元/小时。 n");elseyear1=year-roomi-1.t0.year;month1=month-roomi-1.t0.mon;day1=date-roomi-1.t0.date;hour1=hour-roomi-1.t0.hour;while(hour1<0)day1=day1-1;hour1=hour1+24;printf(" 房间 %d 客户信息如下: n",i);printf(" 姓名: ");puts();pri

40、ntf(" 证件号码:");puts(roomi-1.ID);printf(" 房间类型:");if(i<=40)printf(" 单人间 n");printf(" 单价: 148 元/ 天, 8 元/小时。n");elseprintf(" 双人间 n");printf(" 单价: 128 元/ 天, 7 元/小时。n");printf(" 计费方式: ");if(roomi-1.flag=1)printf(" 按小时计费n");elseprintf(" 按天计费n");printf(" 入住时间: ");printf("%d年%d% 月 %d 日 %d 时n",roomi-1.t0.year,roomi-1.t0.mon,roomi-1.t0.date,roomi-1.t0.ho ur);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

提交评论