酒店房间登记与计费管理系统设计程序设计说明书_第1页
酒店房间登记与计费管理系统设计程序设计说明书_第2页
酒店房间登记与计费管理系统设计程序设计说明书_第3页
酒店房间登记与计费管理系统设计程序设计说明书_第4页
酒店房间登记与计费管理系统设计程序设计说明书_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、酒店房间登记与计费管理系统设计程序设计说明书程序设计课程设计说明书 课程名称 程序设计 设计题目 酒店房间登记与计费管理 系统设计专业班级学生姓名指导教师起止日期 72013年6月8日至 2013年6月14日 福建林业职业技术学院自动化工程系目录摘要21 软件需求分析说明书 3 1.1 登记入住系统 3 1.2 客房状态查询 3 1.3 住户 信息查询 3 1.4 结账退房系统 3 2 系统分析与设计 4 2.1 软件界面设计 4 2.2软件的数据 (结构)设计 82.3 软件的算法设计 9 2.3.1 软件模块图 9 2.3.2 程序流程图 9 3 软件的实 现 12 3.1 使用的结构数组

2、及函数的定义 123.2 登记入住模块 12 3.3 查询房间模块 15 3.4 查询房客模块 16 4 软件测试215 软件使用说明书 221 软件需求分析说明书 1.1 登记入住系统登记并记录顾客姓名登记并记录顾客的证件类型及号码显示现有空置房间选择所需要的房间并更改房间状态信息计算并记录住房费及押金由于本软件针对操作员设计,所以界面应尽可能简单明了。住房及顾客信息由于涉及多种类型的数据,因此应用结构数组处理。用文件记录相关数据。1.2 客房状态查询分别显示已入住客房与空置客房读取住房信息文件的内容并判断分类,借此可以清晰明了的显示客房状态。1.3 住户信息查询查询顾客所租房房号查询顾客住

3、房费用顾客可以通过输入自己的姓名来查询个人的住房信息。1.4 结账退房系统退房更新所退房间状态删除退房用户记录显示账单顾客可以输入姓名来完成退房操作,房间状态将更改为未入住。系统将删除该用户信息记录并读取生成账单。 2 系统分析与设计 2.1 软件界面设计运行程序后进入主界面,可以进行登记入住、查询房间、查询顾客、退出程序 等几项操作 : 图 2.1.1选择“ 1.登记入住”进入登记入住界面 : 图 2.1.2输入相关信息,之后选择计费类型 : 图 2.1.3选择“ 1.按天入住”按天数计费,会显示目前空置的房间。输入所选房间已进行下一步操作 : 图 2.1.4如选择“ 2.按小时入住”则按小

4、时计费,操作同理。 图 2.1.5 之后会进入下 一界面并提示登记成功。 图 2.1.6如在主界面选择“ 2. 查询房间的入住情况”则会进入查询房间状况界面,程序 将分别依次显示已入住的房间和空置房间。 图 2.1.7 如在主界面选择“ 3.查询当前费用”则会进入用户查询界面,输入顾客姓名即可进行查询 图 2.1.8程序会显示该客人的相关信息 图 2.1.9如在主界面选择“ 4. 结账退房”则会进入用户退房界面,输入顾客姓名即可进行退房操作 图 2.1.10 输入成功后会显示退房成功。 图 2.1.11在主界面选择“ 5.退出程序”会进入退出界面。 图 软件的数据 ( 结构

5、) 设计本软件运用了 C 语言文件的读取与写入功能,各文件的作用如下count.txt:用于存储房客数量,内部存储一个 int* 数据。room.txt:用于存储房间信息,内部依次存储 :房间状态房间描述char*(1 位) 房间号 char*(4 位) 房间类型 char*(1 位)char*(6 位) 房间日租金 int* 房间月租金 int* 。customer.txt: 用于存储房客信息,内部依次存储 :姓名 char* 证件类型 char* 证件号码 int* 房间号 char*(4 位) 房租 int*押金 int* 2.3 软件的算法设计2.3.1 软件模块图 2.3.2 程序流

6、程图 客房查询模块 : 顾客查询模块 : 结账退房模块 : 3 软件的实现 3.1 使用的结构数组及函数的定义结构体定义 :typedef struct room / 客房信息char FID5;/ 房间号char type2;/ 客房类型char describe7;/ 该客房类型的描述int cost_d;/日收费int cost_h;/时收费char statu2; /入住情况room;typedef struct customer /入住记录char FID5; /房间号char name20;/ 名字char type14;/ 证件类型int ID;/ 证件号int pay;/ 房费

7、int cp; / 押金customer;函数定义 :void rent room *p ;/ 登记入住模块void search_room room *p ;/ 客房查询模块void search_customer room *p, int l ;/费用查询模块 void pay room *p,int l ;/ 结账模块3.2 登记入住模块源文件:定义结构数组 structvoid rent room *pint i,count,n,m 2; struct room rm 0 ;/ customer cs;char search2 Y ,stu2 N ,dill5 0 ; FILE*fpi

8、n,*fpout;fpout fopen customer.txt,a ;assert fpout ! NULL ;printf 请输入姓名 : ;scanf %s,& ;fprintf fpout,%s , ;printf 请填入证件类型 : ;scanf %s,&cs.type ;fprintf fpout,%s ,cs.type ;printf 请输入证件号码 : ;scanf %d,&cs.ID ;fprintf fpout,%d ,cs.ID ;printf 请选择入住方式 :n1. 按天入住 n2. 按小时入住 n ;scanf %d,&count ;

9、fpin fopen room.txt,r+ ;assert fpin ! NULL ;printf 以下是现有的空房 n ;for i 0;i ;i+ /对结构数组赋值,录入房间信息fscanf fpin,%s ,rmi.statu ;fscanf fpin,%s ,rmi.FID ;fscanf fpin,%s ,rmi.type ;fscanf fpin,%s ,rmi.describe ;fscanf fpin,%d ,&rmi.cost_d ;fscanf fpin,%d ,&rmi.cost_h ;fclose fpin ;for i 0;i ;i+ if strcmp searc

10、h,rmi.statu 0 printf %s 号5型s日收费:d时收 费 :%dn,rmi.FID,rmi.type,rmi.describe,rmi.cost_d,rmi.cost _h ;printf 请输入要入住的房屋 ;scanf %s,&dill ;for i 0;i ;i+if strcmp dill,rmi.FID 0 /所选房间号与房间数据对比strcpy rmi.statu,stu ; /更改数组中的房间状态fprintf fpout,%s ,rmi.FID ;if count 1printf 请选择天数: ;scanf %d,&n ;fprintf fpout,%d ,r

11、mi.cost_d*n ;fprintf fpout,%d ,rmi.cost_d*n*m ;system cls ;printf 004已成功登记房间 !n ;printf 004您的房号为 :%sn,rmi.FID ;printf 004请支付d元的房费以及押金d元。n,rmi.cost_d*n,rmi.cost_d*n*m ;elseprintf 请选择小时数 : ;scanf %d,&n ;fprintf fpout,%d ,rmi.cost_h*n ;fprintf fpout,%d ,rmi.cost_h*n*m ;system cls ;printf 004已成功登记房间 !n

12、;printf 004您的房号为 :%sn,rmi.FID ;printf 004请支付d元的房费以及押金c元。n,rmi.cost_h*n,rmi.cost_h*n*m ;fpin fopen room.txt,w ;for i 0;i ;i+ /将更改录入文件fprintf fpin,%s ,rmi.statu ;fprintf fpin,%s ,rmi.FID ;fprintf fpin,%s ,rmi.type ;fprintf fpin,%s ,rmi.describe ;fprintf fpin,%d ,rmi.cost_d ;fprintf fpin,%dn,rmi.cost_h

13、 ;fclose fpout ;fclose fpin ;3.3 查询房间模块void search_room room *p int i,h,k;struct room rm 0 ;char search2 Y ; FILE *fpin;fpin fopen room.txt,r ;assert fpin ! NULL ; for i 0;i ;i+ /结构数组赋值,即录入房间信息fscanf fpin,%s ,rmi.statu ;fscanf fpin,%s ,rmi.FID ; fscanf fpin,%s ,rmi.type ;fscanf fpin,%s ,&rmi.describ

14、e ;fscanf fpin,%d ,&rmi.cost_d ;fscanf fpin,%d ,&rmi.cost_h ;printf 目前的空置房间有 :n ;/ 查询空客房for h 0;h ;h+ / 显示结果if strcmp search,rmh.statu 0printf %s号 %s 型房间 n,rmh.FID,rmh.ty pe ;printf 有顾客入住的房间 :n ;/ 查询满客房for k 0;k ;k+ / 显示结果if strcmp search,rmk.statu ! 0printf %s号 %s 型房间 n,rmk.FID,rmk.ty pe ;fclose fp

15、in ;3.4 查询房客模块void search_customer room *p,int l /参数 l 的值 即为主函数所读取的客人数量char name20;int a;int i;struct customer cs20 0 ;FILE *fpin,*fp1; printf 请输入要查询的用户姓名 : ;scanf %s,&name ;fpin fopen customer.txt,r ;assert fpin ! NULL ;fp1 fopen count.txt,r ;assert fp1 ! NULL ;for i 0;i l;i+ /读取顾客数据fscanf fpin,%s

16、,& ;fscanf fpin,%s ,&csi.type ;fscanf fpin,%d ,&csi.ID ;fscanf fpin,%s ,&csi.FID ;fscanf fpin,%d,&csi.pay ;fscanf fpin,%d,&csi.cp ;for a 0;a l;a+if strcmp name, 0 /比较与所输入字符串与是否printf %s , ;printf %s ,csa.type ;printf %d ,csa.ID ;printf %s ,csa.FID ;printf %d ,csa.pay ;printf

17、%dn,csa.cp ;fclose fpin ;fclose fp1 ;3.5 结账退房模块void pay room *p, int l int i,j;char name20;char FID5;char stu2 Y ;struct room rm 0 ;struct customer cs20 0 ;FILE *fp1,*fp2; printf 请输入客人姓名 : ;scanf %s,&name ; fp1 fopen room.txt,r ;assert fp1 ;对结构数组赋值fp2 fopen customer.txt,r ;assert fp2 ; for i 0;i ;i+

18、 / fscanf fp1,%s ,&rmi.statu ;fscanf fp1,%s ,&rmi.FID ;fscanf fp1,%s ,&rmi.type ;fscanf fp1,%s ,&rmi.describe ;fscanf fp1,%d ,&rmi.cost_d ;fscanf fp1,%d ,&rmi.cost_h ;fclose fp1 ;for j 0;j l;j+ fscanf fp2,%s ,& ;fscanf fp2,%s ,&csj.type ;fscanf fp2,%d ,&csj.ID ;fscanf fp2,%s ,&csj.FID ;fscan

19、f fp2,%d,&csj.pay ;fscanf fp2,%d,&csj.cp ;fclose fp2 ;for j 0;j l;j+ if strcmp name, 0 strcpy FID,csj.FID ;for ;j l-1;j+csj csj+1; /为数组重新赋值以完成删除操作fp2 fopen customer.txt,w ;assert fp2 ;for j 0;j l-1;j+ printf %s , ;printf %s ,csj.type ;printf %d ,csj.ID ;printf %s ,csj.FID ;printf %d

20、 ,csj.pay ;printf %dn,csj.cp ;for j 0;j l-1;j+ fprintf fp2,%s , ;fprintf fp2,%s ,csj.type ;fprintf fp2,%d ,csj.ID ;fprintf fp2,%s ,csj.FID ;fprintf fp2,%d ,csj.pay ;fprintf fp2,%dn,csj.cp ;fclose fp2 ;for i 0;i ;i+ if strcmp FID, rmi.FID 0打开并清空文件strcpy rmi.statu,stu ;fp1 fopen room.txt,w ; /

21、assert fp1 ;for i 0;i ;i+ /重新录入全部信息来完成更改fprintf fp1,%s ,rmi.statu ;fprintf fp1,%s ,rmi.FID ;fprintf fp1,%s ,rmi.type ;fprintf fp1,%s ,rmi.describe ;fprintf fp1,%d ,rmi.cost_d ;fprintf fp1,%dn,rmi.cost_h ;fclose fp1 ;4 软件测试 1 、 void rent room *p / 登记入住函数请输入姓名用例:input: room a20 out put:input: DANNY ou

22、tput: 请输入证件类型input: id output:请输入证件号码input: 10086 output:请选择入住方式 :1. 按天入住2. 按小时入住input: 2 output:以下是现有的空房 :A101号A型SINGLE日租金150时租金20请输入要入住的房屋input: A101 output:请选择小时数input: 5 output:已成功登记房间您的房号为 :A101请支付 100 元的房租及押金 200 元2、 void search_room room *p /住房查询函数用例:input: room a20 out put:目前的空置房间有 :A102号B型SINGLE日租金150时租金20A105号C型SINGLE日租金300时租金 40有顾客入住的房间 :B104号C

温馨提示

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

评论

0/150

提交评论