logo资料库

酒店房间登记与计费管理系统.doc

第1页 / 共35页
第2页 / 共35页
第3页 / 共35页
第4页 / 共35页
第5页 / 共35页
第6页 / 共35页
第7页 / 共35页
第8页 / 共35页
资料共35页,剩余部分请下载后查看
C 语言程序设计 课程设计报告 设计题目:酒店房间登记与计费管理系统 完成方式:(单选) ● 独立完成 ○ 参考他人工作的基础上完成 ○ 在他人的帮助下完成 ○ 完整拷贝他人成果 自我评分:(单选) ● 优秀 ○ 良好 ○ 中等 ○ 及格 ○ 不及格 2011 年 4 月 11 日
设计任务:C 语言课程设计任务书 2 题目:酒店房间登记与计费管理系统 功能:1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作, 包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。 2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收 费,可根据顾客需要在登记的入住的时候进行选择。 3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费 用。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况功 能。 3、进一步要求:完成计费和费用查询功能。 要求:1、用 C 语言实现系统; 2、系统的各个功能模块要求用函数实现; 3、界面友好(良好的人机交互),程序加必要的注释。
一、总体设计 1.程序的总体设计 1)程序的总体设计方案: 程序运行时,屏幕上出现一个界面,并显示酒店名字及欢迎信息,并 提示客户是否进入酒店,进入酒店后便显示一个功能选择菜单,有四项功 能可供选择,分别为 1.预定房间;2.入住情况查询;3.费用查询;4.退房 结账。客户通过键盘输入相应的数字选择不同的功能,进入不同的功能模 块之后客户按照提示完成一轮操作,之后程序根据客户不同需求跳转到功 能菜单处实现另一轮选择或者退出程序。 2)程序的总体设计概要框图: 初始界面 功能 选择 功能 实现 程序结束 提 示 信 息 2. 数据结构 本程序允许客户在酒店的订房以及退房操作,涉及到了客户信息的加 入以及删除,对于订房的客户,其信息根据预定的先后顺序进行存储,而 办理退房手续的客户,客户信息的删除不是按从头或者从尾有顺序地删 除,因为每个已经订房的客户都可能随时会退房,退房的客户其信息存储 不一定是最前面,也不一定是最后面,所以数据存储结构不能采用队列的 先进先出或者栈先进后出等原则实现。所以,我采用了线性链表对客户信 息进行存储,而每个客户的信息采用结构体 guest 来定义,结构体元素包 括 ID(存储客户身份证号)、roomtype(有’A’、’B’、’C’、’D’四种取值,分 别代表客户选择的单人间、双人间、高级间和总统套房)、feetype(有’1’、’2’ 两种取值,’1’代表客户选择按日计费的计费方式,’2’代表客户选择按小时 计费的钟点房)、price(客户选择的房间类型的单价)、roomnum(房间号码)、 next(指向下一个客户信息)。当有客户选择订房时,程序为该客户分配一定
的空间,并将该客户信息依次加入到线性表中;当有客户选择退房时,程 序从线性表中找到客户的位置,删除相应信息并释放空间。 3. 函数原型声明的说明(功能,参数,返回值) 1)void choose(void)函数说明: 该函数可供客户对不同功能进行选择,并根据选择跳转到不同函数做相 应操作,首先函数在屏幕上显示一个功能选择菜单,接着允许客户从键盘上 输入一个范围为 1 到 4 的整数(若超出范围则报错并要求重新输入),并将该 数赋给 a,然后调用 switch(a),当 a 为 1 是,则跳转到 booking()函数;当 a 为 2 时,则跳转到 checkroom()函数;当 a 为 3 时,则跳转到 checkfee()函 数;当 a 为 4 时,则跳转到 checkout()函数,即实现了根据客户的不同选择 执行不同的功能,该函数的参数及返回者均为空。 2) void booking(void)函数说明: 该函数提供客户预定房间的操作,包括要求客户输入身份证号,计费类型, 选择房间类型并为客户分配房间号码,同时将订房的客户信息存储到线性链 表中,该函数的参数及返回者均为空。 3) void checkroom(void)函数说明: 该函数提供客户对酒店入住情况查询的操作,首先函数允许客户对需要查 询的房间类型的选择(房间类型有四类,分别为单人间、双人间、高级间和总 统套房),客户选择相应的房间类型,程序便显示该房间类型还剩下的房间数, 我设置单人房一共 20 间,双人房一共 20 间,高级间一共 10 间,总统套房一 共 5 套,若该类型的房间数已满,则程序做出相应的提示,该函数的参数及 返回者均为空。 4) void checkfee(void)函数说明: 该函数提供客户进行已产生费用的查询,首先函数提示客户输入身份证 号及房间号,函数从已存储的线性链表中找到客户信息,并将它显示出来,
同时提示用户已经入住的时间,并根据客户所住房间类型的单价算出客户住 宿到查询时截止所产生的费用。若用户输入的身份证号码或者房间号码有误, 程序也做出了相应的提示,该函数的参数及返回者均为空。 5) void checkout(void)函数说明: 该函数提供客户退房结账的操作,首先函数提示客户输入身份证号及房 间号,函数从已存储的线性链表中找到客户信息,并将它显示出来,同时提 示用户已经入住的时间,并根据客户所住房间类型的单价算出客户住宿应交 纳的费用。接着程序询问客户是否确定退订,若是,则程序将该客户的信息 从线性链表中删除。若用户输入的身份证号码或者房间号码有误,程序也做 出了相应的提示,该函数的参数及返回者均为空。 6) void quit(void)函数说明: 该函数提示客户是否需要新一轮的操作,当客户从功能函数退出时均跳 转到该函数,函数提示客户是否需要继续操作,若是,程序跳转到功能选择 函数 choose();若不是,则程序显示“欢迎下次继续光临”的信息并推出程 序。
4. 流程图 开始 二、详细设计 酒 店 信 息 显 1.main( )(流程图) 否 是否进入酒店 开始 是 功 能 菜 单 显 酒 店 信 息 显 输入 a 是否进入酒店 Switch(a) 否 欢迎下次光临 欢 迎 下 次 光 是 结束 调用函数 choose() Case 1: 预定房间 Case 2: 入住情况查询 结束 Case 3: 费用查询 Case 4: 结账退房 2.quit( )(流程图) 是否继续操作 是
开始 提 示 是 否 继 续 操 输入 a a!=1 && a!=2 是 输入有误,重 是 a=1 否 否 调用函数 choose() 欢迎下次光临 结束 3.choose( )(流程图)
开始 功 能 选 择 菜 输入 a a>4 || a<1 否 输 入 有 是 Switch(a) Case 1: 预定房间 Case 2: 入住情况查询 Case 3: 费用查询 Case 4: 结账退房 是 是否继续操作 否 欢 迎 下 次 光 结束 4.booking( )(流程图)
分享到:
收藏