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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

酒店房间登记与计费管理系统方案Word下载.docx

1、 /*创建结构体date,记录入住和结账时间*/ struct date int mon; int day; int hour; ;/*创建结构体hotel*/struct hotel int num; /房间号 int kind; /*房间种类 1-单人间 2-双人间*/ char name20; /入住客户 char ID19; /身份证号 int h_money; /按日收费价格 int d_money; /按小时收费价格 struct date time; /入住时间 int flag; /*flag含义 0-无人入住 1-按小时入住 2-按天入住*/ int deposit; /押金

2、roomM;四、总结及体会王树锦 实用为主系统以用户需求为目标,以方便用户为原则,同进融入先进的管理经验,在通用的成熟的酒店管理系统的框架下,根据用户的实际需求功能情况,为用户进行二次开发,度身订造一套先进的管理系统,尽可能降低使用前的培训、实施和使用中的维护时间。充分满足现在及未来的各种需求,真正为管理及决策提供强有力的支持。我认识到c语言实验是非常注意书写的正确性和逻辑的严密性,实验过程本身就在考验一个人细心与耐心程度,还有对所学知识的熟练程度。组员1:先进灵活系统充分应用现有成熟的网络技术、软件开发技术,先进的客户/服务器结构,及高性能的32位大型网络数据库,满足大型连锁客户的日常运营、

3、移动办公、开展电子商务等的需要。同时用户可自行灵活设置参数和各种代码,适应自己的特殊需要。这对我来说是非常重要的方面。这次试验也让我知道在c语言中,条理清晰的流程是很重要的,它包含你编写程序的大致方向,是你在编程过程中不会走错路,也不会太盲目。组员2:王莹稳定可靠通过选用先进的开发软件,成熟的网络结构及安全可靠的数据库,再配合硬件的优化选型,从而保证系统的可靠性与容错性。宾馆信息管理系统主要实现宾馆酒店的客房管理、客户信息管理、客户添加管理、客户修改管理、客户删除管理功能。在实验中,遇到问题要想方设法将它解决,看书找资料,请教同学,与同学讨论,都是很好的途径。组员3:许茗随着社会服务行业的发展

4、,使用管理软件来管理整个宾馆企业的要求也逐年升温,有条件的酒店或宾馆都采用了相关的酒店管理系统,以解决宾馆全凭原始的手工记录管理,效率低、易出错的缺陷。宾馆行业对自身提供服务的质量和能力也有了更高的要求,宾馆信息管理系统正因此而越来越受到重视。组员4:王冠一个宾馆信息管理系统应该包括基本的客房信息管理、客房客户信息管理、入住退房信息管理等相关的信息管理。严谨认真的态度也不可或缺。实验中常常会遇到许多问题,c语言有自己解决问题的方法:找语法错误,找逻辑错误,调试等等,有时需要从整个程序方面考虑,这就需要调试经验。五、程序源代码#include stdlib.htime.hmath.hconio.

5、hctype.hstring.hwindows.h#define ROOM_MAX 100#define TYPE_NUM 4#define WIDTH 80#define HIGH 25typedef struct tm tm;typedef enum False, True Bool;typedef enum Single, Standard, Vip, President Type;typedef struct node void *elem; struct node *next; node_t;/* 房间结构 */typedef struct room int room_number;

6、 Bool room_is_used; Type room_kind; char guest_name20; char guest_Id19; double room_price; tm *start_time; tm *end_time; double total_cost; room_t;void welcome();void menu();void locate_position();void animal();void animation(int x);void goodbye();node_t *list_init();node_t *list_add(node_t *head, v

7、oid *elem);node_t *list_del(node_t *head, node_t *dest);node_t *list_for_each(node_t *head, void *(*func)(node_t *head, node_t *cur, void *arg), void *arg);node_t *list_reverse(node_t *head);void list_destory(node_t *head);void *mprint(node_t *head, node_t *cur, void *arg);void *madd(node_t *head, n

8、ode_t *cur, void *arg);void *mdel(node_t *head, node_t *cur, void *arg);void room_add(node_t *head, room_t hotalTYPE_NUMROOM_MAX);void room_del(node_t *head);void price_info();int increase_two(int i);double price_of_room(Type kind);char *Type_to_string(Type kind);char *Bool_to_string(Bool _bool_);ro

9、om_t *get_first_room(room_t hotalROOM_MAX, Type kind);/* * increase_two * * i 要自增的数 * 调用一次增加 2 */int increase_two(int i) return i+2; * price_of_room * kind 房间类型 * 根据房间的类型得到房间的单价double price_of_room(Type kind) return pow(2, (int)kind) * 100; * 定位光标 * x 要定位的列数 * y 要定位的行数 * 无返回值 * * 调用API,定位光标位置,比用空格,T

10、ab, 回车定位方便许多void locate_position(int x, int y) COORD C; C.X = x; C.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), C); * welcome * 显示欢迎界面 (总菜单界面的大部分容) * 列出用户可进行的操作 * 每次任务完成后,再次调用些界面void welcome() int position = 4; locate_position(25, 3); printf(酒店房间登记与计费管理系统); locate_position(30, po

11、sition = increase_two(position);1: 登记入住2: 查询房间入住3: 查询当前费用4: 结账退房5: 帮助说明6: 关于0: 退出 locate_position(27, position = increase_two(position);请选择要办理的业务nvoid goodbye() char is_leave = i; char str15 = color 0 char str_color2; int color; time_t tTime; tm *tBlock; locate_position(33, 10);确认退出(Y/N)? while (is_

12、leave != Y & is_leave !N) is_leave = kbhit() ? toupper(getch() : m animal(1); animation(6); animal(18); animation(19); animal(20); animation(21); animal(22); animation(23); strcpy(str, color = rand() % 8 + 8; itoa(color,str_color, 16); strcat(str, str_color); system(str); locate_position(29,4); tTim

13、e = time(NULL); tBlock = localtime(&tTime);%s %2d:%02d:%02d, _DATE_, tBlock-tm_hour, tBlock-tm_min, tBlock-tm_sec);确认退出(Y/N)? _sleep(1000); if (toupper(is_leave) = locate_position(30, 13);谢谢使用,欢迎下次来访! locate_position(0,0); getch(); exit(0); else system(cls menu(); * price_info * 无参数,显示房间的价格void pric

14、e_info() int position = 1; int weidth = 20;n房间的收费如下- locate_position(weidth, position = increase_two(position); %-20s单 间%10.2f, Type_to_string(Type)0), price_of_room(Type)0); %-20s标 准 间%10.2f, Type_to_string(Type)1), price_of_room(Type)1); %-20s房 间%10.2f, Type_to_string(Type)2), price_of_room(Type)2

15、); %-20s总 统 套 房%10.2f, Type_to_string(Type)3), price_of_room(Type)3); locate_position(weidth + 6, position = increase_two(position);从中午十二点到第二天中午十二点算一天n locate_position(weidth + 12, position = increase_two(position);不足一天按一天算 _sleep(3000); * animation * 展示一个小动画 *x 在第几行展示 *其中随着时间流逝, 不断的向右移动void animati

16、on(int x) static int i = 1; locate_position(1, x); = locate_position(i % (WIDTH-5), x); i += 3; if (i WIDTH - 5) i = 1; * 和上面的函数相似,这次是向左void animal(int x) static int i = 74; - i -= 5; if (i 0) i = WIDTH - 6; * menu * 菜单项 * 没有参数,显示菜单界面 * 根据不同的选项,进入不同的子模块void menu() int i = 0, j; char str15; char ch =

17、 room_t hotalTYPE_NUMROOM_MAX; node_t *head = list_init(); memset(&hotal, 0, sizeof(room_t) * TYPE_NUM * ROOM_MAX); /* 初始化房间信息 */ for (i = 0; i TYPE_NUM; i+) for (j = 0; j elem = NULL;next = head; return head; * list_add * 向链表里面添加结点 * head 链表的头结点 * elem 结点中的数据 * 此列表为尾插法node_t *list_add(node_t *head,

18、 void *elem) node_t *new_node = (node_t *)malloc(sizeof(node_t); new_node-elem = elem;next = head-next;next = new_node; return new_node; * list_del * 删除列表中的元素 * head 列表的头结点 * dest 要删除的结点 * 给出要删除的结点,从头结点开始找到要删除的结点,然后删除 * 表头元素不能删除node_t *list_del(node_t *head, node_t *dest) node_t *pre = head; node_t *cur = pre- while (cur != dest) if (cur != head) pre = pre- cur = cur- pre-next = cur-/* 释放指针后直接赋值为 NULL, 预防 野指针 * free(cur); * cur = NULL; * 但是这个地方不能free了,因为它的元素包含有房间数组

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

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