ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:92.25KB ,
资源ID:28323112      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28323112.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言实验分析报告酒店管理系统.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言实验分析报告酒店管理系统.docx

1、C语言实验分析报告酒店管理系统C语言实验报告-酒店管理系统 作者: 日期: 武汉科技大学 C语言程序设计 课 程 设 计 题 目 酒店管理系统 班 级 信息与计算科学2班 姓 名 陈诚 学 号 201407119043 成 绩 2015年 6 月 23 日一、 总体设计1、 程序的总体设计(1) 程序总体设计思路:酒店房间登记管理系统,实现的是房间登记与管理(包括登记入住、查询)为了体现模块化设计,把所有要实现的功能做成函数,采用分步实施的方法逐步细化。具体分布实施有以下5步。1,编写模块2,定义实现个功能模块所要函数 3,编写各个函数 4,理清思路,逐步修改5,调试整个程序。核心部分是各个函

2、数:1、欢迎界面函数:通过switch进入不同界面。2、登记入住函数:使用户在入住前登记个人信息,选择房间信息3、 查询入住情况函数:顾客可通过两种方式查找到自己的个人信息。4、 查询当前费用函数:顾客可随时查询所用费用5、 结账退房函数:所有信息清零。 2、数据结构 此系统,选择用结构体存放不同类型的数据,房间信息。在这过程中由于对指针的运用与操作还不熟练,不方便修改,所以没用指针。(1)创建房间信息结构体 /*结构体hotel 房间号、房间种类、客户姓名、身份证号、入住状态、实际收房费,押金等*/struct hotel int num; /*房间号*/ int kind; /*房间种类

3、1(表示单人间) 2(表示双人间)*/ char name20; /*姓名*/ char ID19; /*身份证号*/ int flag; /*flag 0(表示有人入住)0(表示无人入住)*/ int dingjia; /*房间定价*/ int shiji; /*实际缴纳费用*/roomM; 3、函数原型声明void welcome(); /主界面int dengji(); /登记入住函数int now_room(); /查询当前房间入住情况int now_feiyong(); /查询当前费用int tuifang(); /结账退房int find(); /查询当前入住人数int kfxin

4、xi(); /客户信息void jiezhang(); /结账付款int quit(); /退出函数int mima();/密码/void save(); /保存/二、详细设计1、主函数设计主函数说明:为满足顾客登记入住,查询房间入住情况,查询当前费用,结账退房等功能的实现,设计此函数。开始进入欢迎界面让顾客选择,进入顾客所选界面。主函数流程图2、子函数流程图(1)登记入住函数说明:登记入住流程图(2)查询房间入住情况:2种查询方式(1. 按房号查询2. 客户信息查询),最终输出 结账退房流程图三、测试出现欢迎界面测试1:选择选项1,入住登记 “1”按提示输入信息(如:1-单人间,1-房间号,

5、陈诚,522225*,200元,登记成功)测试2:选择选项2,查询房间入住情况“1”按房间号查询,1、房间号 出现刚登记的个人信息 2、房间号 该房为空房“2” 按客户信息查询,身份证号522225199609230037 出现个人信“3” 退出,返回欢迎界面测试3:选择选项3,查询客户当前费用 “1”号房间,当前费用100元测试4:选择选项4,结账退房 “2”号房间,空房,重输 “1”号房间,应支付100元,退房成功四、小结 此程序满足课程设计要求,实现登记、查询、结账等操作,并对不同房间实施不同收费标准,计算总费用等功能。 程序优点:整个程序界面友好,与顾客有良好的界面交流。程序虽简单,但

6、功能齐全。 程序缺点: (1)数据结构单一。主要是学习c语言时间短,知识程度不深,不够全面,知道的不多。 (2)不会调用系统时间。在做课设的过程中,我对c语言有了更深入的了解。它很考察逻辑的严密性,思路条理要清晰是很重要的,它包含你编写程序的大致方向。严谨认真的态度也不可或缺。调试程序过程中也可以提升自己的理解已经加深自身熟练度。遇到问题要想方设法将它解决,看书找资料,请教同学,与同学讨论,从这些方面我又可以学会合作。源码:/主函数/#define M 40#include#include#include#includedingyi.h#includejiegouti.h#includefin

7、d.h#includekfxinxi.h#includezuizhongfeiyong.h#includequit.h#includezhujiemian.h#includedengji.h#includedangqianruzhu.h#includedangqianfeiyong.h#includetuifang.h#includemima.h#includesave.h#includeduru.h/*主函数*/ void main() int i,j; mima(); /密码/ duru(); /读入数据/ welcome(); /载入主界面/ scanf(%d,&i); switch(i

8、) case 1:j=dengji();break; case 2:j=now_room();break; case 3:j=now_feiyong();break; case 4:j=tuifang();break; case 5:exit(0); default:quit(); while(j!=0) /操作结束可返回主界面/ welcome(); scanf(%d,&i); switch(i) case 1:j=dengji();break; case 2:j=now_room();break; case 3:j=now_feiyong();break; case 4:j=tuifang

9、();break; case 5:exit(0); default: quit(); /*登记入住*/int dengji() int i,j,a,k,n; system(cls); printf(nn登记入住nn); printf(请选择房间类型:nn); printf(1.单人间 2.双人间nn); scanf(%d,&n); switch(n) case 1:printf(现在空闲的单人房间有: n); for(i=1,j=0;i=M;i=i+2) if(roomi-1.flag=0) printf(%dt,i);j+; if(j%5=0) printf(n); /控制每行输出个数/ p

10、rintf(安排客户想要的房间: ); scanf(%d,&k); while(k%2=0) printf(!房号输入错误,请重新输入n); scanf(%d,&k); roomk-1.kind=1; roomk-1.num=k; printf(n请输入客户的姓名: ); scanf(%s,roomk-1.name); printf(n请输入客户的身份证号: ); scanf(%s,roomk-1.ID); while(strlen(roomk-1.ID)!=18) printf(!输入有误,请重新输入n); scanf(%s,roomk-1.ID); roomk-1.dingjia=100;

11、 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!输入有误,请重新输入: ); scanf(%d,&a);if(a

12、=1) roomk-1.flag=1; printf(n已成功登记!nn); save(); break; case 2: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=k; pri

13、ntf(n请输入客户的姓名: ); scanf(%s,roomk-1.name); 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.dingj

14、ia) 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!输入有误,请重新输入: ); scanf(%d,&a);if(a=1) roomk-1.flag=1; printf(n已成功登记!nn); save();break; default: quit(); quit();return 1;/读取函数/void duru() FILE *fp; int i;

15、 if(fp=fopen(kf_dat,rb)=NULL) printf(cannot open file n); return ; for(i=0;iM;i+) fread(&roomi,sizeof(struct hotel),1,fp); fclose(fp);/*查询入住人数*/int find()int number=0;int i; for(i=0;i4|i1)printf(nntt 输入有误,请重新输入: ); scanf(%d,&i); else if(i=1) printf(nn请输入房间号: ); /按房号查询 scanf(%d,&j); if(roomj-1.flag=0

16、) printf(nn此房间无人住nn); else printf(您的个人信息为: ); kfxinxi(j-1); break; else if(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; else printf(ttnn1. 输入有误,请重新输入 2.不存在此人信息,退出 nn); scanf(%d,&s); if(s=1) pr

17、intf(nn请输入您的身份证号: ); scanf(%s,a); else return(1);break; else if(i=3)break; else printf(ttnn1. 输入有误,请重新输入 nn); printf(tt1. 按房号查询nntt2. 按客户信息查询nntt3. 按入住时间查询nntt4. 退出); printf(nn请选择: ); scanf(%d,&i); quit();/*退出函数*/int quit()int y; printf(是否需要返回主界面? 1-是 2-否nn); scanf(%d,&y); if(y=1) welcome(); else pr

18、intf(* 欢迎下次光临武科大酒店 *!nn); return 1;/保存函数/void save() FILE *fp; int i; if(fp=fopen(kf_dat,wb)=NULL) printf(cannot open file n); return ; for(i=0;i0) printf(找还顾客%d元n,yu); else printf( 顾客应再支付%d元n,yu*(-1); /*结账退房*/int tuifang() char zhonglei30; int n,m; system(cls); printf(nn结账退房nn); if(find()=0) printf

19、(房间都是空的!nn); else printf(请输入需要退房的房号: ); scanf(%d,&n); if(nM|n1) printf(nn输入有误,请重新输入:,M); scanf(%d,&n); if(roomn-1.flag=0) printf(空房,无法办理退房!nn); switch(roomn-1.kind) case 1:strcpy(zhonglei,单人间);break; case 2:strcpy(zhonglei,双人间);break; printf(房间号: %dn房间类型: %sn客人姓名: %sn身份证号: %sn,roomn-1.num,zhonglei,r

20、oomn-1.name,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(roomn-1.name,0); roomn-1.shiji=0; printf(nn您已成功退房,欢迎下次光临!nn); save(); quit();return 1; /*主界面*/void welcome() int n; n=find(); system(color 4F); printf(-); printf(欢迎进入武科大酒店管理系统n); printf(t 1. 入住登记 nn);/dengji()/ printf(t 2. 查询当前房

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1