您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 课程设计宾馆管理系统C语言版
中原工学院软件职业技术学院一级实践环节报告课题名称:宾馆客房管理系统专业:NET软件班级:NET104学号:36学生姓名:李新辉指导教师:罗菁年月日一、题目宾馆客房管理系统二、流程分析宾馆客房管理系统客房登记客户查询房间查询退房结算房间数选择类型订金客户基本信息登记客房号查询姓名查询空房间查询查询所有客户查询所有房间房间号确定退房日期结算三、源代码#includestdio.h#includestdlib.h#includestring.h#includectype.h//将字符转化为小写字母函数#defineZ50//宾馆的房间数#defineAY800#defineBY600#defineCY300#defineAJ15#defineBJ20#defineCJ(Z-AJ-BJ)structhotle{unsignedintnum;chardj;//各种等级类型unsignedintmoney;intfk;//判断房间的空闲状况0为空,为有人}room[Z];structdate{intmonth;intday;};structpeople{charname[20];charID[15];unsignedintnum0;//房间号unsignedintmoney0;//客人交的订金structdateru;structdatechu;}kehu[Z];voidsaveroom();voidloadroom();voidprintroom();voidsave(ints);voidsave1(ints);intloadn();voidsaven(intn);voidsavekehu2(intt,intm);///////录入宾馆房间信息//////////////voidluru(){inta0,b0,c0;a0=b0=c0=0;inti;for(i=0;iAJ;i++){room[i].num=((a0++)+601);room[i].dj='A';room[i].money=AY;room[i].fk=0;}for(i=AJ;i(BJ+AJ);i++){room[i].num=((b0++)+501);room[i].dj='B';room[i].money=BY;room[i].fk=0;}for(i=(AJ+BJ);iZ;i++){room[i].num=((c0++)+401);room[i].dj='C';room[i].money=CY;room[i].fk=0;}saveroom();}voidsaveroom()//储存房间信息{FILE*fp;fp=fopen(myhotle.text,wb);for(inti=0;iZ;i++)//{if(fwrite(&room[i],sizeof(structhotle),1,fp)!=1){printf(文件写入失败\n);break;}}fclose(fp);}voidloadroom(){FILE*fp;inti;if((fp=fopen(myhotle.text,rb))==NULL){printf(打开文件失败\n);return;}for(i=0;iZ;i++){if(fread(&room[i],sizeof(structhotle),1,fp)!=1){printf(读取文件失败\n);break;}}printf(读取成功!\n);fclose(fp);}voidprintroom()/////输出各个房间的信息//////////{//loadroom();printf(客房号客房等级客房价格客房空闲(为空)\n);for(inti=0;iZ;i++){printf(%-18d%-12c%-18d%-15d\n,room[i].num,room[i].dj,room[i].money,room[i].fk);}}///////////////输出各类型空房间的信息///////////////voidprintkong(charch){loadroom();inti;switch(ch){case'a':{printf(A类(豪华套房)空房间信息客房号客房价格\n);for(i=0;iAJ;i++){if(room[i].fk==0){printf(\t\t\t%11d%15d\n,room[i].num,room[i].money);}}break;}case'b':{printf(B类(中档套房)空房间信息客房号客房价格\n);for(i=AJ;i(AJ+BJ);i++){if(room[i].fk==0){printf(\t\t\t%11d%15d\n,room[i].num,room[i].money);}}break;}case'c':{printf(C类(单人公寓)空房间信息客房号客房价格\n);for(i=(AJ+BJ);iZ;i++){if(room[i].fk==0){printf(\t\t\t%11d%15d\n,room[i].num,room[i].money);}}break;}}}//////////////////选房间号////////////////////unsignedintpanduan(unsignedintnum1,charch){inttemp;//记录房间号inti;loadroom();for(i=0;iZ;i++){if(room[i].num==num1&&(tolower(room[i].dj))==ch)returntemp=i;}printf(请检查您选择的房间号是否有误!\n);return(Z+2);}/////////订房登记//////////intn;//已订的房间数voiddengji(){ints;//每次所订的房间数n=loadn();//读取每次文件中已订房间数的值intflag=0;///真假判断charch;//用来选取房间等级unsignedintmoney1;//预付金额FILE*fp;unsignedintt;//printf(请输入您要订的房间数\n);scanf(%d,&s);do{getchar();//接收输入中的回车printf(请选择您所订房间的类型A(豪华套房)B(中档套房)C(单人公寓)\n);ch=getchar();}while(!(tolower(ch)=='a'||tolower(ch)=='b'||tolower(ch)=='c'));for(inti=0;is;i++){//loadroom();switch(tolower(ch)){case'a':{unsignedintnum1;///选择的房间号;printkong(tolower(ch));printf(请您正确选择以上房间号:\n);do{scanf(%d,&num1);t=panduan(num1,tolower(ch));if(t!=0&&room[t].fk!=0){printf(此房间已经被订,请重新选择\n);flag=1;}elseif(tZ){flag=1;}else{flag=0;}}while(flag);//当选择房间错误或者所选房间有人时重新输入。room[t].fk=1;saveroom();//存取房间信息;kehu[i].num0=num1;do{printf(请交付订金(不得低于房价的倍)\n);scanf(%d,&money1);}while(money1(2*room[t].money));//预付的订金不得低于房间价格的两倍kehu[i].money0=money1;break;}case'b':{unsignedintnum1;///选择的房间号;printkong(tolower(ch));printf(请您正确选择以上房间号:\n);do{scanf(%d,&num1);t=panduan(num1,tolower(ch));if(t!=0&&room[t].fk!=0){printf(此房间已经被订,请重新选择\n);flag=1;}elseif(tZ){flag=1;}else{flag=0;}}while(flag);//当选择房间错误或者所选房间有人时重新输入。room[t].fk=1;saveroom();//存取房间信息;kehu[i].num0=num1;do{printf(请交付订金(不得低于房价的倍)\n);scanf(%d,&money1);}while(money1(2*room[t].money));//预付的订金不得低于房间价格的两倍kehu[i].money0=money1;break;}case'c':{unsignedintnum1;///选择的房间号;printkong(tolower(ch));printf(请您正确选择以上房间号:\n);do{scanf(%d,&num1);t=panduan(num1,tolower(ch));if(t!=0&&room[t].fk!=0){printf(此房间已经被订,请重新选择\n);flag=1;}elseif(tZ){flag=1;}else{flag=0;}}while(flag);//当选择房间错误或者所选房间有人时重新输入。room[t].fk=1;saveroom();//存取房间信息;kehu[i].num0=num1;do{printf(请交付订金(不得低于房价的倍)\n);scanf(%d,&money1);}while(money1(2*room[t].money));//预付的订金不得低于房间价格的两倍kehu[i].money0=money1;break;}//saveroom();}printf(请输入客户的姓名\n);getchar();//接收gets(kehu[i].name);printf(请输入客户的身份证号);gets(kehu[i].ID);printf(请输入入住日期(月、日)\n);scanf(%d%d,&kehu[i].ru.month,&kehu[i].ru.day);printf(订房成功,欢迎您的光临\n);}if((fp=fopen(kehuxinxi.text,rb))==NULL){save1(s);}else{save(s);}n=n+s;//n为以订房间的人数。saven(n);}//////////存取已订房间人数n的值////////voidsaven(intn){FILE*fp;fp=fopen(n.text,w);fprintf(fp,%5d,n);fclose(fp);}//////////读取n的值/////////intloadn(){intm;FILE*fp;if((fp=fopen(n.text,r))==NULL)return0;else{fscanf(fp,%d,&m);returnm;}}////存取客户信息(追加)/////voidsave(ints){FILE*fp;inti,m;m=loadn();if((fp=fopen(kehuxinxi.text,ab))==NULL){printf(打开文件失败\n);return;}for(i=0;is;i++){fwrite(&kehu[i],sizeof(people),1,fp);}fclose(fp);}////////存取(当文件为空时)/////////voidsave1(ints){FILE*fp;fp=fopen(kehuxinxi.text,wb);for(inti=0;is;i++){fwrite(&kehu[i],sizeof(people),1,fp);}fclose(fp);}////////////////////////读取客户信息文件/////////////////voidloadkehu(){intm,i;m=loa
本文标题:课程设计宾馆管理系统C语言版
链接地址:https://www.777doc.com/doc-6015650 .html