C语言课程设计-酒店客房管理系统说明书
更新时间:2023-04-29 03:34:01 阅读量: 实用文档 文档下载
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2010年春季学期
计算机语言课程设计
题目:宾馆客房管理系统
专业班级:
姓名:
学号:
指导教师:
成绩:
目录
摘要.................................................. 错误!未定义书签。前言.................................................. 错误!未定义书签。正文.................................................. 错误!未定义书签。
1. 问题描述....................................... 错误!未定义书签。
2. 需求分析....................................... 错误!未定义书签。
3. 系统总体设计............................... 错误!未定义书签。
4. 详细设计....................................... 错误!未定义书签。
5. 系统测试....................................... 错误!未定义书签。
6. 软件使用说明书........................... 错误!未定义书签。总结.................................................. 错误!未定义书签。参考文献.............................................. 错误!未定义书签。致谢.................................................. 错误!未定义书签。附件Ⅰ部分原程序代码 ................... 错误!未定义书签。
摘要
宾馆客房管理系统是以客房管理业务为背景,设计开发的一套软件。该程序主要实现对宾馆的业务流程进行管理,具有浏览,增加和删除功能,方便管理。同时实现把保存在文件中的数据读出,依次存放在一个列表中,再被列表行行操作来实现相应的功能。在用户退出时再把列表中的内容保存回文本文件中。
同时,这一套系统也是应该数据库原理,在数据结构管理的基础上,应用C语言创编的源程序。其调用函数共分七个大的模块。在编制好程序之后,要对程序进行相应的调试,并且进行测试,以验证程序的正确性与可用性。调试及测试时,通过相关信息,充分验证程序的可用性。本程序通篇均用C语言写成,具有很高的严密性,测试应用宾馆实例,具有很高的真实性与可靠性,这一点也充分验证了C语言在现代社会当中的实用性及普遍性。
关键词:源程序代码;宾馆客房管理系统;链表。
1
前言
在竞争激烈的现代市场中,随处都可用到系统,程序。可见,一套完整的系统对人们的生活显得尤为重要。当然,这些最主要的还是应用于与人们息息相关的宾馆等住宿情况当中。尤其是暑假即将来临之际,人们出行的机率在日益升高。为此,设计一套完整的宾馆客房管理系统对实现宾馆的系统管理显得尤为重要。
随着我国经济的迅速发展,人们的生活水平有了显著提高,假日经济和旅游经济已成为人们消费的热点。各地也把旅游业当作本地经济发展的重要支柱之一,从而促进了宾馆酒店业的快速发展。同时,随着宾馆酒店越来越多,人们的要求越来越高,宾馆酒店业的竞争也愈来愈激烈。如何在激烈的竞争中生存发展,是每一个宾馆酒店必须面临的问题。对宾馆的经营状况起决定作用的是宾馆的服务管理水平。如何利用先进的管理手段,提高宾馆的管理水平,已成为宾馆酒店业发展的当务之急。面对信息时代的机遇和挑战,利用科技手段提高企业管理无疑是一条行之有效的途径。虽然计算机管理并不是宾馆管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对宾馆的服务管理提供强有力的支持。因此,采用全新的计算机网络和宾馆管理系统,已成为提高宾馆的管理效率、改善服务水准的重要手段之一。在某种意义上,宾馆客房管理方面的信息化已成为现代化宾馆的重要标志。
2
正文
1问题描述
随着改革开放步伐的加快,我国服务业取得了巨大的发展。而宾馆是我国的改革开放过的程中起步最早的、开拓发展最快、收效最为明显、市场化程度高的服务行业之一。据统计,宾馆业目前网点总量已达300万家以上,宾馆数量的迅猛增长,是宾馆必须面临的问题。对宾馆的经营状况起决定作用的是宾馆的服务管理水平。如何得用先进的管理手段,提高宾馆的管理水平,已成为宾馆行业的当务之急。面对信息时代的机遇和挑战,得用科技手段提高企业管理无疑是一条行之有效的途径。虽然计算机管理并不是宾馆管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对宾馆的服务管理提供有力的支持。因此,采用全新的计算机网络和宾馆管理系统,已成为提高宾馆管理效率、改善服务水准的重要手段之一。
2需求分析
针对某宾馆的位置、面积、职工人数、宾馆所设有的标间、双人间、套间等,间数、床位数、同时能接待的人数,宾馆里所拥有的设备,如电话、电梯、空调、现代消防设施、大小餐厅、停车场、会议室,同时提供的代购火车票,飞机票,汽车票等各种辅助服务项目。对该宾馆在发展过程中意识到要想在竞争中取得优势,必须首先提高经营管理,而提高经营管理最重要的保证就是信息技术。宾馆应审时度势,针对宾馆内部管理需求和宾馆酒店业的发展前景,决定首先在客房管理上采用计算机技术。客房管理系统主要实现客房的租借管理等,将客户信息和情况统一归入到数据库,可以实现客房的有效监控,为租借管理提供方便的管理窗口,同时有利于寻找客户或者协助治安管理。
所以,据该宾馆的具体情况,研制开发了"宾馆客房管理系统",系统的主要功能设计有:
(1)基础信息程序设计:客房信息类别、员工信息设计、挂账单位信息。
3
(2)客房前台程序设计:客房预定、住宿登记、宿费提醒、退宿结账。
(3)查询统计管理设计:客房查询、房态查询、预定房查询、住宿查询、退宿查询、
(4)挂账管理:挂账查询、客人结款、
(5)系统初始设计:本单位定义、业务部门定义.
更具体来说管理系统分两大块:数据库的后台管理和前台客房住宿情况的管理
后台管理包括以下部分:
客房信息的输入:包括客房的大小级别、房间设备、预设租金等信息。
3系统总体设计
4
这是一个宾馆客房管理系统的总体设计,其中涉及到程序需要用到的各种函数。
首先,进入该系统,进入主菜单函数,会出现各个功能列表,即相关函数。首先运行输入函数,若不运行输入函数,则进入下一个模块,进入修改函数,修改相关信息,若不修改,则进入下一个环节-----查询函数,查询信息,否则运行下一个函数-----运算函数。若要运行删除函数,则退出运算函数,最后可进入统计函数,进行统计。统计完毕之后,则自动退出系统函数,退出系统。
在运行完每个子函数之后均可返回主菜单函数,再次实现循环运行。
4详细设计
(1)修改客房信息的流程图
5
(2)查询客房情况流程图
(3)输入客房情况(enter)
(输入客房号)
(可输入相关客房信息)
(输入能住的人数)
设置:有人(have)
打印(name)
(Sex)
(Time)
(Cost)
无人(null)
输入相关信息后,返回主菜单,或退出系统。
6
(4)客房费用(cost)
输出(请输入客房号码)
If(!(info=find(nember)))
Printf(“\t没找到\n”);
找到相关客房,则
Printf(“\t如果退房时间在12:00后按一天时间计算\n”);退主菜单,或退出系统。
(5)删除指定客房
输出(请输入指定客房号码)
Scanf(“%s”,&number);
Info=find(number);
if(start==info),
start->prior=0;
否则
删除指定客房
(6)统计客房情况(tongji)
输出(统计未住客房号码输入1
已住客房号码输入2)
Scanf(“%d”,&c);
如果给c的初始值赋为1,则运行info=start;
输出(客房号码)
Count++;
Info=info->next;
输出(共有未住客房%d个)
继续运行,并输出(共有已住客房%d个)
(7)退出系统(tuichu)
7
输出(建议您最好存盘如果存盘输入1
不存输入2)
If(c==1)save();
If(c==2)
输出(谢谢您使用本系统)
Exit(0);-----退出该系统。
。5软件测试
6软件使用说明书
这是一套典型的宾馆管理系统,首先单击进入主菜单,系统会自动提示“请选择功能”,并同时出现功能列表,
它们依次是:
“1 输入客房情况”
“2修改客房情况”
“3 查询客房费用”
“4 客户费用”
“5 删除指定客房”
“6 统计客房情况”
“7 退出系统”。
该系统共包括以上这七种功能,若要进行其一,只需选择功能前面的数字,即可进入该功能子菜单。然后就可以按照系统提示的功能依次进行操作,若操作完毕,即返回主菜单或退出系统。
8
总结
通过对“宾馆客房管理系统“的程序设计,我更深刻地了解了软件开发的重要性,同时,我解决实际问题的能力也得到了提高。
我所设计的宾馆客房管理系统是以宾馆客房管理业务为背景的,通过调研和分析现有的宾馆管理模式和已有的管理软件,我建立了一套完整的系统模型。先从整体框架入手,编写一份结构模型,从而绘制一份完整的程序流程图,再根据流程图确定要调用的函数及总体数据结构,完成系统的程序编写,编写出宾馆客房管理程序。最后进行程序调试并进行测试工作,经测试,充分验证了该程序的正确性。
上一周刚开始设计程序时,我还是没有一丝头绪,甚至不知道该做些什么,但经过一周的努力,我找到了自己的设计方向,凭着自己所学的知识和自己所了解的东西,在老师的悉心指导下,完成各项任务。虽然有许多时候感到困难重重,甚至没有信心,但自己的付出也总算有了回报。我相信,我的努力会得到老师的承认和大家的认同,并且我也会以此为基础,更深入地学好这门课程。
通过这次做课程设计,我学到了许多以前没有学到的东西,认识了许多自己以前没有认识到的问题。通过这段时间的学习,我更深刻地感受到设计程序是我们的一门必修课。
9
参考文献
[1] 王萍.面向对象程序设计. 北京:清华大学出版社,2002.9
[2] 徐孝凯.面向对象程序设计实验.北京:中央广播电视大学出版社,2003.8
[3] 邵维忠.杨芙清. 面向对象的系统分析. 北京:清华大学出版社,1998.8
[4] 郑人杰.殷人昆等. 实用软件工程. 北京:清华大学出版社,1997.4
[5] 谭浩强. C程序设计(第二版). 北京:清华大学出版社,1999.6
[6] 谭浩强. C语言程序设计教程(第二版). 北京:高等教育出版社,1997 .9
[7] 杨路明. C/C++程序设计教程. 湖南:湖南科技出版社,2001.5
[8] 赵建强. 机床挂轮计算程序. 机械与电子,1994.4
[9] 赵建强. 利用微机计算棉纤维长度指标. 纤维标准与检验,1994.4
[10] 赵建强. 利用微机计算梳片法长度指标. 苎麻纺织科技,1994..7
10
致谢
通过这一段时间的学习﹑分析,并同老师的交流,锻炼了我分析问题的能力,同时培养了我解决实际问题的能力。如果没有老师的耐心讲解,我不会认识到自已的不足;如果没有老师的热心提示,我不会发现自已的问题所在;如果没有教师的热情帮助,我不会顺利地完成学习任务。为此,我衷心地感谢老师在这一段时间的悉心指导,同时谢谢老师这段时间的付出与努力,使我对这门课充满了浓厚的兴趣,我更应该感谢学校给我们提供了这样的条件和机会,使我对C语言这门课有了更深的认识,为此,我真诚地道一声:谢谢你们!
11
附件Ⅰ部分原程序代码
#include"stdio.h"
#include"stdlib.h"
struct home
{char roomNO[20];
char name[20];
char sex[10];
char person[10];
char time[10];
char contain[10];
char money[10];
struct home *next;
struct home *prior;
}list_entry;
struct home *start;
struct home *last;
void search1();
main()
{
int b;
struct home *info;
start=0;
for(;;){
switch(menu_select()){
case 1:enter();break;
case 2:alter();break;
case 3:search();break;
case 4:cost();break;
case 5:delete();break;
case 6:tongji();break;
case 7:tuichu();
}
}
}
menu_select()
{
int c;
printf("\t\t=========================================================\n");
12
printf("\t\t=========================================================\n"); printf("\t\t==== 宾馆客房管理系统 ====\n"); printf("\t\t==== 请选择功能 ====\n"); printf("\t\t==== 1 输入客房情况 ====\n"); printf("\t\t==== 2 修改客房情况 ====\n"); printf("\t\t==== 3 查询客房情况 ====\n"); printf("\t\t==== 4 客房费用 ====\n"); printf("\t\t==== 5 删除指定客房 ====\n"); printf("\t\t==== 6 统计客房情况 ====\n"); printf("\t\t==== 7 退出系统 ====\n"); printf("\t\t=========================================================\n"); printf("\t\t=========================================================\n"); do{
printf(" 请按数字选择\n");
scanf("%d",&c);getchar();
}while(c<0||c>10);
return c;
}
enter()
{struct home *info,*dls_store(); char s[10]; char a[10]="have";
for(;;)
{
info=malloc(sizeof(list_entry));
if(info==0)
{printf(" 内存已用完\n");
return;
}
inputs(" \t客房号码 \n",info->nember,10);
if(!info->nember[0]) break;
inputs(" \t能住的人数\n",info->contain,10);
inputs(" \t有人输入have无人输入null\n",info->person,10);
if(!strcmp(a,info->person)){
inputs("\t姓名:\n",info->name,10);
inputs("\t姓别:\n",info->sex,10);
inputs("\t住入时间:\n",info->time,10);
}
inputs(" \t有人时输入时间无人输入\n",info->time,10);
inputs(" \t输入客房费用\n",info->money,10);
start=dls_store(info,start);
}
}
inputs(prompt,s,count)
char *prompt;
char *s;
13
int count;
{
char p[255];
do{
printf(prompt);
gets(p);
if(strlen(p)>count)
printf(" 太长啦\n ");
}while(strlen(p)>count);
strcpy(s,p);
}
struct home *dls_store(i,top)
struct home *i,*top;
{
static struct home *last=0;
struct home *old,*p;
if(last==0){
i->next=0;
i->prior=0;
last=i;
return i;
}
p=top;
old=0;
while(p){
if(strcmp(p->nember,i->nember)<0){
old=p;
p=p->next;
}
else{
if(p->prior){
p->prior->next=i;
i->next=p;
p->prior=i;
return top;
}
i->next=p;
i->prior=0;
p->prior=i;
return i;
}
}
old->next=i;
14
i->next=0;
i->prior=old;
last=i;
return start;
}
alter()
{
struct home *info,*find();
char roomNO[20]; char a[10]="have"; char c[10]="null"; int b;
printf(" \t如想查看客房情况输入1\n");
printf(" \t想修改输入2\n");
printf(" \t不想修改输入3\n");
scanf("%d",&b);
if(b==1)search();
if(b==2){
printf(" \t请输入要客房号码\n");
scanf("%s",nember);getchar();
if(!(info=find(nember)))printf("\t没找到\n");
else
{
display(info);printf("\t下面是修改项目\n");
if(!strcmp(a,info->person))
inputs("\t请输入null:\n",info->person,10);
if(!strcmp(c,info->person)){
inputs("\t请输入名字\n",info->name,10);
inputs("\t请输入性别\n",info->sex,10);
inputs("\t请输入时间\n",info->time,10);
}
}
}
if(b==3) return;
}
struct home *find(nember)
char *nember;
{ struct home *info;
info=start;
while(info){
if(!strcmp(nember,info->nember)) return info;
info=info->next;
}
printf(" \t没找到\n");
return (NULL);
15
}
display(info)
struct home *info;
{ char a[10]="have";
printf("\t客房号码: %s\n",info->nember);
printf("\t能住人数: %s\n",info->contain);
printf("\t无人住时显示null有人住时显示have:%s\n",info->person); if(!strcmp(a,info->person)){
printf("\t名字%s\n",info->name);
printf("\t性别%s\n",info->sex);
printf("\t时间%s\n",info->time);}
printf("\t客房每天费用: %s\n",info->money);
printf("\n");
}
search()
{
int b;
printf(" \t查询只定客房输入1\n");
printf(" \t查询已住客房输入2\n");
printf(" \t查询未住客房输入3\n");
printf(" \t返回主菜单请输入4\n");
do{
scanf("%d",&b);
switch(b){
case 1: search1();break;
case 2: search2();break;
case 3: search3();break;
case 4: return;
}
}while(b<1||b>5);
}
void search1()
{ char nember[10];
struct home *info,*find();
printf(" \t输入房号码\n");
scanf("%s",nember); getchar();
if(!(info=find(nember))) printf(" \t没找到\n");
else display(info);
}
16
search2()
{struct home *info;
char a[10]="have";
info=start;
while(info){
if(!strcmp(info->person,a))
display(info);
printf("\n");
info=info->next;
}
}
search3()
{struct home *info;
char b[10]="null";
info=start;
while(info){
if(!strcmp(b,info->person))
display(info);
printf(" \n ");
info=info->next;
}
}
save()
{
register int t,size;
struct home *info;
char *p;
FILE *fp;
if((fp=fopen("mlist","wb"))==0){
printf(" \t文件打不开\n");
17
exit(0);
}
printf("\t 正存入内存\n");
size=sizeof(list_entry);
info=start;
while(info){
p=(char*)info;
for(t=0;t putc(*p++,fp); info=info->next; } putc(EOF,fp); fclose(fp); printf("\t已存完\n"); } cost() { char nember[10]; struct home *info; printf(" \t请输入客房号码\n"); gets(nember); if(!(info=find(nember)))printf("\t没找到\n"); else{ display(info); printf(" \t如果退房时间在12:00后按一天时间计算\n"); } } delete() {struct home *info,*find(); char nember[10]; printf(" \t请输入指定客房号码\n"); 18 scanf("%s",&nember); info=find(nember); if(info){ if(start==info){ start=info->next; if(start) start->prior=0;} else last=0; } else { info->prior->next=info->next; if(info!=last) info->next->prior=info->prior; else last=info->prior; } free(info); } tuichu() { int c; printf("\t建议您最好存盘如果存盘输入1不存输入2\n"); scanf("%d",&c); if(c==1) save(); if(c==2){ printf("\t谢谢您使用本系统:\n"); exit(0); 19
正在阅读:
C语言课程设计-酒店客房管理系统说明书04-29
秋天的植物园作文400字06-20
2019届高中化学第一轮复习配餐作业18化学反应的热效应10-30
数控车工_中级理论试题205-30
精选部编人教版小学语文一年级下册:2.我多想去看看-精品资料06-23
古建筑修缮工程施工合同doc1103-09
06394投资经济学课后习题及答案第二版刘晓君主编(已调整).doc05-20
商业报道:新型浏览器威胁网络广告模式02-16
神经外科专科文献 神经外科医学论文10-22
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 客房
- 说明书
- 语言
- 课程
- 酒店
- 设计
- 系统
- 管理
- 1、【最新】数学中考压轴题大全(含答案、详细解析版)
- 我国功能沙发行业市场规模及竞争格局分析,行业渗透率不断提升「图」
- 江苏省苏、锡、常、镇四市2011届高三调研测试(一)(化学)
- 我的中国梦演讲稿200字范例
- 2013年驾照考试科目一模拟试题
- 闭环纠正措施CLCA(Close Loop Corrective Action)
- 微计算机原理(第2版)第四章课后习题答案 潘名莲 马争 丁庆生 编著讲解
- 2020年上海市浦东新区中考二模物理试卷(含答案有解析)
- 2016北京电影学院导演系电影学考博初试科目及参考书辅导(附导师简介)
- 2020律师事务所实习日记8篇
- 2020年一级建造师考试真题及答案解析《专业工程管理与实务(建筑工程)》
- 阅读材料中英文对照35篇(2016)
- 【初中地理】 东半球其他的国家和地区复习题(附答案)
- 出院记录及出院前病程记录的书写要求
- 上海复旦初级中学人教部编版八年级上学期 期末生物试题
- 当前国内网络店铺经营现状分析研究及未来发展趋势
- 初三化学中考复习 复分解反应 专题复习训练题 含答案
- 寿险公司经营与管理二版说明
- 2013版用于立项固态及半固态食品无菌包装设备项目可行性研究报告(甲级资质)审查要求及编制方案
- 度米作文汇编之高一写人作文我的成长故事——由《红铅笔》说起1000字