C语言客房管理系统课程设计.docx
- 文档编号:17670798
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:23
- 大小:275KB
C语言客房管理系统课程设计.docx
《C语言客房管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《C语言客房管理系统课程设计.docx(23页珍藏版)》请在冰点文库上搜索。
C语言客房管理系统课程设计
姓名:
***
班级:
1320603
学号:
************
专业:
电子信息工程
学院:
机械与电子工程学院
********
一、题目要求
设计客房管理系统,要求由菜单进行管理。
(1)有人住宿时,首先检查是否还有空位,无则拒绝要求。
(2)还有空位置时,运行键入,并记录下房间号与身份证号,入住时间。
(3)退房时,根据其入住时间进行收费。
二、总体设计
1.数据录入模块主要是登记函数,它包括记录客户的姓名、性别、年龄、身份证号码、入住时间、电话号码,以及房间号和房间单价。
2.数据查询模块主要是查询在住的客户信息,也有查询退房后的客户住房记录。
3.数据修改模块主要是修改已知的客户信息,它又有两个子模块,分别按照人名查询修改、按照日期查询修改。
此外,系统的退房模块和计费都基于数据修改,但是基本数据不会删除,会留下备份。
四、源代码
#include
#include
#include
#include
#defineN100
structclient
{
charname[20];
intsex;
intage;
charID_card[18];/*居民身份证*/
intyear,month,day;/*入住时间*/
intreyear,remonth,reday;/*退房时间*/
introom_ID;/*房间号*/
chartel[11];
intprice;/*住房单价*/
intsign;/*是否有人居住的标志*/
}room[N];
intr=0;/*r为全局变量*/
voidmenu();
voidsearch();
voidsearch_one();
voidsearch_day();
voidsearch_historyday();
voidmodify();
voidmodify_one();
voidmodify_day();
voidmodify_s(inti);
voidsave();
voidload_room();
voidregist();
voidprintf_p(inti);
voidcheck_out();
/**********main函数*********/
intmain()
{
system("color3F");
puts("\n\n\n\t********************客房管理系统************************\n");
puts("\t\t欢迎进入本系统......");
puts("\t\t按任意键继续......");
puts("\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\tBy曾学贵\n");
getch();
menu();
return0;
}
/***********菜单函数************/
voidmenu()
{
system("cls");
intn,w;
do
{
puts("\n\n\n\t****************************主菜单********************************\n\n");
puts("\t\t\t||
(1).登记||\n");
puts("\t\t\t||
(2).查询||\n");
puts("\t\t\t||(3).修改||\n");
puts("\t\t\t||(4).退房||\n");
puts("\t\t\t||(5).退出||\n");
puts("\n\t*******************************************************************\n");
printf("\t请按下你选择的数字(1-5):
");
scanf("%d",&n);
while(n<1||n>5)
{
printf("\t输入错误,请重新输入:
");
scanf("%d",&n);
}
w=0;
}while(w==1);
switch(n)
{
case1:
regist();break;
case2:
search();break;
case3:
modify();break;
case4:
check_out();break;
case5:
exit(0);
}
}
/*************注册函数***********/
voidregist()
{
system("cls");
intn,i;
printf("\n\n\n\n");
printf("\t要几间房?
");
scanf("%d",&n);
for(i=r;i { printf("\n\t房间号: "); scanf("%d",&room[i].room_ID); printf("\t电话: "); scanf("%s",room[i].tel); printf("\t房间价格: "); scanf("%d",&room[i].price); room[i].sign=1; printf("\t名字: ");scanf("%s",room[i].name); printf("\t性别(1男||0女)");scanf("%d",&room[i].sex); printf("\t年龄: ");scanf("%d",&room[i].age); printf("\t身份证号码: ");scanf("%s",room[i].ID_card); printf("\t年: ");scanf("%d",&room[i].year); printf("\t月: ");scanf("%d",&room[i].month); printf("\t日: ");scanf("%d",&room[i].day); } r=r+n; save(); menu(); } /**************保存函数***************/ voidsave() { FILE*fp; inti; if((fp=fopen("Hotel.out","wb"))==NULL) { printf("\n\t\t不能打开文件! \n"); return; } for(i=0;i fprintf(fp,"%d%s%d%d%s%d%d%s%d%d%d\n",room[i].room_ID,room[i].tel,room[i].price,room[i].sign, room[i].name,room[i].sex,room[i].age,room[i].ID_card,room[i].year,room[i].month,room[i].day); fclose(fp); } /****************加载函数****************/ voidload_room() { FILE*fp; inti; if((fp=fopen("Hotel.out","r"))==NULL) { printf("\n\t\t不能打开文件! \n"); return; } for(i=0;! feof(fp);i++) fscanf(fp,"%d%s%d%d%s%d%d%s%d%d%d",&room[i].room_ID,room[i].tel,&room[i].price,&room[i].sign, room[i].name,&room[i].sex,&room[i].age,room[i].ID_card,&room[i].year,&room[i].month,&room[i].day); fclose(fp); r=i; } /**************显示个人信息****************/ voidprintf_p(inti) { printf("\n\t\t姓名: %s\n",room[i].name); if(room[i].sex==1)printf("\t\t性别: 男\n"); if(room[i].sex==0)printf("\t\t性别: 女\n"); printf("\t\t年龄: %d\n",room[i].age); printf("\t\t身份证号码: %s\n",room[i].ID_card); printf("\t\t房间号: %d\n",room[i].room_ID); printf("\t\t电话: %s\n",room[i].tel); printf("\t\t房间价格: %d\n",room[i].price); printf("\t\t%d年",room[i].year); printf("%d月",room[i].month); printf("%d日\n",room[i].day); } /*************查询函数***************/ voidsearch() { system("cls"); intn,m; do { puts("\n\n\t\t********************子菜单*******************\n"); puts("\t\t1).按人名查询\n"); puts("\t\t2).按日期查询\n"); puts("\t\t3).按历史记录\n"); puts("\t\t4).返回主菜单\n"); puts("\t\t*******************************************\n"); printf("\t\t请按下你的选择(1-3): "); scanf("%d",&n); while(n>4||n<1) { printf("\t\t输入错误,请重新输入: "); scanf("%d",&n); } m=0; }while(m==1); switch(n) { case1: search_one();break; case2: search_day();break; case3: search_historyday();break; case4: menu(); } } voidsearch_one()/*************查询个人**********/ { system("cls"); inti,l,m,w=0; chars[20]; printf("\n\n\n\n\t\t请输入要查询的人名: "); scanf("%s",s); load_room(); for(i=0;i if(strcmp(room[i].name,s)==0&&room[i].sign==1) { w=1;m=i; } if(w==1) printf_p(m); elseprintf("\n\t\t这里没有记录! \n"); printf("\n\t\t家下来你想做什么? \n"); printf("\t\t1).继续查询\t2).返回\n"); printf("\t\t输入你的选择: "); scanf("%d",&l); while(l<1||l>2) { printf("\t\t输入错误,请重新输入: "); scanf("%d",&l); } switch(l) { case1: search_one();break; case2: search();break; default: break; } } voidsearch_day()/**********查询某日的使用情况*********/ { system("cls"); inti,l,m,a,b,c,w=0; printf("\n\n\n\n\t\t请输入要查询的日期: \n"); printf("\n\t\t年: ");scanf("%d",&a); printf("\t\t月: ");scanf("%d",&b); printf("\t\t日: ");scanf("%d",&c); load_room(); for(i=0;i if((room[i].year==a)&&(room[i].month==b)&&(room[i].day==c)&&(room[i].sign==1)) { w=1;m=i;printf_p(m); } if(w==0) printf("\t\t今天没有记录! \n"); printf("\n\t\t接下来你想要做什么? \n"); printf("\t\t1).继续查询\t2).返回\n"); printf("\t\t请输入你的选择: "); scanf("%d",&l); while(l<1||l>2) { printf("\t\t输入错误,请重新输入: "); scanf("%d",&l); } switch(l) { case1: search_day();break; case2: search();break; default: break; } } voidsearch_historyday()/**********查询某日的历史使用情况*********/ { system("cls"); inti,l,m,a,b,c,w=0; printf("\n\n\n\n\t\t请输入要查询的日期: \n"); printf("\n\t\t年: ");scanf("%d",&a); printf("\t\t月: ");scanf("%d",&b); printf("\t\t日: ");scanf("%d",&c); load_room(); for(i=0;i if((room[i].year==a)&&(room[i].month==b)&&(room[i].day==c)) { w=1;m=i;printf_p(m); } if(w==0) printf("\t\t今天没有记录! \n"); printf("\n\t\t接下来你想要做什么? \n"); printf("\t\t1).继续查询\t2).返回\n"); printf("\t\t请输入你的选择: "); scanf("%d",&l); while(l<1||l>2) { printf("\t\t输入错误,请重新输入: "); scanf("%d",&l); } switch(l) { case1: search_historyday();break; case2: search();break; default: break; } } /***************修改函数***************/ voidmodify() { system("cls"); intn,m; do { puts("\n\n\t\t**********************子菜单************************\n"); puts("\t\t\t\t1).按人名修改\n"); puts("\t\t\t\t2).按日期修改\n"); puts("\t\t\t\t3).返回主菜单\n"); puts("\t\t**************************************************\n"); puts("\t\t请按下你的选择(1-3): \t"); scanf("%d",&n); while(n<1||n>3) { printf("\t\t输入错误,请重新输入: "); scanf("%d",&n); } m=0; }while(m==1); switch(n) { case1: modify_one();break; case2: modify_day();break; case3: menu(); } } voidmodify_one()/**********修改个人信息*********/ { system("cls"); inti,m,l,w=0; chars[20]; puts("\n\n\n\n\t\t请输入姓名: "); scanf("%s",s); load_room(); for(i=0;i if(strcmp(room[i].name,s)==0&&room[i].sign==1) { w=1;m=i; }; if(w==1) { printf_p(m); modify_s(m); save(); } elseprintf("\n\t\t这儿没有记录! \n"); printf("\t\t接下来你想要做什么? \n"); printf("\t\t1).继续修改\t2).返回\n"); scanf("%d",&l); while(l<1||l>2)\ { printf("\t\t输入错误,请重新输入: "); scanf("%d",&l); } switch(l) { case1: modify_one();break; case2: modify();break; default: break; } } voidmodify_day()/***********修改某日信息****************/ { system("cls"); inti,l,m,a,b,c,w=0; printf("\t\t请输入日期: "); printf("\n\t\t年: ");scanf("%d",&a); printf("\t\t月: ");scanf("%d",&b); printf("\t\t日: ");scanf("%d",&c); for(i=0;i if((room[i].year==a)&&(room[i].month==b)&&(room[i].day==c)&&room[i].sign==1) { w=1;m=i; }; if(w==1) { printf_p(m); modify_s(m); save(); } elseprintf("\t\t今天没有记录! \n"); printf("\t\t接下来你想要做什么? \n"); printf("\t\t1).继续修改\t2).返回\n"); scanf("%d",&l); while(l<1||l>2)\ { printf("\t\t输入错误,请重新输入: "); scanf("%d",&l); } switch(l) { case1: modify_day();break; case2: modify();break; default: break; } } voidmodify_s(inti)/**********修改执行项**************/ { inta,q; chars[20]; printf("\n输入你想要修改的选项: \t"); printf("\t\t1).姓名\n\t\t2).性别\n\t\t3).年龄\n\t\t4).身份证号码\n\t\t5).年\n\t\t6).月\n\t\t7).日\n\t\t8).房间号\n\t\t9).电话\n\t\t10).房间价格\n\t\t11).不修改\n"); printf("\t\t请按下你的选择(1-11): \t"); scanf("%d",&q); while(q<1||q>11)\ { printf("\t\t输入错误,请重新输入: "); scanf("%d",&q); } switch(q) { case1: printf("\t\t请输入姓名: \t");scanf("%s",s);strcpy(room[i].name,s);break; case2: printf("\t\t请输入性别(1男0女): \t");scanf("%d",&a);room[i].sex=a;break; case3: printf("\t\t请输入年龄: \t");scanf("%d",&a);room[i].age=a;break; case4: printf("\t\t请输入身份证号码: \t");scanf("%s",s);strcpy(room[i].ID_card,s);break; case5: printf("\t\t请输入年: \t");scanf("%d",&a);room[i].year=a;break; case6: printf("\t\t请输入月: \t");scanf("%d",&a);room[i].month=a;break; case7: printf("\t\t请输入日: \t");scanf("%d",&a);room[i].day=a;break; case8: printf("\t\t请输入房间号: \t");scanf("%d",&a);room[i].room_ID=a;break; case9: printf("\t\t请输入电话: \t");scanf("%s",s);strcpy(room[i].tel,s);break; case10: printf("\t\t请输入房间价格: \t");scanf("%d",&a);room[i].price=a;break; case11: modify();break; default: break; } } /********************退房函数*******************/ vo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 客房 管理 系统 课程设计