- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计---旅店管理系统——床位的分配与回收
洛 阳 理 工 学 院
课 程 设 计 报 告
课程名称 数据结构
设计题目 旅店管理系统——床位的分配与回收
姓 名 刘佳
完成日期 2012年6月8日
课 程 设 计 任 务 书 设计题目: 模拟旅馆管理系统的一个功能——床位的分配与回收【问题描述】某旅馆有n个等级的房间,第I等级有个房间,每个等级有个床位(1≤≤n)。试模拟旅馆管理系统中床位分配和回收的功能,设计能为单个旅客分配床位,在其离店便回收床位(供下次分配)的算法。
【基本要求】(1)输入数据
分配时,输入旅客姓名、年龄、性别、到达日期和所需房间等级。
回收时,输入房间等级、房间号和床位号。
(2)输出数据
分配成功时打印旅客姓名、年龄、到达日期、房间等级、房间号码和床位号码。
分配不成功时,如所有等级均无床位,则打印“客满”信息;如旅客需要的等级均无空床位,则打印“是否愿意更换等级?”的询问信息。若旅客愿意更换,则重新输入有关信息,再进行分配,否则分配工作结束。typedef struct customer
{
char name[15]; //旅客姓名
int age; //旅客年龄
int sex; //旅客性别
int lv; //旅客住宿时的等级号
int bed_num; //旅客的床位号
int year; //开始住宿日期:年
int month; //开始住宿日期:月
int day; //开始住宿日期:日
struct customer* next; //指向下一旅客
}cus;
(2)对旅店结构体定义
typedef struct hotel_lv
{
int lv_num; //旅店等级号
struct hotel_lv *next; //指向下一等级
struct fangjian *fj_next; //指向房间
}hotel_lv;
(3)房间结构体定义
typedef struct fangjian
{
int fj_num; //房间号
int max; //房间的最大床位数目
int mem_num; //房间内的当前人数
struct fangjian *next; //指向下一房间
struct customer *cus_next; //指向旅客
}fangjian;
总体设计
主函数
有旅客来住宿时:
有旅客来退房时:
(4)查询旅客信息时:
(5)统计旅店当前入住人数:
(5)各函数名
①初始化函数:void Init(hotel_lv *L)
②判断是否客满:int full(hotel_lv *L)
③打印旅客信息:void Pr_divide(cus* p,fangjian* q )
④旅客住宿函数:void Pr_divide(cus* p,fangjian* q )
⑤旅客退房函数:cus* Delete(hotel_lv *L)
⑥查询旅客信息:void cx_customer(hotel_lv *L)
⑦统计旅店当前入住人数:void Tongji_cus(hotel_lv *L)
⑧主函数:void main()
5. 详细设计
关键步骤设计
初始化旅店函数
采用链表方式,进行旅店的初始化操作,给旅店等级设置了头结点。输入房间等级,每个等级的房间数目,每个房间的床位数目。
void In
文档评论(0)