1、#include#include /在使用中要用到的字符串都包含在本文件中#include /exit()函数就包含在此文件中 #define M 81 int z81=0; /定义一个数组存放使用的房间的标记的信息,且初始化为 0 int j,s; /定义两个全局变量FILE *fp; /定义一个指向文件的指针变量struct dateint month;int day;int year;final;struct hotelint price;int room_ID;struct clientchar name20;int sex;int age;char ID_card20;int cou
2、nt;struct date start;personal;roomM; /定义全局结构体变量,且里面又调用两个结构体/声明刷新函数 fflush( fp),且指向指针变量指向的位置void save();void search_situ( ); /声明查看客房入住情况函数void regist_infor( ); /声明客房登记入住函数void modify_infor( ); /声明客房信息修改函数函数void modify_one( ); /声明修改客房信息函数中的修改个人函数void modify_hotel( ); /声明修改客房信息函数中的修改客房函数void disp_money
3、( ); /声明显示入住费用函数int main() int menu(); /声明主菜单函数void print_star();void print_message();printf(“nnnnn“);print_star();printf(“n“);print_message();printf(“n“);print_star();menu(); /把主菜单用函数来实现save();return 0;void print_star()int i;for(i=1;i6)printf(“请重新输入选项!“);scanf(“%d“,switch(n)case 1:search_situ();bre
4、ak; /调用查看函数case 2:regist_infor();break; /调用登记函数case 3:modify_infor();break; /调用修改函数case 4:disp_money();break; /调用显示入住费用函数case 5:exit(0);case 6:break;while(n!=6);scanf(“%d“,return 0;void search_situ( ) /查看函数int g,count=0;for(g=1;g3)r=1;getchar();else r=0;while(r=1);switch(m)case 1:modify_one();break;
5、case 2:modify_hotel();break;case 3:menu();case 4:exit(0);save();void modify_one() /修改个人信息函数 int q;char a20;printf(“n 请选择您要修改的个人选项n“);printf(“1:姓名 2:性别(其中:1 表示男, 2 表示女!) 3:年龄 4:身份证号 5:入住年份 6:入住月份 7 入住日 8:入住人数n“);printf(“t 请选择输入选项12345678:nbb“);scanf(“%d“,switch(q)int t,p;char k;case 1:printf(“请输入新名字n
6、“);for(t=0;t20;t+)scanf(“%s“,strcpy(roomj.personal.name,a);break;case 2:printf(“请选择新性别(其中:1 表示男,2 表示女!)n“);scanf(“%d“,roomj.personal.sex=k;break;case 3:printf(“请输入新年龄n“);scanf(“%d“,roomj.personal.age=p;break;case 4:printf(“请输入新身份证号n“);scanf(“%d“,roomj.personal.ID_card20=p;break;case 5:printf(“请输入新年份
7、n“);scanf(“%d“,roomj.personal.start.year=p;break;case 6:printf(“请输入新月份n“);scanf(“%d“,roomj.personal.start.month=p;break;case 7:printf(“请输入新日子n“);scanf(“%d“,roomj.personal.start.day=p;break;case 8:printf(“请输入新入住人数n“);scanf(“%d“,roomj.personal.count=p;break;menu();void modify_hotel() /修改客房信息函数 int l;p
8、rintf(“ntttt 请选择您要修改的客房信息nn“);printf(“tttt1:房间号nn tttt2:客房单价nn tttt3:入住人数nn tttt4:返回nn“);printf(“ttt 请选择输入选项1234:nbb“);scanf(“%d“,switch(l)case 1:printf(“请输入旧房号n“);scanf(“%d“, printf(“请输入新房号n“);scanf(“%d“, strcpy(rooms.personal.name,roomj.personal.name); rooms.personal.sex=roomj.personal.sex; roomj.
9、personal.sex=0;rooms.personal.age=roomj.personal.age; roomj.personal.age=0;strcpy(rooms.personal.ID_card,roomj.personal.ID_card); rooms.personal.start.year=roomj.personal.start.year; roomj.personal.start.year=0;rooms.personal.start.month=roomj.personal.start.month; roomj.personal.start.month=0;rooms
10、.personal.start.day=roomj.personal.start.day; roomj.personal.start.day=0;rooms.room_ID=s;rooms.price=roomj.price;rooms.personal.count=roomj.personal.count;zs=1; zj=0; break;case 2:printf(“请输入房号n“);scanf(“%d“, printf(“请输入新单价n“);scanf(“%d“,rooms.price=s;break;case 3:printf(“请输入房号n“);scanf(“%d“,printf(
11、“请输入新入住人数n“);scanf(“%d“,rooms.personal.count=s;break;case 4:break;save();menu();void disp_money( ) /显示入住费用函数int i,sum;printf(“请输入房间号;n“);scanf(“%d“,printf(“n 入住年份:%d“,roomj.personal.start.year);printf(“月:%d“,roomj.personal.start.month);printf(“日:%d“,roomj.personal.start.day);printf(“房间单价为:“);printf(
12、“%d“,roomj.price);printf(“n 请输入退房时间:n“);printf(“请输入年份:“);scanf(“%d“,printf(“请输入月份:“);scanf(“%d“,printf(“请输入日:“);scanf(“%d“,printf(“n 请输入住房天数:n“);scanf(“%d“,sum=roomj.price*i;printf(“总费用 sum=%dn“,sum);save();menu();void save() /保存函数FILE *fp;int i;if(fp=fopen(“客房管理.txt“,“w+“)=NULL) /打开输出文件“客房管理.txt“printf(“cannot open filen“);exit(0);for(i=0;iM;i+) if(fwrite(fflush(fp);fclose(fp); /关闭文件