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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

程序语言设计课程设计0911090113郭永涛《酒店住房信息管理系统》.docx

1、程序语言设计课程设计0911090113郭永涛酒店住房信息管理系统一、题目(问题)描述模拟酒店住房信息管理系统程序,进入系统,目录有登记入住,查询房间入住,查询当前费用,结账退房,帮助说明,关于,保存当前信息,退出系统。系统中包括各种信息,程序运行结果正确,操作方便,逻辑层次清晰。如图1解:图1 酒店住房信息管理系统二、功能分析通过体验并分析后得出酒店住房信息管理系统主要功能包括:1.登记入住;2.查询房间入住; 3.查询当前费用;4.结账退房;5.帮助说明;6.关于; 0.退出.三、系统设计1程序总体结构程序中由主模块负责协调各功能模块的工作。进入程序后,根据输入操作,执行相应的读入、查询、

2、排序、增加、删除、显示当前信息、保存、显示平均成绩、退出等功能,并在屏幕上输出。 图2 酒店住房信息管理系统的总体结构图2.界面设计 如图3,下面的Choose:表示通过选择1、2、3、4、5、6、0等来进入各项功能,从而实现程序对信息的管理。 图3 管理信息界面3输入方式设计此程序为dos下程序,因此简化为键盘控制。1、2、3、4、5、6、0分别表示各项功能。回车表示确认进入各个程程序;主页面开始之后,键入:1.登记入住;2.查询房间入住;3.查询当前费用;4.结账退房;5.帮助说明;6.关于;0.退出.4重要数据的数据结构设计酒店住房信息管理系统结构typedef struct tm tm

3、; /*struct tm命名为tm*/ typedef struct node /*把struct 命名为node*/void *elem; /*无类型指针类型成员*/struct node *next; /*指针类型成员存放*/ node_t; /*指针地址*/ typedef struct room /* 房间结构 */int room_number; /*房间号 */Bool room_is_used; /*房间已使用*/Type room_kind; /*房间种类*/ char guest_name20; /*客人姓名*/char guest_Id19; /*省份证号*/ doubl

4、e room_price; /*房间价格*/tm *start_time; /*入住时间*/tm *end_time; /*退房时间*/double total_cost; /*合计消费金额*/ room_t;5函数设计文件中函数的功能如下:文件名函数原型函数功能“filemenu.c”void welcome()显示欢迎页面void menu()主菜单页面void locate position();定位光标void animal();显示一个小动画void animation();显示另一动画void menu();菜单项void goodbai()完成时退出程序void pricei n

5、fo()显示房间价格四、关键技术、难点及其解决方法此程序的关键是是否有保存功能,而且是保存把信息保存到文件中后退出程序,当再次进入程序是是否能查找到上次登陆是录入的信息,还有就是当系统要查找、删除信息是如何确定程序中是否有你要查找、删除的信息,来验证系统中是否存在所要的信息。五、测试方法1.按键测试。检查正确的输入时,是否界面正确表现;错误输入时,是否无效。2.程序运行测试。正确运行,观察是否异常;运行时中断,程序是否正确退出。六、总结通过这次课程设计,使我受到了一次用专业知识、专业技能分析和解决问题的全面系统的锻炼。对一些基础知识有了更规范的认识。让我理解到结构化设计相关知识在实际方面的应用

6、的操作,让我更深刻理解的“自顶向下,逐步细化的”思想;模块设计,多个函数并用;代码的重要性及注释的关键性。使我在综合知识的选用方面,在应用软件开发的基本思想、方法方面,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步。 此外,我深深地体现到进行软件开发不是一件简单的事情,它需要设计者具有全面的专业知识、缜密的思维、严谨的工作态度以及较高的分析问题、解决问题的能力,而我在很多方面还有欠缺。最后,我要衷心感谢老师在我的设计过程中给予我的极大帮助,使我能够及时、顺利地完成此次的课程设计。同时,也要感谢我的指导老师和同学们在本系统的设计过程中给予我的支持和帮助。附1、使用说明:1.功能说明.此程

7、序分为7个选项,分别是登记入住、查询房间入住、查询当前费用、查询当前费用、结账退房、帮助说明、关于、退出等功能,当选1时是进入登记入住功能,2是进入查询房间入住功能,3是进入查询当前费用功能,4是结账退房功能、5是显示帮助说明功能、6是显示关于的信息功能,0是退出系统功能。2.用户手册. .显示主菜单后键入数字: 1.登记入住;2.查询房间入住;3.查询当前费用;4.结账退房;5.帮助说明;6.关于;0.退出.附2、代码清单* “filemenu,c” *#include #include #include #include #include #include #include #includ

8、e #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 nodevoid *elem;struct node *next; node_t;/* 房间结构 */typedef struct roomint room_number;Bool room_is_used;Type roo

9、m_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, void *elem);node_t *list_del(node_t

10、 *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, node_t *cur, void *arg);void *mdel(n

11、ode_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_);room_t *get_first_room(room_t hotalRO

12、OM_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,定位光标位置,比用空格,Tab, 回车定位方便许多*/void locate_position(int x, int

13、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, position = increase_two(position);printf(1: 登记入住);loca

14、te_position(30, position = increase_two(position);printf(2: 查询房间入住);locate_position(30, position = increase_two(position);printf(3: 查询当前费用);locate_position(30, position = increase_two(position);printf(4: 结账退房);locate_position(30, position = increase_two(position);printf(5: 帮助说明);locate_position(30,

15、position = increase_two(position);printf(6: 关于);locate_position(30, position = increase_two(position);printf(0: 退出);locate_position(27, position = increase_two(position);printf(请选择要办理的业务n);void goodbye()char is_leave = i;char str15 = color 0;char str_color2;int color;time_t tTime;tm *tBlock;locate_p

16、osition(33, 10);printf(确认退出(Y/N)?);while (is_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 0);color = rand() % 8 + 8; itoa(color,str_color, 16);strcat(str, str_co

17、lor);system(str);locate_position(29,4);tTime = time(NULL);tBlock = localtime(&tTime);printf(%s %2d:%02d:%02d, _DATE_, tBlock-tm_hour, tBlock-tm_min, tBlock-tm_sec);locate_position(33, 10);printf(确认退出(Y/N)?);_sleep(1000);if (toupper(is_leave) = Y)locate_position(30, 13);printf(谢谢使用,欢迎下次来访!);locate_po

18、sition(0,0);getch();exit(0);elsesystem(cls);menu();/* price_info* 无参数,显示房间的价格*/void price_info()int position = 1;int weidth = 20;printf(n房间的收费如下-);locate_position(weidth, position = increase_two(position);printf(1: %-20s单 间%10.2f, Type_to_string(Type)0), price_of_room(Type)0);locate_position(weidth,

19、 position = increase_two(position);printf(2: %-20s标 准 间%10.2f, Type_to_string(Type)1), price_of_room(Type)1);locate_position(weidth, position = increase_two(position);printf(3: %-20s房 间%10.2f, Type_to_string(Type)2), price_of_room(Type)2);locate_position(weidth, position = increase_two(position);pri

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

21、的向右移动*/void animation(int x)static int i = 1;locate_position(1, x);printf( =);locate_position(i % (WIDTH-5), x);printf();i += 3;if (i WIDTH - 5)i = 1;/* 和上面的函数相似,这次是向左*/void animal(int x)static int i = 74;locate_position(1, x);printf( -);locate_position(i % (WIDTH-5), x);printf();i -= 5;if (i 0)i =

22、WIDTH - 6;/* menu* 菜单项* * 没有参数,显示菜单界面* 根据不同的选项,进入不同的子模块*/void menu()int color;int i = 0, j;char str15;char str_color2;char ch = m;time_t tTime;tm *tBlock;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_NU

23、M; i+)for (j = 0; j tm_hour, tBlock-tm_min, tBlock-tm_sec);locate_position(48, 20);_sleep(1000);/* list_init* 初始化链表,这个链表为循环链表, 有头结点*/node_t *list_init()node_t *head = (node_t *)malloc(sizeof(node_t);head-elem = NULL;head-next = head;return head;/* list_add* 向链表里面添加结点* * head 链表的头结点* elem 结点中的数据* 此列表为尾插法*/node_t *list_add(node_t *head, void *elem)node_t *new_node = (node_t *)malloc(sizeof(node_t);new_node-elem = elem;new_node-next = head-

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

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