版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录一、课程设计题目 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)//定义6————结算函数{ inti,x,fee,time; print
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 淮阴师范学院《解析几何》2021-2022学年第一学期期末试卷
- 淮阴师范学院《政治哲学》2023-2024学年第一学期期末试卷
- 淮阴师范学院《西方音乐史专题研究》2022-2023学年第一学期期末试卷
- 课件怎样播放教学课件
- 淮阴师范学院《普通生态学》2023-2024学年第一学期期末试卷
- 淮阴工学院《研究方法与论文写作》2022-2023学年第一学期期末试卷
- DB4420T+54-2024《企业商业秘密保护管理规范》
- DB2310-T 151-2024珍珠梅播种育苗技术规程
- 2020年科普知识竞赛题库及答案(完整版)
- 公共设施管理的城市景观规划考核试卷
- 2024年人教版九年级语文(上册)期中试卷及答案(各版本)
- 2024年秋新北师大版一年级上册数学教学课件 4.6 乘车
- 2024灯光亮化维修合同
- HER2阳性胃癌治疗的现状与优化
- JB-T 7072-2023 水轮机调速器及油压装置 系列型谱
- 科学的体育锻炼课件(图文)
- 2024年湖南省长沙市中考数学试卷附答案
- 混凝土搅拌站安全风险分级管控和隐患排查治理双体系方案全套资料(2020-2021版)
- 医学美容技术专业《美容产品与销售》课程标准
- GB/T 23586-2022酱卤肉制品质量通则
- 2024CSCO肿瘤相关性贫血临床实践指南解读
评论
0/150
提交评论