客房管理系统C语言课程设计.docx
- 文档编号:588327
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:12
- 大小:96.94KB
客房管理系统C语言课程设计.docx
《客房管理系统C语言课程设计.docx》由会员分享,可在线阅读,更多相关《客房管理系统C语言课程设计.docx(12页珍藏版)》请在冰豆网上搜索。
客房管理系统C语言课程设计
C语言课程实习报告
所在院系:
_______
班级学号:
_____
姓名:
_________
程序已存档:
□是□否
指导老师:
__曼____
评分:
____________
二零一四年七月
1.题目与要求⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
(1)
2.功能实现设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
(2)
2.1总体设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
(2)
2.2详细设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
(2)
2.2.1保存函数⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
(2)
2.2.2读取函数⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯(3)
2.3功能模块设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯(4)
2.3.1注册模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯(4)
2.3.2统计模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯(5)
2.3.3查询模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯(7)
2.3.4修改模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯(9)
2.4主函数⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯(11)
3.上机操作⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯(12)
4.结束语⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯(16)
实习课题:
客房管理系统
1.题目与要求:
实现登记功能,要提供结构体的输入操作,实现统计功能,要提供相应的统计操作,实现查询功能,要提供查找操作,实现修改功能,要提供修改操作;另外还有提供键盘式菜单实现功能选择。
头文件:
#include
#defineNUM50//定义常量NUM
voidinput();
voidrecord();
voidfind();
voidmodify();
intnow_no;//定义全局变量now_no建立如下结构体:
structClient
{
charname[20];
charsex[10];
intage;
charID_card[20];
intyear;
intmonth;
intdate;
intRoom_ID;charTel[15];intPrice;
charSign[10];}Room[NUM];
2.功能实现设计:
2.1总体设计:
下面来分析一下整个系统,根据上面的要求分析,可将这个系统设计为五大
模块(见下图):
注册模块,统计模块,查询模块,修改模块,退出模块。
其主要功能为:
注册,统计,查询,修改功能。
客房管理
系统
系统系
2.2详细设计:
程序中需要用到的函数。
2.2.1保存函数
用于将输入的数据保存到文本文件客户信息.txt文件中,实现数据的保存voidsave()
{
FILE*fp;
inti;
if((fp=fopen("客户信息.txt","a+"))==NULL)/*a+表示以读和追加方式打开文件客户信息.txt*/
{printf("cannotopenfile\n");
return;}for(i=0;i =0;i++)fprintf(fp,"%s%s%d%s%d%d%d%d%s%d%s\n",Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign); //按照规定的格式保存客户信息 fclose(fp); } 2.2.2读取函数 将文本文件客户信息.txt中的客户个人信息读取出来,从而实现统计、查询以及修改的功能。 voidread(){FILE*fp;inti; if((fp=fopen("客户信息.txt","r"))==NULL) {printf("\nCannotopenfile\n"); return;} for(i=0;! feof(fp);i++)//! feof(fp)文件读到结束时读取停止fscanf(fp,"%s%s%d%s%d%d%d%d%s%d%s\n",&Room[i].name,&Room[i].sex,&Room[i].age,&Room[i].ID_card,&Room[i].year,&Room[i].month,&Room[i].date,&Room[i].Room_ID,&Room[i].Tel,&Room[i].Price,&Room[i].Sign,&now_no); fclose(fp);} 2.3功能模块设计 2.3.1注册模块 用于完成客户个人信息的输入功能并保存。 本函数的功能为登记用户及房间信息,包括、性别、年龄、、年份、月份、日期、房间及房间价格。 系统依次分配房间号并定义此房间为非空。 voidinput() inti=0,right,num; charas,sex[10]; printf("顾客人数: "); scanf("%d人",&num);//输入顾客的人数 do { printf("\t\t\t\t1.录入宾客信息\n输入第%d宾客的信息\n",i+1); printf("\n输入宾客: "); gets(Room[i].name); do { printf("\n输入宾客性别: "); scanf("%s",&sex); if(strcmp(sex,"男")! =0&&strcmp(sex,"女")! =0)/*判断输入的字符 是否为“男”或“女”,否则输出“输入有误! ”*/ {printf("输入有误! "); right=1; getchar();} else right=0; strcpy(Room[i].sex,sex); } while(right==1); printf("\n输入宾客的年龄: "); scanf("%d",&Room[i].age); printf("\n输入宾客号: "); scanf("%s",&Room[i].ID_card); printf("\n输入宾客入住时间: "); scanf("%d",&Room[i].year); scanf("%d",&Room[i].month); scanf("%d",&Room[i].date); printf("\n输入宾客房间号: ");scanf("%d",&Room[i].Room_ID); printf("\n输入宾客房间: ");scanf("%s",&Room[i].Tel); printf("\n输入宾客房间价格: ");scanf("%d",&Room[i].Price); printf("\n输入该房间是否入住(yes/no): ");scanf("%s",&Room[i].Sign);//输入客户的个人信息printf("\n\n"); i++; now_no=i; printf("是否继续输入? (Y/N)");//判断是否继续输入as=getch(); system("cls"); save(); }while(as! ='n'&&as! ='N'); system("cls");//清屏 } 2.3.2统计模块用于统计总共入住的人数,并且可以统计某一天住了多少人以及收入多少voidrecord() { inti,j,y,m,d,s=0,money=0; charas; intn=0; read(); do {printf("\n客房入住总数: ");fflush(stdin); for(j=0;Room[j].age! =0;j++) n=n+1; printf("%d间\n",n);//统计一共入住的人数 printf("输入查询日期: ");//按照日期统计入住人数及收入 scanf("%d%d%d",&y,&m,&d); fflush(stdin); for(i=0;i<=NUM;i++)if(((Room[i].year==y)&&(Room[i].month==m)&&(Room[i].date==d))) //判断输入的日期与数据库中的哪些日期相同{s=s+1; money=money+Room[i].Price; printf("\n: %s\n性别: %s\n年龄: %d\n号: %s\n入住时间: %d年%d月%d日\n房间: %d\n: %s\n价格: %d\n是否入 住: %s\n",Room[i].name,Room[i].sex,Room[i].age,Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign); } printf("\n该天客房入住总数: %d人\n",s); printf("该天共收入%d元\n",money); printf("\t按任意键返回主菜单."); as=getch(); system("cls"); } while(! as);system("cls"); } 2.3.3查询模块本函数的功能为输出查询功能菜单选项,包括根据房间号查询、根据查询系统根据输入的选项执行相应的函数。 voidfind() { inti,a,b;charstr[20],as;read(); do { printf("\n按以下条件查询: 1.2.房间号3.返回主菜单\n请选择: ");scanf("%d",&a); switch(a) { case1: do {printf("输入要查询的宾客: "); fflush(stdin); gets(str); for(i=0;i if(! strcmp(Room[i].name,str)) printf("\n: %s\n性别: %s\n年龄: %d\n号: %s\n入住时间: %d年%d月%d日\n房间: %d\n房间: %s\n房间价格: %d\n该房间是否入住(yes/no)%s\n\n",Room[i].name,Room[i].sex,Room[i].age, Room[i].ID_card,Room[i].year,Room[i].month,Room[i].date,Room[i].Room_ID,Room[i].Tel,Room[i].Price,Room[i].Sign); else; } while(! as); break; case2: do { printf("输入要查询的房间号: "); scanf("%d",&b); for(i=0;i if(Room[i].Room_ID==b) printf("\n: %s\n性别: %s\n年龄: %d\n号: %s\n入住时间: %d年%d月%d日\n房间: %d\n房间: %s\n房间价格: %d\n该房间是否入住 (yes/no)%s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 客房 管理 系统 语言 课程设计