1、
// 宾馆管理系统
#include
2、 /*客房位置*/ float area; /*客房面积*/ int cs; /*床位数量*/ float price; /*住房单价*/ char dj[15]; /*顾客登记*/ char js[12]; /*顾客结算*/ }kf ; kf s[N]; void menu(); void display(); void input(); void search(); //void increse(); void modi(); int m; /
3、/功能菜单模块 void menu() { printf("\n\n\n\n\n"); printf(" *********************欢迎进入宾馆管理系统*********************\n"); printf(" |=======================================================|\n"); printf(" @ 1、客房编号录入 ; @\n"); printf(" @
4、 2、客房信息显示; @\n"); printf(" @ 3、客房信息查询; @\n"); printf(" @ 4、客房信息添加; @\n"); printf(" @ 5、客房信息修改 ; @\n"); printf(" @ 6、退出宾馆管理系统; @\n"); printf(" |=========
5、\n"); printf("\n"); } void input() {int i; FILE *fp; printf("\n请输入第一个记录:\n"); printf("编号(用0表示结束输入):"); scanf("%d",&s[0].fh); printf(" 类型:"); scanf("%s",s[0].lx); printf(" 位置:"); scanf("%s",s[0].place); printf(" 面积: ");
6、scanf("%f",&s[0].area); printf("床位数量:"); scanf("%d",&s[0].cs); printf("住房单价:"); scanf("%f",&s[0].price); printf("顾客登记:"); scanf("%s",s[0].dj); printf("顾客结算: "); scanf("%s",s[0].js); for(i=1;s[i-1].fh!=0;i++) { printf("\n请输入第%d个记录:\n",i+1); printf("编号(用0表示结束输入):"); sca
7、nf("%d",&s[i].fh); printf("类型:"); scanf("%s",s[i].lx); printf("位置:"); scanf("%s",s[i].place); printf("面积:"); scanf("%f",&s[i].area); printf("床位数量:"); scanf("%d",&s[i].cs); printf(" 住房单价:"); scanf("%f",&s[i].price); printf("顾客登记:");
8、 scanf("%s",s[i].dj);
printf(" 顾客结算:");
scanf("%s",s[i].js);
m=i;}
fp=fopen("kf.dat","w");
for(i=0;i 9、/ kf s[N];
system("cls");
if((fp=fopen("kf.dat","rb"))==NULL)
{printf("\n打开文件失败\n");return;}
printf("||***********************************************************************||\n");
printf("顾客已登记请输入Y,没登记输入N,当编号输入为0时结束\n");
printf("\n|编号| 类型| 位置 | 面积 | 床位数量 | 住房单价 | 顾客登记 | 顾客结 10、算 | \n");
for(i=0;fread(&s[i],sizeof( kf),1,fp)!=0;i++)
{
printf(" |---|-----|------|--------|---------|-----------|----------|----------|\n");
printf("|%4d|%5s|%6s|%5f|%10d|%10f|%10s|%10s|\n",s[i].fh,s[i].lx,s[i].place,s[i].area,s[i].cs,s[i].price,s[i].dj,s[i].js);
n++;}
11、printf("||**********************************************************************||\n");
if(n==0) printf("\n文件中无记录\n");
else printf("\n文件中共有%d个记录\n",n);
fclose(fp);}
//信息查询模块:
void search()
{
FILE *fp;
int i,n=0,flag=0,temp_fh;
system("cls");
if((fp=fopen("kf.dat","rb")) 12、NULL)
{ printf("cannot open file!\n");return;}
printf("\n输入要查客房的编号:");
scanf("%d",&temp_fh);
for(i=0;fread(&s[i],sizeof(kf),1,fp)!=0;i++)
{
if(temp_fh==s[i].fh)
{if(flag==0)
printf("||***********************************************************************||\n");
printf( 13、"顾客已登记请输入Y,没登记输入N,当编号输入为0时结束\n");
printf("\n|编号| 类型| 位置 | 面积 | 床位数量 | 住房单价 | 顾客登记 | 顾客结算 | \n");
printf(" |---|-----|------|--------|---------|-----------|----------|----------|\n");
printf("|%4d|%5s|%6s|%5f|%10d|%10f|%10s|%10s|\n",s[i].fh,s[i].lx,s[i].place,s[i].area,s[i].cs, 14、s[i].price,s[i].dj,s[i].js);
printf("||**********************************************************************||\n");
flag=1;}
n++;}
if(n==0) printf("文件里没有记录\n");
else if(flag==0)
printf("文件中没有这个房间\n");}
//客房信息添加模块
void increse()
{
int i,k;
//kf s[N];
15、FILE *fp;
system("cls");
if((fp=fopen("kf.dat","rb"))==NULL)
{
printf("cannot open file!\n");
exit(0);
}
fp=fopen("kf.dat","rb");
// for(i=0;i 16、[i],sizeof(kf),1,fp);
fclose(fp);
//k=i;
printf("\n输入添加的客房编号: ");scanf("%d",&s[i].fh);
printf("\n输入添加的客房类型:");scanf("%s",s[i].lx);
printf("\n输入添加的客房位置:");scanf("%s",s[i].place);
printf("\n输入添加的客房面积:");scanf("%f",&s[i].area);
printf("\n输入添加的客房床位数量:");scanf("%d",&s[i].cs);
pri 17、ntf("\n输入添加的客房住房单价: ");scanf("%f",&s[i].price);
printf("\n输入添加的顾客登记:");scanf("%s",s[i].dj);
printf("\n输入添加的顾客结算:");scanf("%s",s[i].js);
printf("\n插入添加的位置:");scanf("%d",&k);
fp=fopen("kf.dat","ab+");
fwrite(&s[i],sizeof( kf),1,fp);
fclose(fp);
}
/*for(flag=1,i=0;f 18、lag&&i 19、flag;
//写回
if((fp=fopen("kf.dat","wb"))==NULL)
{
printf("不能建立文件!!\n");
}
for(i=0;i 20、fp);
}
fclose(fp);*/
//客房信息修改:输入客房的编号,查看客房的状态,修改此客房的单价和床数, 并显示修改后的结果;
void modi()
{
FILE *fp1,*fp2;
int i,temp_fh,temp_cs;
float temp_price;
system("cls");
if((fp1=fopen("kf.dat","rb"))==NULL)
{
printf("cannot open file\n");
exit(0); 21、
}
if((fp2=fopen("kf3.dat","wb"))==NULL)
{printf("cannot open file\n");exit(0);}
for(i=0;i 22、ite(&s[i],sizeof(kf),1,fp2);
else
{
printf("\n输入正确的客房床位数量:");scanf("%d",&temp_cs);
printf("\n输入正确的客房住房单价: ");scanf("%f",&temp_price);
s[i].cs=temp_cs;
s[i].price=temp_price;
fwrite(&s[i],sizeof(kf),1,fp2);
}
}
fclose(fp1);
fclose(fp2);
printf("输出修改后的客房信 23、息如下\n");
fp2=fopen("fk3.dat","rb");
printf("||*****************************宾馆客房管理系统***************************||\n");
printf("\n|编号| 类型| 位置 | 面积 | 床位数量 | 住房单价 | 顾客登记 | 顾客结算 | \n");
for(i=0;fread(&s[i],sizeof(kf),1,fp2)!=0;i++)
{
printf(" |---|-----|------|--------|---- 24、\n");
printf("|%4d|%5s|%6s|%5f|%10d|%10f|%10s|%10s|\n",s[i].fh,s[i].lx,s[i].place,s[i].area,s[i].cs,s[i].price,s[i].dj,s[i].js);
}
printf("||**********************************************************************||\n");
fclose(fp2);
fp1=fope 25、n("kf.dat","wb");
fp2=fopen("kf3.dat","rb");
for(i=0;i 26、se;
do
{
menu();//显示菜单
printf(" ");
printf("请选择你需要的功能的编号: ");
scanf("%d",&choose);
switch(choose)
{case 1 : input();break;
case 2 :display();break;
case 3:search();break;
case 4:increse();break;
case 5 :modi();break;
case 0 :break;
default :printf("\n %d为非法选项! \n",choose);
}
if(choose==0) break;
printf("\n 继续请按Y,退出按N\n");
do
{
yes_no=getche();
}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');
}while(yes_no=='Y'||yes_no=='y');
}






