宾馆管理系统.docx
- 文档编号:3758473
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:32
- 大小:294.70KB
宾馆管理系统.docx
《宾馆管理系统.docx》由会员分享,可在线阅读,更多相关《宾馆管理系统.docx(32页珍藏版)》请在冰豆网上搜索。
宾馆管理系统
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2013年春季学期
C程序设计课程设计
题目:
宾馆客房管理系统
专业班级:
计算机
(1)班
姓:
刘飞
学号:
12240105
指导教师:
王连相
成绩:
前言
近年来,随着宾馆客房规模的不断扩大,客户也相应的增多,面对着庞大的
信息量,传统的人工方式管理会导致宾馆客房管理上的混乱,人力与物力过多浪
费,宾馆客房管理费用的增加,从而使宾馆客房的负担过重,影响整个宾馆客房
的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的宾馆客房管
理系统,对宾馆客房进行集中统一的管理。
系统开发的总的设计目标是实现客户
管理的系统化、规范化和自动化,实现对宾馆客房的集中统一的管理。
目录
前言---------------------------------------------------------------------------------------1
摘要---------------------------------------------------------------------------------------------------------3
1.需求分析--------------------------------------------------------------------------------------------4
1.1问题描述
1.2系统功能
1.3编程环境
2.总体设计--------------------------------------------------------------------------------------------4
2.1编程总体模块
2.2系统功能描述
3.详细设计--------------------------------------------------------------------------------------------5
3.1主函数
3.2各功能模块设计
3.3公共函数
4.运行结果(附带抓图)--------------------------------------------------------------------------9
5.心得体会-------------------------------------------------------------------------------------------13
参考文献---------------------------------------------------------------------------------------------------13
致谢------------------------------------------------------------------------------------------------------------------------14
附录-------------------------------------------------------------------------------------------------------------------------14
宾馆管理系统
摘要
建立一个“宾馆客房管理系统”系统以菜单方式工作,编写存放宾馆客房信息,包括顾客信息,客房信息,入住信息,服务信息等,并且可以对这些信息进行浏览,删除与修改;可以按房间编号或客户姓名或入住时间进行查询,建立存放客房信息、顾客信息和入住信息的文件,客房信息包括房间编号,房间等级,价格,是否空闲等;顾客信息包括姓名,性别等;入住信息包括顾客姓名,入住时间,退房时间等;并且可以对以上信息进行浏览。
关键词:
宾馆客房管理,信息浏览,查询,信息修改。
1.需求分析
1.1问题描述
该设计要求学生以宾馆客房管理业务为背景,设计、开发一套“宾馆客房管理系统”软件。
通过该题目的设计过程,可以培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,针对c语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。
得到软件工程的综合训练,提高解决实际问题的能力。
1.2系统功能
本系统通过管理宾馆客房,顾客从订房和退房的整个过程,以供宾馆客房管理,本系统可以维护顾客订房、退房、查询,为宾馆工作人员提供准确资料,提高工作人员的工作效率。
1.3编程环境与工具计
编程语言采用C语言,环境VisualC++。
2.总体设计
2.1程序总体模块(如图一所示)
2.2系统各功能描述
订房模块:
选择所定房间等级和预定天数,并且计算应缴押金。
入住模块:
对顾客信息进行登记,选择房间,进行费用计算。
退房模块:
输入顾客信息及房号,进行费用结算。
查询模块:
两种查询方式,第一种通过输入房间信息进行查询,第二种通过输入顾客信息进行查询,可以通过输入顾客的身份证号或者姓名进行查询。
3.详细设计及编码(流程图如图二所示)
3.1主函数
intmain(void)//程序入口从这里开始运行
{
charchoice='1';
initial_room();//初始化房间的信息,分四个等级
welcome();//验证用户登陆,登陆成功显示欢迎信息
while(choice=='1')
{
enter();//根据用户的选择执行不同的功能
printf("\n");
printf("继续使用本系统请按\"1\",退出请按\"2\"!
");
fflush(stdin);
scanf("%c",&choice);
printf("\n");
}
3.2各功能模块设计
系统入口****************************************************************
voidenter()
{
intkind_of_service;
printf("请选择服务类别:
订房、入住、退房还是查询?
\n");
printf("1->定房2->入住3->退房4->查询:
");
scanf("%d",&kind_of_service);
if((kind_of_service>4)||(kind_of_service<1))
{
printf("您的输入有误,请重试!
\n");
scanf("%d",&kind_of_service);
}
else
{
switch(kind_of_service)
{
case1:
book_room();
break;
case2:
check_in();
break;
case3:
check_out();
break;
case4:
inquire();
break;
}
}
}
订房实现***********************************************************************
voidbook_room()
{
introom_standard,day;
customer[i]=(structCustomer*)malloc(sizeof(structCustomer));
CCustomer(customer[i]);
printf("请您选择预定房间的标准:
\n")
入住登记************************************************************************
voidcheck_in()
{
charname1[10],id1[19];
intding_or_no,prepaid;
intj;
printf("该顾客订房了吗?
(1->订了2->没订)");
scanf("%d",&ding_or_no);
if(ding_or_no==1)
{
printf("请输入顾客的姓名:
\n");
scanf("%s",&name1);
printf("请输入顾客的身份证号码:
\n");
scanf("%s",&id1);
for(j=0;j
{
if((strcmp(get_name(customer[j]),name1)==0)&&(strcmp(get_ID(customer[j]),id1)==0))//查找该顾客的定房信息
{
intnum=get_room_number(customer[j]);//取得定房的房间号
printf("顾客%s今天入住本宾馆!
房间号码为:
%d\n",name1,num)
退房结算***********************************************************************
voidcheck_out()
{
charname2[10],id2[19];
intstandard,j,room_number,day1,day2,day;
printf("请输入要退房的顾客姓名和身份证号码:
\n");
scanf("%s%s",&name2,&id2);
printf("请输入该顾客实住天数:
\n");
信息查询************************************************************************
voidinquire()
{
charinquire_choice;
printf("房间信息查询请按1,顾客信息查询请按2:
");
3.3公共函数
voidset_name(structCustomer*cs,char*n)
{
strcpy(cs->name,n);
}
voidset_ID(structCustomer*cs,char*p)
{
strcpy(cs->ID,p);
}
voidset_room_number(structCustomer*cs,intn)
{
cs->room_number=n;
}
voidset_day(structCustomer*cs,intd)
{
cs->day=d;
}
voidset_prepaid(structCustomer*cs,intp)
{
cs->prepaid=p;
}
char*get_name(structCustomer*cs)
{
returncs->name;
}
char*get_ID(structCustomer*cs)
{
returncs->ID;
}
intget_room_number(structCustomer*cs)
{
returncs->room_number;
}
intget_day(structCustomer*cs)
{
returncs->day;
}
intget_prepaid(structCustomer*cs)
{
returncs->prepaid;
4运行结果(附带抓图)
1验证用户登陆,登陆成功显示欢迎信息输出,进入初始化
输出结果:
2订房的实现:
执行结果如下:
3入住的实现
4信息查询:
A房间信息查询
房间信息查询结果:
B按顾客信息查询:
查询结果:
姓名:
身份证:
5心得体会
通过对“宾馆客房管理系统“的程序设计,通过对“宾馆客房管理系统“的程序设计,我更深刻地了解了软件开发的重要性,同时,我解决实际问题的能力也得到了提高。
件开发的重要性,同时,我解决实际问题的能力也得到了提高。
我所设计的宾馆客房管理系统是以宾馆客房管理业务为背景的,通过调研和分析现有的宾馆管理模式和已有的管理软件,我建立了一套完整的系统模型。
先从整体框架入手,编写一份结构模型,从而绘制一份完整的程序流程图,再根据流程图确定要调用的函数及总体数据结构,完成系统的程序编写,编写出宾馆客房管理程序。
最后进行程序调试并进行测试工作,经测试,充分验证了该程序的正确性。
上一周刚开始设计程序时,我还是没有一丝头绪,甚至不知道该做些什么,但经过一周的努力,我找到了自己的设计方向,凭着自己努力所学的知识和自己所了解的东西,在老师的悉心指导下,完成各项任务。
虽然有许多时候感到困难重重,甚至没有信心,但自己的付出也总算有了回报。
我相信,我的努力会得到老师的承认和大家的认同,并且我也会以此为基础,更深入地学好这门课程。
并且我也会以此为基础,更深入地学好这门课程。
通过这次做课程设计,我学到了许多以前没有学到的东西,认识了许多自己以前没有认识到的问题。
通过这段时间的学习,我更深刻地感受到设计程序是我们的一门必修课。
参考文献
1C/C++程序设计,王连相等,中国科学技术出版社,2004
2C语言程序设计,谭浩强,清华大学出版社,1999
3C程序设计题解与上机指导,谭浩强,清华大学出版社,1999
4C语言实用程序荟萃,西安电子科技大学出版社,1993
5C语言函数手册,机械工业出版社,1999
6C语言的实际应用,安徽科学技术出版社,2000
致谢
在编写程序的过程中,我们得到了王连相老师的精心指导以及孜孜不倦的教诲,在老师的指导下,我们的能力得到了提高,同时养成了科学、严谨的作风和习惯,在此,我们对老师的精心栽培表示衷心的感谢!
感谢我们小组同学对我的帮助和指点。
附录:
源程序:
#include
#include
#include
voidinitial_room();//构造房间//
voidwelcome();
voidenter();
voidbook_room();
voidcheck_in();
voidcheck_out();
voidinquire();
voidquit();
inti=0;
structRoom
{
intnumber;
intdank;
intprice;
intstate;
};
structCustomer
{
charname[10],ID[19];
introom_number;
intprepaid;
intchange;
intday;
};
voidset_name(structCustomer*cs,char*n)
{
strcpy(cs->name,n);
}
voidset_ID(structCustomer*cs,char*p)
{
strcpy(cs->ID,p);
}
voidset_room_number(structCustomer*cs,intn)
{
cs->room_number=n;
}
voidset_day(structCustomer*cs,intd)
{
cs->day=d;
}
voidset_prepaid(structCustomer*cs,intp)
{
cs->prepaid=p;
}
char*get_name(structCustomer*cs)
{
returncs->name;
}
char*get_ID(structCustomer*cs)
{
returncs->ID;
}
intget_room_number(structCustomer*cs)
{
returncs->room_number;
}
intget_day(structCustomer*cs)
{
returncs->day;
}
intget_prepaid(structCustomer*cs)
{
returncs->prepaid;
}
structRoomroom[80];
structCustomer*customer[80];
voidCCustomer(structCustomer*cs)
{
printf("请您输入顾客的姓名\n");
scanf("%s",&cs->name);
printf("请您输入顾客的身份证号码\n");
scanf("%s",&cs->ID);
cs->prepaid=cs->change=cs->day=0;
}
voidFCustomer()
{
printf("该顾客退房成功!
");
}
intmain(void)
{
charchoice='1';
initial_room();
welcome();
while(choice=='1')
{
enter();
printf("\n");
printf("继续使用本系统请按\"1\",退出请按\"2\"!
");
fflush(stdin);
scanf("%c",&choice);
printf("\n");
}
return0;
}
voidwelcome()
{
inti=0,k=0;
charusername[15],pwd[6];
printf("\n\n");
printf("\t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t┃**********************************************************┃\n");
printf("\t┃***┏━━━━━━━━━━━━━━━━━━━━━━━━┓***┃\n");
printf("\t┃***┃************************************************┃***┃\n");
printf("\t┃***┃*******┃***┃\n");
printf("\t┃***┃***欢迎使用宾馆客房管理系统****┃***┃\n");
printf("\t┃***┃*******┃***┃\n");
printf("\t┃***┃*******┃***┃\n");
printf("\t┃***┃************┃***┃\n");
printf("\t┃***┃*******┃***┃\n");
printf("\t┃***┃***2013.07.05****┃***┃\n");
printf("\t┃***┃*******┃***┃\n");
printf("\t┃***┃************************************************┃***┃\n");
printf("\t┃***┗━━━━━━━━━━━━━━━━━━━━━━━━┛***┃\n");
printf("\t┃**********************************************************┃\n");
printf("\t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
for(i=0;i<3;i++)
{
printf("\n请输入用户名:
");
gets(username);
printf("\n请输入6位密码:
");
gets(pwd);
if((strcmp(username,"123")==0)&&(strcmp(pwd,"123456")==0))
{
printf("\n您已经成功登录");
k=1;
for(i=0;i<20;i++)
printf(".");
system("cls");//清屏//
enter();
break;
}
else
printf("\n用户名或密码无效请重新输入:
\n");
continue;
}
if(k==0)
printf("\n连续输入错误3次将退出程序\n");
}
voidenter()
{
intkind_of_service;
printf("请选择服务类别:
订房、入住、退房还是查询?
\n");
printf("1->订房2->入住3->退房4->查询:
");
scanf("%d",&kind_of_service);
if((kind_of_service>4)||(kind_of_service<1))
{
printf("您的输入有误,请重试!
\n");
scanf("%d",&kind_of_service);
}
else
{
switch(kind_of_service)
{
case1:
book_room();
break;
case2:
check_in();
break;
case3:
check_out();
break;
case4:
inquire();
break;
}
}
}
voidbook_room()
{
introom_standard,day;
customer[i]=(structCustomer*)malloc(sizeof(structCustomer));
CCustomer(customer[i]);
printf("请您选择预定房间的标准:
\n");
printf("1.单人间/天60元\n2.双人间/天100元\n3.标准间/天120元\n4.高级套房/天200元\n");
scanf("%d",&room_standard);
printf("请输入预定天数\n");
scanf("%d",&day);
set_day(customer[i],day);
switch(room_standard)
{
intn;
case1:
printf("住房费用总共为:
%d元\n",day*60);
for(n=0;n<20;n++)
{
if(room[n].state==0)
{
printf("预定成功★房间号码为:
%d\n",room[n].number);
ro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 宾馆 管理 系统