C语言课程设计宾馆客房管理系统说明书.docx
《C语言课程设计宾馆客房管理系统说明书.docx》由会员分享,可在线阅读,更多相关《C语言课程设计宾馆客房管理系统说明书.docx(13页珍藏版)》请在冰豆网上搜索。
C语言课程设计宾馆客房管理系统说明书
实践教学
*******************
兰州理工大学
计算机与通信学院
2010年春季学期
计算机语言课程设计
题目:
宾馆客房管理系统
专业班级:
姓名:
学号:
指导教师:
成绩:
摘 要
随着信息技术的发展和人们对宾馆客房的要求越来越高,各大宾馆客房传统的手工操已经不能适应当前宾馆客房管理发展的需要,而使用计算机化的管理可以有效提高宾馆客房管理的水平和工作效率。
因此,宾馆客房管理系统软件将会为宾馆客房管理带来极大的方便。
宾馆客房管理系统的主要任务是对宾馆客房住房管理进行计算机化的管理,本系统主要功能包括:
基础信息程序设计、客房前台程序设计、查询统计管理、挂帐管理、系统初始化设计、系统维护。
本系统设计基本合理,功能比较完备,经过测试运行稳定,能够满足工作中的基本需要。
关键字:
客房管理,宾馆客房管理系统
前言
近年来,随着宾馆客房规模的不断扩大,客户也相应的增多,面对着庞大的
信息量,传统的人工方式管理会导致宾馆客房管理上的混乱,人力与物力过多浪
费,宾馆客房管理费用的增加,从而使宾馆客房的负担过重,影响整个宾馆客房
的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的宾馆客房管
理系统,对宾馆客房进行集中统一的管理。
系统开发的总的设计目标是实现客户
管理的系统化、规范化和自动化,实现对宾馆客房的集中统一的管理。
正文
1.问题描述
由于人口的增加,宾馆客房规模的扩大,使得宾馆客房管理工作繁重,而且
手工管理效率极低,急需一个软件系统解决这些问题。
为了跟上时代潮流,规范
管理,提高宾馆客房的管理水平和管理效率,为人们提供方便、快捷、准确的服
务,开发一个“宾馆客房管理系统”。
2.需求分析
1.
本系统通过管理宾馆客房,管理用户从进宾馆客房到离开的整个过程,以供
宾馆客房信息管理。
本系统能够维护用户的客房信息,为客户提供准确的资料,
提高了人员的工作效率。
3.系统总体设计
1.整体结构流程图
这是一个宾馆客房管理系统的总体设计,其中涉及到程序需要用到的各种函数。
首先,进入该系统,进入主菜单函数,会出现各个功能列表,即相关函数。
首先运行
输入函数,若不运行输入函数,则进入下一个模块,进入修改函数,修改相关信息,若不修改,则进入下一个环节-----查询函数,查询信息,否则运行下一个函数-----运算函数。
若要运行删除函数,则退出运算函数,最后可进入统计函数,进行统计。
统计完毕之后,则自动退出系统函数,退出系统。
在运行完每个子函数之后均可返回主菜单函数,再次实现循环运行。
4.详细设计
(1)修改客房信息的流程图
返回头指针退出
(2)查询客房情况流程图
(3)输入客房情况(enter)
(输入客房号)
(可输入相关客房信息)
(输入能住的人数)
设置:
有人(have)
打印(name)
(Sex)
(Time)
(Cost)
无人(null)
输入相关信息后,返回主菜单,或退出系统。
(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)
输出(建议您最好存盘如果存盘输入1
不存输入2)
If(c==1)save();
If(c==2)
输出(谢谢您使用本系统)
Exit(0);-----退出该系统。
。
5.软件使用说明书
这是一套典型的宾馆管理系统,首先单击进入主菜单,系统会自动提示“请选择功能”,并同时出现功能列表,
它们依次是:
“1输入客房情况”
“2修改客房情况”
“3查询客房费用”
“4客户费用”
“5删除指定客房”
“6统计客房情况”
“7退出系统”。
该系统共包括以上这七种功能,若要进行其一,只需选择功能前面的数字,即可进入该功能子菜单。
然后就可以按照系统提示的功能依次进行操作,若操作完毕,即返回主菜单或退出系统。
总结
该系统以宾馆客房管理为背景,涵盖了工作人员对宾馆客房信息管理的多种功能,并且有一定的可行性和安全性,确保了各项指定功能得以运行。
本系统以基本函数、结构体、枚举性、文件以及链表等多方位知识贯穿实现。
通过此次程序设计实践,是同学们对所学知识的综合运用,也是程序设计得以提高的表现。
通过此次编程培养了我们结构化程序设计的思想,加深了对高级语言基本语言要素和控制结构的理解,锻炼我们独立思考制作程序的能力,并且掌握了一些课程设计的相关知识与实践操作能力,为以后的学习提供了锻炼的机会。
经过设计和开发,宾馆客房管理系统基本开发完毕以及各类相关报表的打印。
并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除。
对于数据的一致性的问题也通过程序进行了有效的解决。
从而是我对c语言这门课程有了更好的了解。
但是由于设计时间较短,所以该系统还有许多不尽如人意的地方,比如联机文档比较少,用户界面不够美观,出错处理不够等多方面问题。
这些都有待进一步改善。
参考文献
[1]c++程序设计教程,王连相,中国铁道出版社,2007
[2]C语言程序设计,谭浩强,清华大学出版社,1999
[3]C程序设计题解与上机指导,谭浩强,清华大学出版社,1999
[4]C语言的实际应用,安徽科学技术出版社,2000
[5]C语言函数手册,机械工业出版社,1999
[6]C语言实用程序荟萃,西安电子科技大学出版社,1993
致谢
在编写程序的过程中,我们得到了周小健老师的精心指导以及孜孜不倦的教诲,在老师的指导下,我们的能力得到了提高,同时养成了科学、严谨的作风和习惯,在此,我们对老师的精心栽培表示衷心的感谢!
感谢我们小组同学对我的帮助和指点,尤其感谢我的舍友在非常时期,在生活和学习上帮我许多忙。
在课设即将完成之际,我的心情无法平静,从开始进入课题到课设的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意。
附件Ⅰ部分原程序代码
#defineNULL0
#defineLENsizeof(structcustomer)
#include"string.h"
structcustomer
{
intnum;
charname[20];
longdate;
structcustomer*next;
}cus;
structcustomer*creat(void)/*建立一个链表*/
{
structcustomer*head,*p1,*p2;
intn=0;
p1=(structcustomer*)malloc(LEN);
p2=(structcustomer*)malloc(LEN);
printf("请输入客户的信息:
\n");
printf("\n房间:
");
scanf("%d",&p1->num);
printf("\n");
printf("姓名:
");
scanf("%s",p1->name);
printf("\n");
printf("入住时间:
");
scanf("%ld",&p1->date);
printf("\n");
head=NULL;
while(p1->num!
=0)
{
n++;
if(n==1)
head=p1;
else
p2->next=p1;
p2=p1;
p1=(structcustomer*)malloc(LEN);
printf("请输入客户的信息:
\n");
printf("\n房间:
");
scanf("%d",&p1->num);
printf("\n");
printf("姓名:
");
scanf("%s",p1->name);
printf("\n");
printf("入住时间:
");
scanf("%ld",&p1->date);
printf("\n");
}
p2->next=NULL;
return(head);
}
structcustomer*insert(structcustomer*head,structcustomer*consumer)/*登记新入住的客户的信息*/
{
structcustomer*p1,*p2;
p1=head;
p2=consumer;
if(p1->next!
=NULL)
p1=p1->next;
if(p1->next==NULL)
{
p1->next=p2;
p2->next=NULL;
}
return(head);
}
structcustomer*del(structcustomer*head,intnum)/*显示退房客户的信息*/
{
structcustomer*p1,*p2;
if(head==NULL)
{
printf("没有客户的信息\n");
return(head);
}
p1=head;
while(num!
=p1->num&&p1->next!
=NULL)
{
p2=p1;p1=p1->next;
}
if(num==p1->num)
{
if(p1==head)
head=p1->next;
else
p2->next=p1->next;
printf("退房客户的信息:
\n");
printf("客房:
%d\n",&p1->num);
printf("姓名:
%s\n",p1->name);
printf("入住时间:
%ld\n",&p1->date);
}
else
printf("没有该客户的信息\n");
return(head);
}
structcustomer*search(structcustomer*head,charc_name[])/*查询客户信息*/
{
structcustomer*p;
p=head;
while(strcmp(p->name,c_name)&&p->next!
=NULL)
p=p->next;
if(p->name==c_name)
{
printf("该客户的信息为:
\n");
printf("房