#include
#include
#include
#include
#include
#include
{
//房号
int RoomNo;
//客房类型
char RoomType[20];
//客房价格
float RoomRate;
//空闲情况
bool IsEmpty;
//客人姓名
char TName[20];
//客人身份证号
char TNo[24];
//入住时间
char TDeta[128];
//退房时间
char QDeta[128];
//预付费用
float Prepay;
};//系统可管理房间数组
Hotel H[N];
//实际房间数
int RoomNun;void CleanUpData();
//信息录入
void RoomInfoInput();void TEnterRoomMenu();
//客人入住
void TEnterRoom();
//退房菜单
void QRoomMenu();
//客人退房
void QRoom();
//浏览客房信息
void ViewRoomInfo();
//查询菜单
void QueryMenu();
//查询客房信息
//n 查询方式
void QueryRoomInfo();
//主菜单
void MainMenu();
//删除客房信息
void DelRoom();
//
void ModRoom();
//
bool CheckVaild();void main()
{
//int n;
char cn;
RoomNun=0;
while(1)
{
MainMenu();
printf("输入命令:>>");
scanf("%1s",&cn);
switch(cn)
{
case '1':RoomInfoInput();break;
case '2':ViewRoomInfo();break;
case '3':TEnterRoom();break;
case '4':QRoom();break;
case '5':QueryRoomInfo();break;
case '6':DelRoom();break;
case '7':ModRoom();break;
case 'Q':exit(0);break;
default:printf("结 果:>>输入有误!\n");break;
}
cn=getchar();
printf("\t");
getch();
system("cls");
}
}void CleanUpData()
{
Hotel t;
for (int i=0;i
for (int j=2;j
if (!H[i].IsEmpty)
{
if(H[j].IsEmpty)
{
t=H[i];
H[i]=H[j];
H[j]=t;
}
}
else
break;
}
}
}
/*
* 主菜单
*/
void MainMenu()
{
printf("\t | \n");
printf("\t | 宾馆客房管理系统 V 1.0\n");
printf("\t | QQ:112212259\n");
printf("\t--|------------------------\n");
printf("\t |\n");
printf("\t | 1.客房信息录入\n");
printf("\t |\n");
printf("\t | 2.浏览客房信息\n");
printf("\t |\n");
printf("\t | 3.客人入住\n");
printf("\t |\n");
printf("\t | 4.客人退房\n");
printf("\t |\n");
printf("\t | 5.查询\n");
printf("\t |\n");
printf("\t | 6.删除客房信息\n");
printf("\t |\n");
printf("\t | 7.修改客房信息\n");
printf("\t |\n");
printf("\t | Q.退出\n");
printf("\t |\n");
printf("\t--|------------------------\n");
printf("\t |\n");
}void RoomInfoInput()
{
Hotel t;
char ch[10];
CleanUpData();
NEXT:
memset(&t,0x0,sizeof(t));
system("cls");
printf("请录入:\n");
//房号
while(1)
{
printf("房 号:");
scanf("%d",&t.RoomNo);
bool f=false;
for (int i=0;i
if (t.RoomNo==H[i].RoomNo)
{
printf("房号已经存在!\n");
f=true;
}
}
if (f)
continue;
else
break;
}
//客房类型
printf("客房类型:");
scanf("%20s",t.RoomType);
//客房价格
printf("客房价格:");
scanf("%10s",ch);
t.RoomRate=(float)atof(ch);
//空闲情况
while(1)
{
printf("空闲情况(0\\1):");
scanf("%1s",ch);
if(atoi(ch)==1)
{
t.IsEmpty=1;
break;
}
else if (atoi(ch)==0)
{
t.IsEmpty=0;
break;
}
}
if(t.IsEmpty)
{
//客人姓名
printf("客人姓名:");
scanf("%20s",t.TName);
//客人身份证号
printf("客人身份证号:");
scanf("%23s",t.TNo);
//入住时间
time_t t1;
time(&t1);
sprintf(t.TDeta,"%s", ctime(&t1));
printf("入住时间: %s",t.TDeta);
//退房时间
//printf("退房时间:");
//scanf("%12s",t.QDeta);
strcpy(t.QDeta,"未定");
//预付费用
printf("预付费用:");
scanf("%10s",ch);
t.Prepay=(float)atof(ch);
}
H[RoomNun++]=t;
printf("录入完成!继续(y)?");
scanf("%1s",ch);
if ('y'==tolower(ch[0]))
{
printf("\t继续\n");
goto NEXT;
}
printf("结束\n");
}void TEnterRoomMenu()
{
system("cls");
printf("\t | \n");
printf("\t | 住房\n");
printf("\t--|------------------------\n");
printf("\t | 1.住\n");
printf("\t | Q.返回\n");
printf("\t--|------------------------\n");
printf("\t |\n");
}
//客人入住
void TEnterRoom()
{
int n=0;
char ch[10];
while(1)
{
TEnterRoomMenu();
printf("输入命令:>>");
scanf("%1s",&ch);
switch (ch[0])
{
case '1':
break;
case 'Q':
case 'q':
return;
break;
default:
printf("结 果:>>输入有误!\n");break;
}
if (ch[0]=='1')
{
break;
}
ch[0]=getchar();
}
CleanUpData();
for (int i=0;i
if (!H[i].IsEmpty)
{
n=i;
}
}
if ((n+1)>RoomNun)
{
printf("\t |\n");
printf("\t--|------------------------\n");
printf("\t | 非常抱歉!小店已住满.\n");
printf("\t--|------------------------\n");
printf("\t |\n");
return;
}
printf("\t |\n");
printf("\t | 可以入住的房间\n");
printf("\t--|------------------------\n");
for (i=0;i
if (!H[i].IsEmpty)
{
printf("\t | 房号: %d\n",H[i].RoomNo);
}
}
printf("\t--|------------------------\n");
printf("请输入房号:");
scanf("%10s",ch);
bool b=0;
n=0;
for ( i=0;i
if (!H[i].IsEmpty)
{
if(atoi(ch)==H[i].RoomNo)
{
n=i;
b=1;
break;
}
}
if (H[i].IsEmpty)
{
if(atoi(ch)==H[i].RoomNo)
{
printf("该房间已经住人,请重新输入房号:");
scanf("%10s",ch);
i=0;
}
}
}
if (!b)
{
printf("\t |\n");
printf("\t | 该房间不存在\n");
printf("\t--|------------------------\n");
return;
}
//客人姓名
printf("客人姓名:");
scanf("%20s",H[n].TName);
//客人身份证号
printf("客人身份证号:");
scanf("%23s",H[n].TNo);
//入住时间
time_t t1;
time(&t1);
sprintf(H[n].TDeta,"%s", ctime(&t1));
printf("入住时间: %s",H[n].TDeta);
//退房时间
//printf("退房时间:");
//scanf("%12s",t.QDeta);
strcpy(H[n].QDeta,"未定");
//预付费用
printf("预付费用:");
scanf("%10s",ch);
H[n].Prepay=(float)atof(ch);
}void QRoomMenu()
{
system("cls");
printf("\t | \n");
printf("\t | 退房\n");
printf("\t--|------------------------\n");
printf("\t | 1.退\n");
printf("\t | Q.返回\n");
printf("\t--|------------------------\n");
printf("\t |\n");
}
宾馆客房管理系统统 还小程序啊.在你眼里什么是大程序
main{print
scanf
}
CSDN上边有~~