.
酒店房间登记与计费管理系统源代码
#define M 80
#include
/*函数声明*/
void check_in(); /*登记入住函数*/ void chamber(); /*入住情况函数*/ void price(); /*当前费用函数*/ void fee(); /*结账退房函数*/ void infor(); /*信息查询函数*/ void save(int); /*保存信息函数*/ void read(int); /*读取信息函数*/ void choice(); /*功能选择函数*/ int judge_year(int); /*判断闰年函数*/ void information(); /*输出全部房间信息*/
/*结构体*/ struct time {int year; int mon; int date; int hour; };
struct room /*定义各房间信息的结构体*/ {char name[40]; char ID[18];
int flag; /* 0-无人入住,1-按小时计费,2-按天计费long int deposit;
time t[2]; /* 0-入住时间,1-当前时间 */ }room[M];
char c1[40]={0}; char c2[18]={0};
/*主函数(主界面)*/ void main()
.
*/ .
{system(\清屏*/ system(\int n;
printf(\************************\
printf(\**\
printf(\ ---------- 欢迎光临万豪酒店 ---------- **\
printf(\**\
printf(\************************\\n\\n\
printf(\登记入住 ]\\n\\n\printf(\入住情况 ]\\n\\n\printf(\当前费用 ]\\n\\n\printf(\结账退房 ]\\n\\n\printf(\信息查询 ]\\n\\n\printf(\全部信息 ]\\n\\n\printf(\退出系统 ]\\n\\n\printf(\请输入您需要的服务的代码:\scanf(\while(n<1||n>7)
{printf(\代码输入有误,请您重新输入:\ scanf(\ }
switch(n) /*根据输入数字选择功能*/ {case 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(\清屏*/ system(\
printf(\房间使用情况**********************************\\n\int count=0; int i; int j; int k; int m;
for(i=1;i<=80;i++) /*统计未入住房间总数*/ {read(i);
if(room[i-1].flag==0) count++;}
printf(\当前未使用房间数:%d\\n\\n\\n\chaxun:
printf(\请输入你要查询的房间号(1-40:单人间,41-80:双人间):\/*输入房间号查询房间入住情况*/ scanf(\while(m<1||m>80)
{printf(\房间号输入有误,请您重新输入:\ scanf(\ }
read(m);
while(room[m-1].flag!=0)
{printf(\对不起,该房间已有客人入住,请输入其他房间号:\ scanf(\read(m);}
printf(\该房间没有客人入住,您要入住该房间吗?(1-是,2-否):\
scanf(\while(j<1||j>2)
{printf(\您的选择输入有误,请您重新输入:\scanf(\}
if(j==1) check_in(); else
.
.
{printf(\您需要继续查询吗?(1-是,2-否):\scanf(\while(k<1||k>2)
{printf(\您的选择输入有误,请您重新输入:\scanf(\}
if(k==1) goto chaxun; else
{printf(\main();} } }
/*登记入住函数*/ void check_in()
{system(\清屏*/ system(\int i; int j; int l; int k;
int tab[2][12]={{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\printf(\请输入您将入住的房间号:\scanf(\while(i<1||i>80)
{printf(\房间号输入有误,请您重新输入:\ scanf(\ }
read(i);
while(room[i-1].flag!=0) /*判断房间是否入住*/
{printf(\对不起,该房间已有客人入住,请输入其他房间号:\ scanf(\read(i);}
.
.
printf(\请输入您的姓名:\客人信息登记*/ scanf(\j=strlen(room[i-1].name); while(j<0)
{printf(\您的姓名输入有误,请您重新输入:\\n\ scanf(\ j=strlen(room[i-1].name); }
printf(\请输入您的证件号码:\scanf(\j=strlen(room[i-1].ID); while(j!=18)
{printf(\您的证件号码输入有误,请您重新输入:\\n\ scanf(\ j=strlen(room[i-1].ID); }
if(i<=40)
{printf(\您选择的是单人间,该房间148元/天,8元/小时。\\n\\n\\n\/*选择计费方式*/
printf(\请选择您的计费方式(1:按小时计费,2:按天计费):\} else
{printf(\您选择的是双人间,该房间128元/天,7元/小时。\\n\\n\\n\
printf(\请选择您的计费方式(1:按小时计费,2:按天计费):\}
scanf(\
while(room[i-1].flag<0||room[i-1].flag>2)
{printf(\您的计费方式输入有误,请您重新输入:\scanf(\}
printf(\请按所示格式输入您的入住时间(年-月-日-时,时为24小时制):\
scanf(\om[i-1].t[0].date,&room[i-1].t[0].hour); l=judge_year(room[i-1].t[0].year);
while((room[i-1].t[0].year<=0)||(room[i-1].t[0].mon<=0||room[i-1].t[0].mon>12)||(room[i-1].t[0].date<=0||room[i-1].t[0].date>tab
.