用C语言实现的宾馆客房管理系统课程设计报告样本_第1页
用C语言实现的宾馆客房管理系统课程设计报告样本_第2页
用C语言实现的宾馆客房管理系统课程设计报告样本_第3页
用C语言实现的宾馆客房管理系统课程设计报告样本_第4页
用C语言实现的宾馆客房管理系统课程设计报告样本_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录一、课程设计题目 3二、运营环境(软、硬件环境) 3三、算法设计思想 3四、算法流程图 3五、算法设计分析 4六、源代码 4七、运营成果分析 10八、收获及体会 13一、课程设计题目宾馆客房管理系统。二、运营环境(软、硬件环境)中文版WindowsXP和MicrosoftVisualC++6.0。三、算法设计思想1.定义宾馆客房管理信息构造体Hotel-Info。2.建立一种简易选取菜单,通过输入选取执行动作。3.主函数中,用switchcase实现选取功能,7项功能通过7个分支实现,每个相应一种函数。4.写函数,涉及Insert-插入,Amend-修改,Demand-查询,Del-删除,Skim-浏览,Balance-结算。5.源程序可运营之后,将其数据、信息输入到文档中,使其能存档,可以写入文献和读出文献。6.对程序进行修改、完善。写函数四、算法流程图联系文献开始开始定义构造体Hotel-Info修改、完善建立选取菜单写主函数,实现选取功能结束结束图1算法流程图五、算法设计分析1.这是一种小型管理系统,使用构造体数组存储客房信息。2.普通管理系统都应当具备插入,修改,查询,删除,浏览等功能,通过使用一种简易菜单进行执行动作选取。3.用函数实现模块化设计,调理清晰,使程序易读写。4.把程序与文献联系,使数据能存储在磁盘中,更具实用性。六、源代码1构造体structHotel_Info{ charname[N],type[N],ID_card[N],in_time[N],leave_time[N]; charidly[N]; intprize,num,ad_payment;}Info[N];2主函数intmain(){ FILE*fp; inti=0;fp=fopen("d:\\hotelmanagesystem.txt","r"); //fscanf(fp,"%d",&n);// for(i=0;i<n;i++) while(!feof(fp)) { inta; fscanf(fp,"%d",&a); fscanf(fp,"客房号:%d",&Info[i].num); fscanf(fp,"空闲状况:%s",Info[i].type); fscanf(fp,"客房类型:%s",Info[i].idly); fscanf(fp,"客房价格:%d",&Info[i].prize); fscanf(fp,"客户姓名:%s",Info[i].name); fscanf(fp,"身份证:%s",Info[i].ID_card); fscanf(fp,"预付款:%d",&Info[i].ad_payment); fscanf(fp,"入住时间:%s",Info[i].in_time); fscanf(fp,"退房时间:%s",Info[i].leave_time); i++; } fclose(fp); n=i-1; intm; do { printf("\n"); printf("***************************************************\n"); printf("1————登记。\n"); printf("2————修改。\n"); printf("3————查询。\n"); printf("4————删除。\n"); printf("5————浏览。\n"); printf("6————结算。\n"); printf("7————退出。\n"); printf("***************************************************\n"); scanf("%d",&m); switch(m) { case1:Insert(&count);break; case2: Amend(count);break; case3: Demand(count);break; case4: Del(&count);break; case5: Skim(count);break; case6: Balance(count);break; case7: break; default:printf("错误选取!请重选");break; } }while(m!=7); return0;}3函数voidInsert(int*count)//定义1————插入函数{ inti=0,in_num; n=n+1; if(*count==N) {printf("overflow!");return;} FILE*fp; fp=fopen("d:\\hotelmanagesystem.txt","a"); fprintf(fp,"%d",n); for(i=*count;i<N;i++) { printf("编号:"); scanf("%d",&in_num); intflag=1; while(flag) { flag=0; for(intii=0;ii<=N;ii++) if(Info[ii].num==in_num) {printf("已有相似编号!\n");scanf("%d",&in_num);flag=1;break;} } Info[i].num=in_num; printf("客房号:"); scanf("%d",&Info[i].num); fprintf(fp,"客房号:%d",Info[i].num); printf("空闲状况:"); scanf("%s",Info[i].idly); fprintf(fp,"空闲状况:%s",Info[i].idly); printf("客房类型:"); scanf("%s",Info[i].type); fprintf(fp,"客房类型:%s",Info[i].type); printf("客房价格:"); scanf("%d",&Info[i].prize); fprintf(fp,"客房价格:%d",Info[i].prize); printf("客户姓名:"); scanf("%s",Info[i].name); fprintf(fp,"客户姓名:%s",Info[i].name); printf("身份证:"); scanf("%s",Info[i].ID_card); fprintf(fp,"身份证:%s",Info[i].ID_card); printf("预付款:"); scanf("%d",&Info[i].ad_payment); fprintf(fp,"预付款:%d",Info[i].ad_payment); printf("入住时间:"); scanf("%s",Info[i].in_time); fprintf(fp,"入住时间:%s",Info[i].in_time); printf("退房时间:"); scanf("%s",Info[i].leave_time); fprintf(fp,"退房时间:%s\n",Info[i].leave_time); break; } fclose(fp); (*count)++;}voidAmend(intcount)//定义2————修改函数{ inti,num,payment,tag=0;; charidly[N],name[N],ID_card[N],in_time[N],leave_time[N]; printf("请输入要修改数据编号:"); scanf("%d",&num); for(i=0;i<n;i++) if(Info[i].num==num) { tag=1; printf("空闲状况:%s",Info[i].idly); printf("客人姓名:%s",Info[i].name); printf("身份证:%s",Info[i].ID_card); printf("入住时间:%s",Info[i].in_time); printf("退房时间:%s",Info[i].leave_time); printf("预付费用:%d\n",Info[i].ad_payment); printf("空闲状况:"); scanf("%s",idly);printf("客人姓名:");scanf("%s",name);printf("身份证:"); scanf("%s",ID_card);printf("入住时间:"); scanf("%s",in_time);printf("退房时间:"); scanf("%s",leave_time);printf("预付费用:"); scanf("%d",&payment);strcpy(Info[i].idly,idly); strcpy(Info[i].name,name);strcpy(Info[i].ID_card,ID_card);strcpy(Info[i].in_time,in_time); strcpy(Info[i].leave_time,leave_time); Info[i].ad_payment=payment; FILE*fp; fp=fopen("d:\\hotelmanagesystem.txt","w");for(i=0;i<n;i++) { fprintf(fp,"%d",i+1); fprintf(fp,"客房号:%d",Info[i].num); fprintf(fp,"空闲状况:%s",Info[i].idly); fprintf(fp,"客房类型:%s",Info[i].type); fprintf(fp,"客房价格:%d",Info[i].prize); fprintf(fp,"客户姓名:%s",Info[i].name); fprintf(fp,"身份证:%s",Info[i].ID_card); fprintf(fp,"预付款:%d",Info[i].ad_payment); fprintf(fp,"入住时间:%s",Info[i].in_time); fprintf(fp,"退房时间:%s\n",Info[i].leave_time); }fclose(fp); } if(!tag) printf("没有查询到可修改数据!");}voidDemand(intcount)//定义3————查询函数{ intin_num,i=0,flag=1;printf("请输入要查询客房号:"); scanf("%d",&in_num); inttag=0; for(i=0;i<n;i++) if(Info[i].num==in_num) { tag=1; printf("客房号:%d\n",Info[i].num); printf("空闲状况:%s\n",Info[i].idly); printf("客房类型:%s\n",Info[i].type); printf("客房价格:%d\n",Info[i].prize); printf("客人姓名:%s\n",Info[i].name); printf("身份证:%s\n",Info[i].ID_card); printf("入住时间:%s\n",Info[i].in_time); printf("退房时间:%s\n",Info[i].leave_time); printf("预付费用:%d\n",Info[i].ad_payment); flag=0; break; } if(!tag) {printf("没有查询到!");}}voidDel(int*count)//定义4————删除函数{ inti,j,num,flag=1,tag=0; printf("请输入要删除客房号信息:"); scanf("%d",&num); for(i=0;i<*count&&flag;i++) { if(Info[i].num==num) { for(j=i;j<*count&&flag;j++) Info[j]=Info[j+1]; Info[*count-1].ad_payment=0; strcpy(Info[*count-1].ID_card,""); strcpy(Info[*count-1].idly,""); strcpy(Info[*count-1].in_time,""); strcpy(Info[*count-1].leave_time,""); strcpy(Info[*count-1].name,""); Info[*count-1].num=0; Info[*count-1].prize=0; strcpy(Info[*count-1].type,""); flag=0,tag=1; (*count)--; break; } } if(!tag) {printf("没有查询到可以删除信息!");} n=n-1; FILE*fp; fp=fopen("d:\\hotelmanagesystem.txt","w"); for(i=0;i<n;i++) { fprintf(fp,"%d",i+1); fprintf(fp,"客房号:%d",Info[i].num); fprintf(fp,"空闲状况:%s",Info[i].idly); fprintf(fp,"客房类型:%s",Info[i].type); fprintf(fp,"客房价格:%d",Info[i].prize); fprintf(fp,"客户姓名:%s",Info[i].name); fprintf(fp,"身份证:%s",Info[i].ID_card); fprintf(fp,"预付款:%d",Info[i].ad_payment); fprintf(fp,"入住时间:%s",Info[i].in_time); fprintf(fp,"退房时间:%s\n",Info[i].leave_time); } fclose(fp); }voidSkim(intcount)//定义5————浏览函数{ inti,flag=1; printf("\n"); for(i=0;i<n;i++) { printf("第%d条记录:\n",i+1); printf("客房号:%d\n",Info[i].num); printf("客房类型:%s\n",Info[i].type); printf("%客房价格:%d\n",Info[i].ad_payment); printf("空闲状况:%d\n",Info[i].prize); printf("客人姓名:%s\n",Info[i].idly); printf("客人身份证号:%s\n",Info[i].name); printf("入住时间:%s\n",Info[i].ID_card); printf("退房时间:%s\n",Info[i].in_time); printf("预付费用:%s\n",Info[i].leave_time); printf("\n"); flag=0; //return; }}voidBalance(intconut)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论