《2022年C语言课程设计--酒店房间登记与计费管理系统程序代码 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言课程设计--酒店房间登记与计费管理系统程序代码 .pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、#include #include /在使用中要用到的字符串都包含在本文件中#include /exit()函数就包含在此文件中#define M 81 int z81=0; /定义一个数组存放使用的房间的标记的信息 , 且初始化为 0 int j,s; /定义两个全局变量FILE *fp; /定义一个指向文件的指针变量struct date int month; int day; int year; final; struct hotel int price; int room_ID; struct client char name20; int sex; int age; char ID_
2、card20; int count; struct date start; personal; roomM; /定义全局结构体变量, 且里面又调用两个结构体 /声明刷新函数 fflush( fp),且指向指针变量指向的位置void save(); void search_situ( ); /声明查看客房入住情况函数void regist_infor( ); /声明客房登记入住函数void modify_infor( ); /声明客房信息修改函数函数void modify_one( ); /声明修改客房信息函数中的修改个人函数void modify_hotel( ); /声明修改客房信息函数中的
3、修改客房函数void disp_money( ); /声明显示入住费用函数 int main() int menu(); /声明主菜单函数void print_star(); void print_message(); printf(nnnnn); print_star(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - printf(n); print_message(); printf(n); print_star();
4、menu(); /把主菜单用函数来实现 save(); return 0; void print_star() int i; for(i=1;i30;i+) printf(t*); void print_message() printf(tttt欢迎入住皇家酒店 n); menu() int n; do printf(n); printf(tt*菜单*nnn); printf(tttt1:查看客房入住情况 nnn); printf(tttt2:登记入住信息 nnn); printf(tttt3:修改客房信息 nnn); printf(tttt4:显示入住费用 nnn); printf(tttt
5、5:退出nnn); printf(tttt6:返回nnn); printf(tt*菜单*n); printf(nnttt 请选择输入选项 123456:n); scanf(%d,&n); while(n6) printf(请重新输入选项 !); scanf(%d,&n); switch(n) case 1:search_situ();break; /调用查看函数case 2:regist_infor();break; /调用登记函数 case 3:modify_infor();break; /调用修改函数case 4:disp_money();break; /调用显示入住费用函数名师资料总结
6、- - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - case 5:exit(0); case 6:break; while(n!=6); scanf(%d,&n); return 0; void search_situ( ) /查看函数 int g,count=0; for(g=1;g=80;g+) if(zg=0) +count; else if(zg=1) printf(n正在使用的房间号 :%d,g); printf(nn未使用的房间数 :
7、%d,count); /通过循环输出未使用的房间数 printf(nn); printf(n请输入需查询的房间号 :n); /查询输入的房间号的信息,且输出该房间的相关信息 scanf(%d,&s); if(zs=1) printf(姓名:%s,rooms.personal.name); printf(n性 别(其中:1表示男,2表示女!):%d,rooms.personal.sex); printf(n年龄:%d,rooms.personal.age); printf(n身份证号 :%s,rooms.personal.ID_card); printf(n入住年份 :%d,rooms.pers
8、onal.start.year); printf(月:%d,rooms.personal.start.month); printf(日:%d,rooms.personal.start.day); printf(n房间号 :%d,rooms.room_ID); printf(n客房单价 :%d,rooms.price); printf(n入住人数 :%d,rooms.personal.count); menu(); else printf(该房间未被使用 !); save(); /调用保存函数 void regist_infor( ) / 登记函数 名师资料总结 - - -精品资料欢迎下载 -
9、- - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - printf(请输入登记相关信息 :n); printf(n房间号: ); scanf(%d,&j); roomj.room_ID=j; printf(n姓名: ); scanf(%s,&roomj.personal.name); printf(n性别(其中: 1 表示男, 2 表示女!):); scanf(%d,&roomj.personal.sex); printf(n年龄: ); scanf(%d,&roomj.pers
10、onal.age); printf(n身份证号: ); scanf(%s,&roomj.personal.ID_card); printf(n入住年份: ); scanf(%d,&roomj.personal.start.year); printf(月:); scanf(%d,&roomj.personal.start.month); printf(日:); scanf(%d,&roomj.personal.start.day); printf(n客房单价: ); scanf(%d,&roomj.price); printf(请输入入住人数 n); scanf(%d,&roomj.person
11、al.count); zj=1; /标记使用的房间为1 save(); void modify_infor( ) /修改函数 int r,m; do printf(ttt *菜单*nnn); printf(ttttt 1:修改客户信息 nnn); printf(ttttt 2:修改客房信息 nnn); printf(ttttt 3:menu()nnn); printf(ttttt4:退出nnn); printf(ttt *nnn); printf(ttt 请选择输入选项 1234:n); scanf(%d,&m); if(m3) r=1;getchar(); 名师资料总结 - - -精品资料欢
12、迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - else r=0; while(r=1); switch(m) case 1:modify_one();break; 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
13、: 性别(其中:1 表示男, 2 表示女 !) 3: 年龄 4: 身份证号 5: 入住年份 6: 入住月份 7 入住日 8: 入住人数 n); printf(t请选择输入选项 12345678:nbb); scanf(%d,&q); switch(q) int t,p; char k; case 1:printf(请输入新名字 n); for(t=0;t20;t+)scanf(%s,&at); strcpy(roomj.personal.name,a);break; case 2:printf(请选择新性别 ( 其中: 1 表示男, 2 表示女 !)n); scanf(%d,&k);roomj
14、.personal.sex=k;break; case 3:printf(请输入新年龄 n); scanf(%d,&p);roomj.personal.age=p;break; case 4:printf(请输入新身份证号 n); scanf(%d,&p);roomj.personal.ID_card20=p;break; case 5:printf(请输入新年份 n); scanf(%d,&p);roomj.personal.start.year=p;break; case 6:printf(请输入新月份 n); scanf(%d,&p);roomj.personal.start.month
15、=p;break; case 7:printf(请输入新日子 n); scanf(%d,&p);roomj.personal.start.day=p;break; case 8:printf(请输入新入住人数 n); scanf(%d,&p);roomj.personal.count=p;break; menu(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - void modify_hotel() /修改客房信息函数 in
16、t l; printf(ntttt请选择您要修改的客房信息nn); printf(tttt1:房间号 nn tttt2:客房单价 nn tttt3:入住人数nn tttt4:返回nn); printf(ttt请选择输入选项 1234:nbb); scanf(%d,&l); switch(l) case 1:printf(请输入旧房号 n); scanf(%d,&j); printf(请输入新房号 n); scanf(%d,&s); strcpy(rooms.personal.name,roomj.personal.name); rooms.personal.sex=roomj.personal
17、.sex; roomj.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.star
18、t.month=0; rooms.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,&s); printf(请输入新单价 n); scanf(%d,&s);rooms.price=s;break; case 3:printf(请输
19、入房号 n); scanf(%d,&s); printf(请输入新入住人数 n); scanf(%d,&s); rooms.personal.count=s;break; case 4:break; save(); menu(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - void disp_money( ) /显示入住费用函数 int i,sum; printf(请输入房间号 ;n); scanf(%d,&roomj.r
20、oom_ID); printf(n入住年份 :%d,roomj.personal.start.year); printf(月:%d,roomj.personal.start.month); printf(日:%d,roomj.personal.start.day); printf(房间单价为 :); printf(%d,roomj.price); printf(n请输入退房时间 :n); printf(请输入年份 :); scanf(%d,&final.year); printf(请输入月份 :); scanf(%d,&final.month); printf(请输入日 :); scanf(%
21、d,&final.day); printf(n请输入住房天数 :n); scanf(%d,&i); 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(&roomi), sizeof(roomM),1,fp)!=1) printf(file write errorn); fflush(fp); fclose(fp); /关闭文件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -