收藏 分销(赏)

C语言课程设计报告--宾馆管理系统.doc

上传人:仙人****88 文档编号:8232036 上传时间:2025-02-08 格式:DOC 页数:9 大小:66KB 下载积分:10 金币
下载 相关 举报
C语言课程设计报告--宾馆管理系统.doc_第1页
第1页 / 共9页
C语言课程设计报告--宾馆管理系统.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
// 宾馆管理系统 #include<stdio.h> #include<stdlib.h> #include<conio.h> /*控制台输入输出,getche()(能在屏幕上显示输入的数据), getch()(不能在屏幕上显示输入的数)等函数的调用*/ #include<string.h> #define N 10 typedef struct { int fh; /*客房编号*/ char lx[15]; /*客房类型*/ char place[30]; /*客房位置*/ 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; //功能菜单模块 void menu() { printf("\n\n\n\n\n"); printf(" *********************欢迎进入宾馆管理系统*********************\n"); printf(" |=======================================================|\n"); printf(" @ 1、客房编号录入 ; @\n"); printf(" @ 2、客房信息显示; @\n"); printf(" @ 3、客房信息查询; @\n"); printf(" @ 4、客房信息添加; @\n"); printf(" @ 5、客房信息修改 ; @\n"); printf(" @ 6、退出宾馆管理系统; @\n"); printf(" |=======================================================|\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(" 面积: "); 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表示结束输入):"); scanf("%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("顾客登记:"); scanf("%s",s[i].dj); printf(" 顾客结算:"); scanf("%s",s[i].js); m=i;} fp=fopen("kf.dat","w"); for(i=0;i<m;i++) if(fwrite(&s[i],sizeof( kf),1,fp)!=1) printf("文件写入错误\n"); fclose(fp);} //客房信息录入模块 void display() { FILE *fp; int i,n=0; //void choice(); // 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|编号| 类型| 位置 | 面积 | 床位数量 | 住房单价 | 顾客登记 | 顾客结算 | \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++;} 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"))==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("顾客已登记请输入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,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]; 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<m;i++) // if(fread(&s[i],sizeof(kf),1,fp)!=1) // {printf("文件写入错误\n"); exit(0);} for(i=0;i<m;i++) fread(&s[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); printf("\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;flag&&i<k;i++) { while(!feof(fp)) for(i=0;i<N;i++) { fread(&s[i],sizeof( kf),1,fp); if(feof(fp)) break; i++; } flag=0;} if(!flag) k=k+1; // fclose(fp); // flag=i; // if(k<flag && k>=0) {//添加 for(j=flag-1;j>=i;j--) s[j+1]=s[j]; s[i]=flag; //写回 if((fp=fopen("kf.dat","wb"))==NULL) { printf("不能建立文件!!\n"); } for(i=0;i<k;i++) fwrite((&s[i],sizeof(kf)),1,fp); m=m+1; } else { if((fp=fopen("kf.dat","rb"))==NULL) { printf("不能建立文件!!\n");return; } fwrite((&s[i],sizeof( kf)),1,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); } if((fp2=fopen("kf3.dat","wb"))==NULL) {printf("cannot open file\n");exit(0);} for(i=0;i<m;i++) if(fread(&s[i],sizeof( kf),1,fp1)!=1) {printf("文件写入错误\n");exit(0);} printf("\n输入要修改客房的编号: "); scanf("%d",&temp_fh); for(i=0;i<m;i++) { if(s[i].fh!=temp_fh) fwrite(&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("输出修改后的客房信息如下\n"); fp2=fopen("fk3.dat","rb"); printf("||*****************************宾馆客房管理系统***************************||\n"); printf("\n|编号| 类型| 位置 | 面积 | 床位数量 | 住房单价 | 顾客登记 | 顾客结算 | \n"); for(i=0;fread(&s[i],sizeof(kf),1,fp2)!=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); } printf("||**********************************************************************||\n"); fclose(fp2); fp1=fopen("kf.dat","wb"); fp2=fopen("kf3.dat","rb"); for(i=0;i<m;i++) if(fread(&s[i],sizeof( kf),1,fp2)!=1) {printf("文件写入错误\n");exit(0);} for(i=0;i<m;i++) fwrite(&s[i],sizeof(kf),1,fp1); fclose(fp1);fclose(fp2);} //菜单选择模块 void main() { char yes_no; int choose; 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'); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服