下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、武汉科技大学C语言稈序设计课程设计题目酒店管理系统班级信息与计算科学2班姓名陈诚学号成绩2015年6月23日一、总体设计1程序的总体设计(1)程序总体设计思路:酒店房间登记管理系统,实现的是房间登记与管理(包括登记入住、查询)为了体现模块化设计,把所有要实现的功能做成函数,采用分步实施的方法逐步细化。具体分布实施有以下5步。1, 编写模块2, 定义实现个功能模块所要函数3, 编写各个函数4, 理清思路,逐步修改5,调试整个程序。核心部分是各个函数:1、欢迎界面函数:通过switch进入不同界面。2、登记入住函数:使用户在入住前登记个人信息,选择房间信息3、查询入住情况函数:顾客可通过两种方式查
2、找到自己的个人信息。4、查询当前费用函数:顾客可随时查询所用费用5、结账退房函数:所有信息清零。2、数据结构此系统,选择用结构体存放不同类型的数据,房间信息。在这过程中由于对指针的运用与操作还不熟练,不方便修改,所以没用指针。(1)创建房间信息结构体/*结构体hotel房间号、房间种类、客户姓名、身份证号、入住状态、实际收房费,押金等*/structhotelintnum;/*房间号*/intkind;/*房间种类1(表示单人间)2(表示双人间)*/charname20;/*姓名*/charID19;/*身份证号*/intflag;/*flag0(表示有人入住)0(表示无人入住)*/intdi
3、ngjia;/*房间定价*/intshiji;/*实际缴纳费用*/roomM;3、函数原型声明voidwelcome。;/主界面intdengji();登记入住函数intnow_room();/查询当前房间入住情况intnow_feiyong();查询当前费用inttuifang();/结账退房intfind();/查询当前入住人数intkfxinxi();客户信息voidjiezhang();/结账付款intquit();/退出函数intmima();/密码/voidsave();保存/二、详细设计1、主函数设计主函数说明:为满足顾客登记入住,查询房间入住情况,查询当前费用,结账退房等功能的
4、实现,设计此函数。开始进入欢迎界面让顾客选择,进入顾客所选界面。结束主函数流程图2、子函数流程图(1)登记入住函数说明:登记入住流程图(2)查询房间入住情况:2种查询方式(1.按房号查询2.客户信息查询),最终输出结账退房流程图三、测试出现欢迎界面测试1:选择选项1,入住登记“1”按提示输入信息(如:1-单人间,1-房间号,陈诚,200元,登记成功)测试2:选择选项2,查询房间入住情况“1”按房间号查询,1、房间号出现刚登记的个人信息2、房间号该房为空房“2”按客户信息查询,身份证号出现个人信“3”退出,返回欢迎界面测试3:选择选项3,查询客户当前费用“1”号房间,当前费用100元测试4:选择
5、选项4,结账退房“2”号房间,空房,重输“1”号房间,应支付100元,退房成功四、小结此程序满足课程设计要求,实现登记、查询、结账等操作,并对不同房间实施不同收费标准,计算总费用等功能。程序优点:整个程序界面友好,与顾客有良好的界面交流。程序虽简单,但功能齐全。程序缺点:(1)数据结构单一。主要是学习c语言时间短,知识程度不深,不够全面,知道的不多。(2)不会调用系统时间。在做课设的过程中,我对c语言有了更深入的了解。它很考察逻辑的严密性,思路条理要清晰是很重要的,它包含你编写程序的大致方向。严谨认真的态度也不可或缺。调试程序过程中也可以提升自己的理解已经加深自身熟练度。遇到问题要想方设法将它
6、解决,看书找资料,请教同学,与同学讨论,从这些方面我又可以学会合作。源码:/主函数/#defineM40#include#include#include#includedingyi.h#includejiegouti.h#includefind.h#includekfxinxi.h#includezuizhongfeiyong.h#includequit.h#includezhujiemian.h#includedengji.h#includedangqianruzhu.h#includedangqianfeiyong.h#includetuifang.h#includemima.h#incl
7、udesave.h#includeduru.h/*主函数*/voidmain()inti,j;mima();/密码/duru();/读入数据/welcome();/载入主界面/scanf(%d,&i);switch(i)case1:j=dengji();break;case2:j=now_room();break;case3:j=now_feiyong();break;case4:j=tuifang();break;case5:exit(0);default:quit();while(j!=0)/操作结束可返回主界面/welcome();scanf(%d,&i);switch(i)case1:
8、j=dengji();break;case2:j=now_room();break;case3:j=now_feiyong();break;case4:j=tuifang();break;case5:exit(0);default:quit();/*登记入住*/intdengji()inti,j,a,k,n;nn);system(cls);printf(nn登记入住printf(请选择房间类型:nn);printf(1.单人间2.双人间nn);scanf(%d,&n);switch(n)case1:printf(现在空闲的单人房间有:n);for(i=1,j=0;i=M;i=i+2)if(ro
9、omi-1.flag=0)printf(%dt,i);j+;if(j%5=0)printf(n);/控制每行输出个数/printf(安排客户想要的房间:);scanf(%d,&k);while(k%2=0)printf(!房号输入错误,请重新输入n);scanf(%d,&k);roomk-1.kind=1;roomk-1.num=k;printf(n请输入客户的姓名:);scanf(%s,);printf(n请输入客户的身份证号:);scanf(%s,roomk-1.ID);while(strlen(roomk-1.ID)!=18)printf(!输入有误,请重新输入n
10、);scanf(%s,roomk-1.ID);roomk-1.dingjia=100;printf(nn应当缴纳房费%d元,roomk-1.dingjia);printf(nn实际缴纳的金额为:);scanf(%d,&roomk-1.shiji);while(roomk-1.shijiroomk-1.dingjia)printf(ttnn!输入有误,请重新输入!nn);printf(nn实际缴纳的金额:);scanf(%d,&roomk-1.shiji);printf(nn是否确认入住(1-是2-否)n);scanf(%d,&a);while(a!=1&a!=2)printf(nntt!输入有
11、误,请重新输入:);scanf(%d,&a);if(a=1)roomk-1.flag=1;printf(n已成功登记!nn);save();break;case2:printf(现在空闲的双人房间有:nn);for(i=2,j=0;i=M;i=i+2)if(roomi-1.flag=0)printf(%dt,i);j+;if(j%5=0)printf(nn);/控制每行输出个数/printf(安排客户想要的房间:);scanf(%d,&k);while(k%2!=0)printf(!房号输入错误,请重新输入:n);scanf(%d,&k);roomk-1.kind=2;roomk-1.num=
12、k;printf(n请输入客户的姓名:);scanf(%s,);printf(n请输入客户的身份证号:);scanf(%s,roomk-1.ID);while(strlen(roomk-1.ID)!=18)printf(!输入有误,请重新输入:n);scanf(%s,roomk-1.ID);roomk-1.dingjia=200;printf(nn应当缴纳房费d元,roomk-1.dingjia);printf(nn实际缴纳的金额为:);scanf(%d,&roomk-1.shiji);while(roomk-1.shijiroomk-1.dingjia)printf(
13、ttnn!输入有误,请重新输入:nn);printf(nn实际缴纳金额为:);scanf(%d,&roomk-1.shiji);printf(nn是否确认入住(1-是2-否)n);scanf(%d,&a);while(a!=1&a!=2)printf(nntt!输入有误,请重新输入:);scanf(%d,&a);if(a=1)roomk-1.flag=1;printf(n已成功登记!nn);save();break;default:quit();quit();return1;/读取函数/voidduru()FILE*fp;inti;if(fp=fopen(kf_dat,rb)=NULL)pri
14、ntf(cannotopenfilen);return;for(i=0;iM;i+)fread(&roomi,sizeof(structhotel),1,fp);fclose(fp);/*查询入住人数*/intfind()intnumber=0;inti;for(i=0;i4|i1)printf(nntt输入有误,请重新输入:);scanf(%d,&i);elseif(i=1)printf(nn请输入房间号:);/按房号查询scanf(%d,&j);if(roomj-1.flag=0)printf(nn此房间无人住nn);elseprintf(您的个人信息为:);kfxinxi(j-1);br
15、eak;elseif(i=2)printf(nn请输入您的身份证号:);/按客户信息查询scanf(%s,a);while(1)for(k=0;kM;k+)if(strcmp(a,roomk.ID)=0)break;if(k!=M)printf(nn您的个人信息为:);kfxinxi(k);break;elseprintf(ttnn1.输入有误,请重新输入2.不存在此人信息退出nn);scanf(%d,&s);if(s=1)printf(nn请输入您的身份证号:);scanf(%s,a);elsereturn(1);break;elseif(i=3)break;elseprintf(ttnn1
16、.输入有误,请重新输入nn);printf(tt1.按房号查询nntt2.按客户信息查询nntt3.按入住时间查询nntt4.退出);printf(nn请选择:);scanf(%d,&i);quit();/*退出函数*/intquit()inty;printf(是否需要返回主界面?1-是2-否nn);scanf(%d,&y);if(y=1)welcome();elseprintf(*欢迎下次光临武科大酒店*!nn);return1;/保存函数/voidsave()FILE*fp;inti;if(fp=fopen(kf_dat,wb)=NULL)printf(cannotopenfilen);r
17、eturn;for(i=0;i0)printf(找还顾客%d元n,yu);elseprintf(顾客应再支付d元n,yu*(-1);/*结账退房*/inttuifang()charzhonglei30;intn,m;system(cls);printf(nn结账退房nn);if(find()=0)printf(房间都是空的!nn);elseprintf(请输入需要退房的房号:);scanf(%d,&n);if(nM|n1)printf(nn输入有误,请重新输入:,M);scanf(%d,&n);if(roomn-1.flag=0)printf(空房,无法办理退房!nn);switch(room
18、n-1.kind)case1:strcpy(zhonglei,单人间”);break;case2:strcpy(zhonglei,双人间);break;printf(房间号:dn房间类型:%sn客人姓名:%sn身份证号:%sn,roomn-1.num,zhonglei,,roomn-1.ID);printf(nt房间定价为:%dn,roomn-1.dingjia);if(roomn-1.flag=1)shoufei(roomn-1.dingjia,roomn-1.shiji);printf(nn是否退房(1.是2.否):);scanf(%d,&m);if(m=1)roomn-1.flag=0;strcpy(,0);roomn-1.shiji=0;printf(nn您已成功退房,欢迎下次光临!nn);save();quit();return1;/*主界面*/voidwelcome()intn;n=find();system(color4F);printf();printf(欢迎进入武科大酒店管理系统n);printf(tprintf(tprintf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安全培训试题及答案消防
- 2025年时政热点考试试题目及答案指导
- 2025心肺复苏笔试题型及答案
- 团史教育学习
- 溶出度测定方法
- 通渭榜罗红色文化介绍
- 2025版精神分裂症常见症状及护理方案
- 常见疾病护理
- 红楼梦经典章节解析
- 益优学堂专业介绍
- 将来时知识点总结
- 教师职业道德与专业发展知到智慧树章节测试课后答案2024年秋鲁东大学
- 课题申报参考:初中与高中双向、有效、高效衔接的设计、实施与评价研究
- 皮肤基础知识培训教材
- 第11课《山地回忆》公开课一等奖创新教学设计
- 整本书阅读《平凡的世界》(教学课件)
- DB11-T 1448-2017 城市轨道交通工程资料管理规程
- 三年级数学小学数学答题卡模板
- 《巴托克钢琴作品《小宇宙》的作曲技法分析》
- GB/T 25738-2024核电厂电动机调试技术导则
- GB/T 8574-2024复合肥料中钾含量的测定
评论
0/150
提交评论