first commit

master
657172703@qq.com 7 years ago
commit 7f9751ec4c

@ -0,0 +1,84 @@
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>
#include<string.h>
#define len sizeof(inf)
void main_page();/*界面函数*/
int select_();/*选择函数*/
void qingping();/*清屏函数*/
void query_r();/*房间信息查询函数*/
int loading();/*读取函数*/
int saving();/*保存函数*/
int feiyongjisuan(char fangjianhao[10],int shijiancha_ri,int shijiancha_xiaoshi);//费用计算
void reroom();/*退房函数*/
int xitongshijian(int *i,int *o,int *l);/*时间函数*/
int feiyongchaxun();/*费用查询函数*/
void register_();/*登记入住函数*/
void delete_();/*删除函数*/
void setting();/*新建函数*/
void shijianshu(char fangjianhao[10],int *p,int *o);//时间差
int change1();//修改函数
int change2();//查询函数
void query_o();//单个查询
extern int qty;
int qty=10;
struct room /*结构体数组inf*/
{
char num[10]; /*房间号*/
char human[10]; /*单双人*/
char kind[10]; /*类型*/
char inout[10]; /*是否有人入住*/
int time[3];/*时间*/
}inf[99];
int main()
{
select_();
return 0;
}
void main_page() /*界面函数
*/
{ system("cls");
printf(" \n* 酒店管理系统主界面 *\n");
printf(" \n* 1.房间信息查询 *\n");
printf(" \n* 2.房间信息修改 *\n");
printf(" \n* 3. 登记入住 *\n");
printf(" \n* 4. 费用查询 *\n");
printf(" \n* 5. 退房 *\n");
printf(" \n* 6. 退出程序 *\n");
printf("请选择\n");
}
int select_() /*选择函数*/
{
int n;
main_page();
scanf("%d",&n);
while(n)
{switch(n)
{
case 1:change1() ;break;
case 2:change2() ;break;
case 3:register_() ;break;
case 4: feiyongchaxun();break;
case 5:reroom();break;
case 6: return 0;
}
printf("按任意数返回");
getch();
main_page();
scanf("%d",&n);
}
return 0;}

Binary file not shown.

@ -0,0 +1,335 @@
#include<1room.h>
//保存函数
int saving()
{
FILE *fp;
int i;
char str;
printf("是否要保存修改?(Y OR N)\n");
scanf("%s",&str);
while(1)
{
if(str=='y'||str=='Y')
break;
else if(str=='n'||str=='N')
return 0;
else
printf("请重新输入:");
scanf("%s",&str);
}
fp=fopen("a","rb+");
fwrite(&inf,sizeof(inf),1,fp);
fclose(fp);
}
//读取函数
int loading()
{
FILE *fp;
int i;
fp=fopen("a","rb");
fread(&inf,sizeof(inf),1,fp);
fclose(fp);
}
//修改函数
int change1()
{
system("cls");
int m;
printf("请选择所要执行的操作\n");
printf("1.全局查询信息\n");
printf("2.单个查询信息\n");
printf("3.返回\n");
scanf("%d",&m);
while(1)
{
switch(m)
{
case 1:query_r();return 0;
case 2:query_o();return 0;
case 3:return 0;
}
printf("请重新输入:");
scanf("%d",&m);
}return 0;
}
//查询信息函数
void query_r()
{
system("cls");
FILE *fp;int i;
loading();
if(qty==0)
printf("请新建房间信息\n");
else
{
printf("房间号 单人or双人 房间类型 是否已入住 入住时间\n");
for(i=0;i<qty;i++)
printf("%s %s %s %s %d %d %d\n",inf[i].num,inf[i].human,inf[i].kind,inf[i].inout,inf[i].time[0],inf[i].time[1],inf[i].time[2]);
printf("共有%d条记录\n",qty);
}
printf("按任意键返回");
}
void query_o()//单个查询
{
system("cls");
char str[5];
int i;
printf("请输入需要查询的房间:\n");
scanf("%s",&str);
system("cls");
loading();
for(i=0;i<qty;i++)
{
if(strcmp(inf[i].num,str)==0)
{printf("房间号 单人or双人 房间类型 是否已入住 入住时间\n");
printf("%s %s %s %s %d %d %d\n",inf[i].num,inf[i].human,inf[i].kind,inf[i].inout,inf[i].time[0],inf[i].time[1],inf[i].time[2]);
}
}printf("按任意键返回");
}
//登记入住
void register_()
{
system("cls");
char str[5];
char str1[]="已入住";
FILE *fp;
int i;
printf("请选择入住的房间\n");
scanf("%s",&str);
loading();
for(i=0;i<qty;i++)
{
if(strcmp(inf[i].num,str)==0)
{
strcpy(inf[i].inout,str1);
xitongshijian(&inf[i].time[0],&inf[i].time[1],&inf[i].time[2]);
}
}
saving();
}
//修改函数
int change2()
{
system("cls");
int m;
printf("请选择所要执行的操作\n");
printf("1.新建信息\n");
printf("2.删除信息\n");
printf("3.返回\n");
scanf("%d",&m);
while(1)
{
switch(m)
{
case 1:setting();return 0;
case 2:delete_();return 0;
case 3:return 0;
}
printf("请重新输入:");
scanf("%d",&m);
}return 0;
}
void setting() //信息新建函数
{
system("cls");
int n,i,j; char str; FILE *fp;
if(qty==0)
printf("无房间信息,请新建\n");
printf("最多可建立100条记录");
while(1)
{
n=0;
printf("请问您是否要建立新记录(y or n)?");
scanf("%s",&str);
if(str=='n'||str=='N')
break;
if(str=='y'||str=='Y')
{
system("cls");
printf("请问您需要新建多少条记录?\n");
scanf("%d",&n);
system("cls");
if((qty+n)>100)
{
printf("发生错误,请重新选择");
continue; }
for(i=qty;i<(n+qty);i++)
{
scanf("%s %s %s %s %d %d %d",inf[i].num,inf[i].human,inf[i].kind,inf[i].inout,&inf[i].time[0],&inf[i].time[1],&inf[i].time[2]);
}
if(qty==0)
{
fp=fopen("a","wb");
fclose(fp);}
if(qty!=0)
saving();
qty=qty+n;
printf("现在有%d条记录",qty); } }}
//删除函数
void delete_(){
system("cls");
int i,j=0;char str1[5],str2[5];
if(qty==0)
{
printf("没有可删除的记录\n");
}
while(1)
{
printf("请输入所要删除信息的房间号:");
scanf("%s",&str1);
loading();
for(i=0;i<qty;i++)
{
if(strcmp(inf[i].num,str1)==0)
for(j=i;j<qty;j++)
{
inf[j]=inf[j+1];
}}qty--;
printf("删除成功\n");
printf("是否继续删除(y or n)\n");
scanf("%s",&str2);
if(str2[0]=='n'||str2[0]=='N')
break;
}
saving();
}
int xitongshijian(int *i,int *o,int *l)
{
time_t timep,Tim;
struct tm *p;
time(&timep);
p = localtime(&timep);
int Year = 1900 + p->tm_year;
int Month = 1 + p->tm_mon;
int Day = p->tm_mday;
int Hour = p->tm_hour;
int Minute = p->tm_min;
int Second = p->tm_sec;
char year[20];
char month[20];
char day[20];
char hour[20];
char minute[20];
char second[20];
*i=Month;*o=Day;*l=Hour;
return 0;
}
int feiyongchaxun()
{
system("cls");
printf("费用查询\n请输入房间号并按下回车\n");
int shijiancha_ri,shijiancha_xiaoshi;
char room_number[10] ;
double feiyong;
scanf("%s",room_number);
shijianshu(room_number,&shijiancha_ri,&shijiancha_xiaoshi);
feiyong=feiyongjisuan(room_number,shijiancha_ri,shijiancha_xiaoshi);
printf("%.2lf",feiyong);
return 0;
}
void shijianshu(char fangjianhao[10],int *p,int *o)
{
int yue2,ri2,xiaoshi2,shijian2[3],shijiancha_ri,shijiancha_xiaoshi,i;
xitongshijian(&yue2,&ri2,&xiaoshi2);
shijian2[0]=yue2;shijian2[1]=ri2;shijian2[2]=xiaoshi2;
loading();
for(i=0;i<qty;i++)
{
if(strcmp(inf[i].num,fangjianhao)==0)
break;
}
//fp=fopen("a","r+");
/*while(fread(&xiugai,sizeof(inf),1,fp)==1)
{
if(strcmp(xiugai.num,fangjianhao)==0)
{
int yue1,ri1,xiaoshi1,shijian1[3];
shijian1=xiugai.time;
yue1=shijian1[0];ri1=shijian1[1];xiaoshi1=shijian1[2];
}
}*/
printf("请手动算出时间差\n");
printf("入住时间:%d、%d、%d\n查询时间:%d、%d、%d\n",inf[i].time[0],inf[i].time[1],inf[i].time[2],yue2,ri2,xiaoshi2);
printf("请输入时间差\n\n第一次输入日,第二次输入小时\n\n按日计算则小时输入0按小时计算则日输入0\n\n");
printf("请输入日: ");
scanf("%d",&shijiancha_ri);
printf("\n请输入小时: ");
scanf("%d",&shijiancha_xiaoshi);
*p=shijiancha_ri;*o=shijiancha_xiaoshi;
}
int feiyongjisuan(char fangjianhao[10],int shijiancha_ri,int shijiancha_xiaoshi)
{
int feiyong,i;
/*fp=fopen("a","r+");
while(fread(&xiugai,sizeof(inf),1,fp)==1)
{
if(strcmp(xiugai.num,fangjianhao)==0)
{
printf("%s",xiugai.kind);
}
}*/
loading();
for(i=0;i<qty;i++)
{
if(strcmp(inf[i].num,fangjianhao)==0)
break;
}
if(inf[i].kind[0]=='p')
feiyong=shijiancha_xiaoshi*10+shijiancha_ri*100;
else feiyong=shijiancha_xiaoshi*100+shijiancha_ri*700;
return feiyong;
}
void reroom()
{
system("cls");
char str[5];
char str1[]="未入住";
char str3[30];
FILE *fp;
int i;
printf("请选择要退的房间\n");
scanf("%s",&str);
loading();
for(i=0;i<qty;i++)
{
if(strcmp(inf[i].num,str)==0)
{
strcpy(inf[i].inout,str1);
}
}saving();
}

Binary file not shown.
Loading…
Cancel
Save