c语言课程设计报告 2客房入住登记文档格式.docx
- 文档编号:7139499
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:21
- 大小:92.55KB
c语言课程设计报告 2客房入住登记文档格式.docx
《c语言课程设计报告 2客房入住登记文档格式.docx》由会员分享,可在线阅读,更多相关《c语言课程设计报告 2客房入住登记文档格式.docx(21页珍藏版)》请在冰点文库上搜索。
住房及顾客信息由于涉及多种类型的数据,因此应用结构数组处理。
用文件记录相关数据。
客房状态查询
分别显示已入住客房与空置客房
读取住房信息文件的内容并判断分类,借此可以清晰明了的显示客房状态。
住户信息查询
查询顾客所租房房号
查询顾客住房费用
顾客可以通过输入自己的姓名来查询个人的住房信息。
结账退房系统
退房
更新所退房间状态
删除退房用户记录
显示账单顾客可以输入姓名来完成退房操作,房间状态将更改为未入住。
系统将删除该用户信息记录并读取生成账单。
四、软件使用说明
通过主界面,我们可以进行查看客房入住情况、登记入住、修改信息、显示费用及退出等操作。
通过客房入住界面,可以查找房间的使用情况
通过登记界面,可以实现用户登记及住房登记、调整等功能。
通过修改客房信息界面,可以实现修改客房,客户信息等功能。
通过费用查询界面,可以通过房间号查找顾客的入住信息。
五、设计总结(课程设计心得与体会)
经过一个星期的上机实践学习,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;
再有对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。
通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机
参考文献
[1]何钦铭颜晖.《C语言程序设计》.高等教育出版社.2008年
[2]谭浩强张基温.《C语言程序设计教程》.高等教育出版社.2006年
部分程序清单(带有较详细的注释)
#include<
stdio.h>
string.h>
//在使用中要用到的字符串都包含在本文件中
stdlib.h>
//exit()函数就包含在此文件中
#defineM81
intz[81]={0};
//定义一个数组存放使用的房间的标记的信息,且初始化为0
intj,s;
//定义两个全局变量
FILE*fp;
//定义一个指向文件的指针变量
structdate
{intmonth;
intday;
intyear;
}final;
structhotel
{intprice;
introom_ID;
structclient
{charname[20];
intsex;
intage;
charID_card[20];
intcount;
structdatestart;
}personal;
}room[M];
//定义全局结构体变量,且里面又调用两个结构体
//声明刷新函数fflush(fp),且指向指针变量指向的位置
voidsave();
voidsearch_situ();
//声明查看客房入住情况函数
voidregist_infor();
//声明客房登记入住函数
voidmodify_infor();
//声明客房信息修改函数函数
voidmodify_one();
//声明修改客房信息函数中的修改个人函数
voidmodify_hotel();
//声明修改客房信息函数中的修改客房函数
voiddisp_money();
//声明显示入住费用函数
intmain()
{
intmenu();
//声明主菜单函数
voidprint_star();
voidprint_message();
printf("
\n\n\n\n\n"
);
print_star();
\n"
print_message();
menu();
//把主菜单用函数来实现
save();
return0;
}
voidprint_star()
{inti;
for(i=1;
i<
30;
i++)
\t*"
voidprint_message()
{
\t\t\t\t欢迎入住**酒店\n"
menu()
intn;
do
{
printf("
\t\t*********************菜单********************\n\n\n"
\t\t\t\t1:
查看客房入住情况\n\n\n"
\t\t\t\t2:
登记入住信息\n\n\n"
\t\t\t\t3:
修改客房信息\n\n\n"
\t\t\t\t4:
显示入住费用\n\n\n"
\t\t\t\t5:
退出\n\n\n"
\t\t\t\t6:
返回\n\n\n"
\t\t*********************菜单********************\n"
printf("
\n\n\t\t\t请选择输入选项[1\\2\\3\\4\\5\\6]:
scanf("
%d"
&
n);
while(n<
1||n>
6)
{printf("
请重新输入选项!
"
switch(n)
{
case1:
search_situ();
break;
//调用查看函数
case2:
regist_infor();
//调用登记函数
case3:
modify_infor();
//调用修改函数
case4:
disp_money();
//调用显示入住费用函数
case5:
exit(0);
case6:
}
}while(n!
=6);
return0;
voidsearch_situ()//查看函数
intg,count=0;
for(g=1;
g<
=80;
g++)
if(z[g]==0)
++count;
else
if(z[g]==1)
\n正在使用的房间号:
g);
\n\n未使用的房间数:
count);
//通过循环输出未使用的房间数
\n\n"
\n请输入需查询的房间号:
//查询输入的房间号的信息,且输出该房间的相关信息
scanf("
s);
if(z[s]==1)
{printf("
姓名:
%s"
room[s].personal.name);
\n性别(其中:
1表示男,2表示女!
):
room[s].personal.sex);
\n年龄:
room[s].personal.age);
\n身份证号:
room[s].personal.ID_card);
\n入住年份:
room[s].personal.start.year);
月:
room[s].personal.start.month);
日:
room[s].personal.start.day);
\n房间号:
room[s].room_ID);
\n客房单价:
room[s].price);
printf("
\n入住人数:
room[s].personal.count);
menu();
}
该房间未被使用!
//调用保存函数
voidregist_infor()//登记函数
请输入登记相关信息:
\n房间号:
j);
room[j].room_ID=j;
\n姓名:
room[j].personal.name);
room[j].personal.sex);
\n年龄:
room[j].personal.age);
\n身份证号:
room[j].personal.ID_card);
\n入住年份:
room[j].personal.start.year);
月:
room[j].personal.start.month);
日:
room[j].personal.start.day);
\n客房单价:
room[j].price);
请输入入住人数\n"
room[j].personal.count);
z[j]=1;
//标记使用的房间为1
voidmodify_infor()//修改函数
{
intr,m;
\t\t\t*******************菜单******************\n\n\n"
\t\t\t\t\t1:
修改客户信息\n\n\n"
\t\t\t\t\t2:
\t\t\t\t\t3:
menu()\n\n\n"
\t\t\t\t\t4:
\t\t\t*****************************************\n\n\n"
\t\t\t请选择输入选项[1\\2\\3\\4]:
scanf("
m);
if(m<
1||m>
3)
r=1;
getchar();
elser=0;
}while(r==1);
switch(m)
modify_one();
case2:
modify_hotel();
case3:
menu();
voidmodify_one()//修改个人信息函数
intq;
chara[20];
\n请选择您要修改的个人选项\n"
1:
姓名2:
性别(其中:
)3:
年龄4:
身份证号5:
入住年份6:
入住月份7入住日8:
入住人数\n"
\t请选择输入选项[1\\2\\3\\4\\5\\6\\7\\8]:
\n\b\b"
q);
switch(q)
{
intt,p;
chark;
case1:
请输入新名字\n"
for(t=0;
t<
20;
t++)scanf("
a[t]);
strcpy(room[j].personal.name,a);
请选择新性别(其中:
)\n"
scanf("
k);
room[j].personal.sex=k;
请输入新年龄\n"
p);
room[j].personal.age=p;
case4:
请输入新身份证号\n"
room[j].personal.ID_card[20]=p;
case5:
请输入新年份\n"
room[j].personal.start.year=p;
case6:
请输入新月份\n"
room[j].personal.start.month=p;
case7:
请输入新日子\n"
room[j].personal.start.day=p;
case8:
请输入新入住人数\n"
room[j].personal.count=p;
voidmodify_hotel()//修改客房信息函数
intl;
\n\t\t\t\t请选择您要修改的客房信息\n\n"
房间号\n\n\t\t\t\t2:
客房单价\n\n\t\t\t\t3:
入住人数\n\n\t\t\t\t4:
返回\n\n"
\t\t\t请选择输入选项[1\\2\\3\\4]:
l);
switch(l)
请输入旧房号\n"
请输入新房号\n"
strcpy(room[s].personal.name,room[j].personal.name);
room[s].personal.sex=room[j].personal.sex;
room[j].personal.sex=0;
room[s].personal.age=room[j].personal.age;
room[j].personal.age=0;
strcpy(room[s].personal.ID_card,room[j].personal.ID_card);
room[s].personal.start.year=room[j].personal.start.year;
room[j].personal.start.year=0;
room[s].personal.start.month=room[j].personal.start.month;
room[j].personal.start.month=0;
room[s].personal.start.day=room[j].personal.start.day;
room[j].personal.start.day=0;
room[s].room_ID=s;
room[s].price=room[j].price;
room[s].personal.count=room[j].personal.count;
z[s]=1;
z[j]=0;
break;
请输入房号\n"
请输入新单价\n"
room[s].price=s;
room[s].personal.count=s;
voiddisp_money()//显示入住费用函数
inti,sum;
请输入房间号;
room[j].room_ID);
room[j].personal.start.year);
room[j].personal.start.month);
room[j].personal.start.day);
房间单价为:
room[j].price);
\n请输入退房时间:
请输入年份:
final.year);
请输入月份:
final.month);
请输入日:
final.day);
\n请输入住房天数:
i);
sum=room[j].price*i;
总费用sum=%d\n"
sum);
voidsave()//保存函数
FILE*fp;
inti;
if((fp=fopen("
客房管理.txt"
"
w+"
))==NULL)//打开输出文件"
{printf("
cannotopenfile\n"
exit(0);
for(i=0;
M;
if(fwrite((&
room[i]),sizeof(room[M]),1,fp)!
=1)
filewriteerror\n"
fflush(fp);
fclose(fp);
//关闭文件
八、教师评语
评阅教师:
评阅日期:
2012年7月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言课程设计报告 2客房入住登记 语言 课程设计 报告 客房 入住 登记