客房管理系统C语言Word格式文档下载.docx
- 文档编号:17378487
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:22
- 大小:22.58KB
客房管理系统C语言Word格式文档下载.docx
《客房管理系统C语言Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《客房管理系统C语言Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
客户信息管理系
数据输入数据统计数据查询数据修改数据删除
四、模块说明:
一个较大的C语言程序不外乎由多个函数组成,本程序也并不例外。
现就本程序中涉及的各个函数的代码和功能分别进行说明。
1、主函数部分:
程序:
voidmain()/**主函数**/
{
intn,w;
menu();
do
{
printf(\\tPleasechoiceyounumber(1-5));
scanf(%d,&
n);
if(n<
1||n>
5)
w=1,getchar();
elsew=0;
}while(w==1);
switch(n)
case1:
regist();
break;
case2:
stati();
case3:
search();
case4:
modify();
case5:
exit(0);
}
}
voidmenu()/**菜单函数**/
************\n);
客房管理系统{printf(\\t\t************
puts(\
\t\t\t
(1).登记\n);
puts(\\t\t
(2).统计\n);
puts(\\t\t(3).查询\n);
puts(\\t\t(4).修改\n);
puts(\\t\t(5).退出\n);
\t***********************************************************\n);
voidreturn_confirm(void)
printf(\
按任意键返回……\n);
getchar();
#includestdio.h
#includestring.h//在使用中要用到的字符串都包含在本文件中
#includestdlib.h
#includemath.h
#defineNUM50
structClient
charName[20];
intSex;
//famale0,male1;
intAge;
charID_card[20];
/*居民身份证*/
intyear;
intmonth;
intdate;
/*住店时间*/
};
structHotel
charRoom_ID[10];
/*房间号*/
charTel[10];
intPrice;
/*住房单价*/
intSign;
structClientClient_list;
/*实现两个结构体的嵌套*/
}Room[NUM];
注:
menu函数能提供菜单方式选择功能,可以根据用户需要进入到所想要的操作模块中,此外把menu函数独立出来,可以方便随时对它进行调用,容易返回到系统界面。
并用结构体来存放客户信息。
2、各功能模块函数部分:
(1)输入模块:
对信息进行输入][需求分析程序:
voidregist()/**登记函数**/
voidprintf_one(inti);
voidsave(intn);
voidprintf_back();
intload();
voidprintf_face();
inti,n,c;
n=load();
for(i=0;
i<
n;
i++)
if(Room[i].Sign==1)
printf(Room[%s]hasbeenfull\n,Room[i].Room_ID);
else
registernewrecord\n);
Room[%s]isempty,Room[i].Room_ID);
pleaseenterRoom[%s]'
sinformation,Room[i].Room_ID);
pleaseentercustomer'
sName\n);
scanf(s,&
Room[i].Client_list.Name);
pleaseenterSexandAge\n);
scanf(==,&
Room[i].Client_list.Sex,&
Room[i].Client_list.Age);
sID_card\n);
scanf(s,&
Room[i].Client_list.ID_card);
pleaseenteryearandmonthanddate\n);
scanf(]]],&
Room
[i].Client_list.year,&
Room[i].Client_list.month,&
Room[i].Client_list.date);
Room[i].Sign=1;
//把房间标记为已满
printf_face();
printf_one(i);
\nAreyousure?
\n\n\t1.sure\t2.cancleandagain\t3.Backwithoutsave
[]\b\b);
c);
if(c==1)
{save(n);
printf_back();
elseif(c!
=2)menu();
}while(c==2);
return_confirm();
intload()
FILE*fp;
inti;
if((fp=fopen(Hotel.txt,
))==NULL)
Cannotopenfile\n);
exit(0);
!
feof(fp);
fscanf(fp,\
%s%s%d%d%s%d%d%s%d%d%d\n,&
[i].Room_ID,&
Room[i].Tel,&
Room[i].Price,
&
Room[i].Sign,&
Room[i].Client_list.Name,&
Room[i].Client_list.Sex,
Room[i].Client_list.Age,&
Room[i].Client_list.ID_card,
Room[i].Client_list.year,&
[i].Client_list.month,&
Room[i].Client_list.date);
fclose(fp);
return(i);
voidprintf_one(inti)
%-5s%5s]%d,Room[i].Room_ID,Room[i].Tel,Room
[i].Price,Room[i].Sign);
%-s]]_x0010_s,Room[i].Client_list.Name,Room
[i].Client_list.Sex,Room[i].Client_list.Age,Room[i].Client_list.ID_card);
%-5d]]\n,Room[i].Client_list.year,Room
[i].Client_list.month,Room[i].Client_list.date);
voidsave(intn)
if((fp=fopen(Hotel.txt,w))==NULL)
fprintf(fp,%-5s%-15s%-5d%-5d%-15s%-5d%-5d%-20s%-5d%-5d%-5d\n,
Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign,
Room[i].Client_list.Name,Room[i].Client_list.Sex,
Room[i].Client_list.Age,Room[i].Client_list.ID_card,Room[i].Client_list.year,
Room[i].Client_list.month,Room[i].Client_list.date);
voidprintf_face()
{
Room_IDTelPriceSign);
NameSexAgeID_card);
yearmonthdate);
voidprintf_back()
intw;
\n\tSuccessful.^-^\n\n);
printf(Doyouwanttoback?
\n\n\t1).Yes\t2).No:
w);
if(w==1)
本函数的功能为登记用户及房间信息,包括姓名、性别、年龄、年份、月份、日期及身份证、。
系统依次分配房间号并定义此房间为非空。
管理员可根据具体情况登记相应用户人数的信息。
在此申明由于本程序并未将用户信息存入磁盘,因此务必先登记用户信息再执行功能菜单中的其他功能。
.
(2)统计模块:
该模块的功能是显示所有客户记录信息。
需求分析][程序:
voidstati()/***统计函数***/
voidTime_stati();
voidRoom_ID_stati();
voidPrice_stati();
intc;
\nstatisticby=>
\n\n1).Time2).Room_ID3)Price);
printf(Whichyouneed<
1-3>
?
:
if(c>
3||c<
1)
Choiceerrror!
Pleaseagain!
);
}while(c>
1);
switch(c)
Time_stati();
Room_ID_stati();
Price_stati();
voidTime_stati()/******统计入住的时间*****/
intn,i,k=0,w,w0=1,w2=0;
structHotels;
w=-1;
pleaseenterthetimethatyouwanttostatistic.\n);
pleaseentertheyear:
s.Client_list.year);
pleaseenterthemonth:
s.Client_list.month);
pleaseenterthedate:
s.Client_list.date);
for(i=0,k=0;
if(s.Client_list.year==Room[i].Client_list.year&
&
s.Client_list.month==Room
[i].Client_list.month&
s.Client_list.date==Room[i].Client_list.date)
w=i;
printf_one(i);
k++;
Thereare%drecordersthisday!
k);
if(w==-1)
NOexist!
please.Entererror!
Therearenorecordersthisday!
Doyouwanttoretryanother?
\n\n\t1).Yes2).Noandback3).Backto
menu[]\b\b);
w0);
if(w0==2)stati();
elseif(w0!
=1)menu();
{printf(\
Successful!
^_^^_^.\nEnteranothertime?
\n\n\t1).Yes2).Backto
menu\t[]\b\b);
w2);
if(w2!
}while(w==-1&
w0==1);
}while(w2==1);
voidRoom_ID_stati()/*******统计房间号******/
pleaseentertheRoom_IDthatyouwanttostatistic.\n);
scanf(%s,&
s.Room_ID);
if(strcmp(s.Room_ID,Room[i].Room_ID)==0)
Thereare%drecordersinthisRoom!
TherearenorecordersinthisRoom!
}
^_^^_^.\nEnteranotherRoom_ID?
voidPrice_stati()/*******统计房间单价******/
pleaseentertheRoom'
spricethatyouwanttostatistic.\n);
s.Price);
if(s.Price==Room[i].Price)
Thereare%drecordersatthisprice!
Therearenorecordersatthisprice!
.\nEnteranotherRoom'
price?
本函数的功能为输出统计功能菜单选项,包括根据按性别统计、根据年龄统计及根据入住时间统计。
系统根据输入的选项执行相应的函数。
(3)查找模块
程序:
voidsearch()/********查找函数********/
inti,n,k,w1=1,w2,w3;
w2=-1;
k=-1;
\nEnterID_cardthatyouwanttosearch!
ID_card:
s.Client_list.ID_card);
if(strcmp(s.Client_list.ID_card,Room
[i].Client_list.ID_card)==0)
k=i;
w2=1;
printf_one(k);
break;
if(k==-1)
\nNoexit!
Please.);
\nAreyouagain?
\n\t1).again2).Noandback[]\b\b);
w1);
if(w1!
=1)
}while(k==-1&
w1==1);
if(w2==1)
\nSuccessful.^_^.\n);
Whatdoyouwanttodo?
\n\t1).Searchanother2).Backtomenu[]\b\b);
w3);
if(w3!
}while(w3==1);
包括根据房间号查询、本函数的功能为输出查询功能菜单选项,根据姓名查询及根据性别查询。
系统根据输入的选项执行相应的函数。
)修改模块(4该模块的功能是插入客户记录信息并且不能覆盖原有客户信息。
需求分析[]
程序:
voidmodify()/********修改函数********/
intmodify_date(inti,intk);
inti,n,k,w0=1,w1,w2=0;
if((i!
=0)&
(i%4)==0)
\nRememberRoom_IDthatyouneedtomodify!
Passanykeyto
conti
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 客房 管理 系统 语言