下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、报告正文一、题目要求客户信息包括身份证号、性别、年龄、房间号。试设计一客房管理系统,使之能提供以下功能:(1) 系统以菜单方式工作(2) 客户信息录入功能客户信息用文件保存(3) 客户信息统计功能(4) 客户信息查询功能,查询方式(5) 客户信息修改功能可选项提示建立客户信息结构体,结构体成员包括身份证号、性别、年龄、房间号二、需求分析根据题目要求,要求对客户信息进行输入、输出等操作;在程序中需要浏览客户的信息,应提供显示、统计、查询、修改等操作;另外还应提供键盘式选择菜单实现功能选择。三、总体设计根据需求分析,可以对这个系统的设计分为以下几个模块:系统功能模块图四、详细设计1、主函数部分:主
2、函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。流程图:显示各功能选项4N输入n,判断n是否是0-5Y*根据n的值调用各功能模块函数主函数流程图main()/*主函数*/(、“、printf("nnntt洒店管理系统");printf("nnntttPressanykeytocontinue.");printf("nnnnnnnnnnnntttttttt-By黄李n");getch();menu();voidregist()/*注册函数*/(intn,m,i,j;printf("t
3、Howmanynewcustoms?t");scanf("%d",&n);printf("tHowmanyroomstheywant?");scanf("%d",&m);for(i=r;i<r+m;i+)(puts("ntRoom_ID:t");scanf("%d",&roomi.room_ID);puts("ntTel:t");scanf("%s",roomi.tel);puts("ntPrice:t&q
4、uot;);scanf("%d",&roomi.price);onutuoAPSc+dnd-E+nI-(wp.密s=lc一o.=Eooos-PK-)ueos-(mqeQWcsmd_(£UOE.密s=lc一o=Eooos-PK-)uss(H£UOMVJcsmd三*>.密s=lc一o.=Eooos-PK-)ueos(H*>kucsmdeeold一§s=lc一o.=EOO=<Z;*-)U8S-(切peoldmucsmd-(沼.密s=lc一o=Eoood-PK-)uss-cw6<kucsmd_(xSSW=JU一o=Eoo
5、os-=p*-)ua5os(H(SEOM0-UEOML)xewcsmd-(Eeusw=JU一O.=EOO>S汶-MueosK*EeNWcsmd(+FU+dvrdnDoM-Lnu6一s三luoo(u)lloMMS_(l#m¥zmonMSO5Oa5lpa)6-LnM(au=vu)±=eosL-PKMUeos_(-(g£qEnunoA82。SO5-dscizuEL-UcsmdsvrKndsvrKndsvrKndsvrKndsvrKnd-wur*ZDN山l/l*lu"5ur)s)nd=cr*_±±x山.(g)=MPOIAI.(寸)=lp
6、*s.(co)=(u三(w-(£=_(=5=sow_wco(u三互6KopmcE)()nuiuP8Acase1:regist();break;case2:stat();break;case3:search();break;case4:modify();break;case5:exit(0);注:menu函数能提供菜单方式选择功能,可以根据用户需要进入到所想要的操作模块中,此外把menu函数独立出来,可以方便随时对它进行调用,容易返回到系统界面。并用结构体来存放客户信息:structclientcharname20;intsex;intage;charID_card20;/*居民身份证
7、*/intyear;intmonth;intdate;/*住店时间*/;structhotelintroom_ID;/*房间号*/chartel15;intprice;/*住房单价*/intsign;structclientclient_listM;/*实现两个结构体的嵌套*/roomN;intr=0;p=0;/*r,p为全局变量*/voidmenu();voidsearch_one();voidsearch_day();voidmodify();voidmodify_one();voidload_room();voidmodify_day();voidmodify_s(intj,inti);
8、voidsave();voidsearch();voidstat_u();voidstat_o();voidregist();voidstat();2、各功能模块函数部分:1输入模块需求分析对信息进行输入流程图:输入模块流程图程序voidregist()/*注册函数*/intn,m,i,j;printf("tHowmanynewcustoms?t");scanf("%d”,&n);printf("tHowmanyroomstheywant?”);scanf("%d”,&m);for(i=r;i<r+m;i+)puts(&q
9、uot;ntRoom_ID:t");scanf("%d”,&roomi.room_ID);puts("ntTel:t");scanf("%s”,roomi.tel);puts("ntPrice:t");scanf("%d”,&roomi.price);,roomi.sign=1;for(j=p;j<p+n;j+)puts("ntName:t");scanf("%s”,roomi.client_);puts("ntSex(1formen
10、|0forwomen):t");scanf("%d”,&roomi.client_listj.sex);puts("ntAge:t");scanf("%d",&roomi.client_listj.age);puts("ntID_card:t");scanf("%s",roomi.client_listj.ID_card);puts("ntYear:t");scanf("%d”,&roomi.client_listj.year);puts(&
11、quot;ntMonth:t");scanf("%d”,&roomi.client_listj.month);puts("ntDate:t");scanf("%d",&roomi.client_listj.date);r=r+m;p=p+n;save();menu();2统计模块统计模块流程图程序/*统计函数*/voidstat()(intn,m;doputs("tt*MENU*n");puts("tttt1).Statisticsonemonthn");puts("t
12、ttt2).Statisticsusingroomn");puts("tttt3).MENU()”);puts("tt*n");printf("ttPleasechoiceyournumber(1-3):bb");scanf("%d”,&n);if(n<1&&n>3)(m=1;getchar();elsem=0;while(m=1);switch(n)(case1:stat_o();break;case2:stat_u();break;case3:menu();voidstat_o()/*
13、统计人数*/intj,i,n,l;ints=0;puts("Pleaseinputthemonthyouwanttostatistics:");scanf("%d",&n);load_room();for(i=0;i<r;i+)for(j=0;j<p;j+)if(roomi.client_listj.month=n)s=s+1;printf("Thereare%dcustomerthismonth",s);puts("nnWhatyouwanttodo?n");puts("1).Sta
14、tisticsagaint2).backn");scanf("%d",&l);switch(l)(case1:stat_o();break;case2:stat();voidstat_u()/*统计使用中的房问*/(intj,l,s=0;load_room();for(j=0;j<p;j+)(if(roomj.sign=1)s+=1;printf("Thereare%droomsinuse",s);puts("nnWhatyouwanttodo?n");puts("1).Statisticsagain
15、t2).backn");scanf("%d",&l);switch(l)(case1:stat_u();break;case2:stat();printf_p(inti,intj)/*显示个人信息*/(printf("name:");puts(roomi.client_);printf("nsex:%dn",roomi.client_listj.sex);printf("nage:%dn",roomi.client_listj.age);puts("nID_card:
16、");printf("%s",roomi.client_listj.ID_card);printf("nyear:%dn",roomi.client_listj.year);printf("nmonth:%dn",roomi.client_listj.month);printf("ndate:%dn",roomi.client_listj.date);printf("nRoom_ID:%dn",roomi.room_ID);printf("nTel:%sn",roo
17、mi.tel);printf("nPrice:%dn",roomi.price);3查找模块查找模块查找模块流程图程序:/*查找函数*/voidsearch()(intn,m;do(puts("nntt*MENU*n");puts("tt1).Searchsomeonehaderevlivedheren");puts("tt2).Searchsomedayn");puts("tt3).MENU()”);puts("tt*n");printf("ttPleasechoiceyo
18、urnumber(1-3):bb");scanf("%d”,&n);if(n<1&&n>3)(m=1;getchar();elsem=0;while(m=1);switch(n)(case1:search_one();break;case2:search_day();break;case3:menu();voidsearch_one()/*查找个人*(inti,j,w=0,l,m,n;chars20;printf("Pleaseinputthenamen");scanf("%s",s);load_r
19、oom();for(i=0;i<r;i+)for(j=0;j<p;j+)if(strcmp(roomi.client_,s)=0)w=1,m=i,n=j;if(w=1)printf_p(m,n);elseprintf("nThereisnorecordheren");puts("Whatdoyouwanttodo?n");puts("1).searchagaint2).backn");scanf("%d”,&l);switch(l)(case1:search_one();break;c
20、ase2:search();voidsearch_day()/*查询某日的使用情况*/(inti,j,l,m,n,a,b,c,w=0;printf("nPleaseinputthedayyouwanttosearch");printf("nYear:");scanf("%d",&a);printf("nMonth:");scanf("%d",&b);printf("nDate:");scanf("%d",&c);load_room(
21、);for(i=0;i<p;i+)for(j=0;j<r;j+)if(roomi.client_listj.date=c)&&(roomi.client_listj.month=b)&&(roomi.client_listj.year=a)w=1,m=i,n=j,printf_p(m,n);if(w=0)printf("NOrecordthisdayn");puts("Whatyouwanttodo?n");puts("1).searchagaint2).backn");scanf(&quo
22、t;%d”,&l);switch(l)case1:search_day();break;case2:search();4修改模块需求分析该模块的功能是插入客户记录信息并且不能覆盖原有客户信息流程图修改模块流程图程序:voidmodify()/*修改函数*/(intn,m;doputs("tt*MENU*n");puts("tttt1).modifyonepeoplen");puts("tttt2).modifyonedayn");puts("tttt3).MENU()”);puts("tt*n")
23、;printf("ttPleasechoiceyournumber(1-3):bb");scanf("%d”,&n);if(n<1&&n>3)(m=1;getchar();elsem=0;while(m=1);switch(n)(case1:modify_one();break;case2:modify_day();break;case3:menu();voidmodify_one()/*修改个人信息*/(inti,j,m,n,w=0,l;chars20;puts("ttPleaseinputthename"
24、);scanf("%s”,s);load_room();for(i=0;i<r;i+)for(j=0;j<p;j+)if(strcmp(roomi.client_,s)=0)w=1,m=i,n=j;if(w=1)printf_p(m,n);elseprintf("nThereisnorecordheren");modify_s(m,n);save();puts("Whatyouwanttodo?n");puts("1).Modifyagaint2).backn");scanf("%d
25、”,&l);switch(l)case1:modify_one();break;case2:modify();voidmodify_s(inti,intj)/*修改执行项*/inta,q;chars20,b15;printf("nChoicethetitleyouwanttomodifyn");puts("1).Name2).sex3).age4)ID_card5).year6).month7).date8).room_ID9)tel10).price11).modifynonen");printf("Pleasechoiceyourn
26、umber(1-10):bb");scanf("%d”,&q);switch(q)case1:printf("Pleaseinputnewnamen");scanf("%s”,s);strcpy(roomi.client_,s);break;case2:printf("Pleaseinputnewsexn");scanf("%d",&a);roomi.client_listj.sex=a;break;case3:printf("Pleaseinputthene
27、wagen");scanf("%d",&a);roomi.client_listj.age=a;break;case4:printf("PleaseinputnewID_cardn");scanf("%s”,s);strcpy(roomi.client_list田.ID_card,s);break;case5:printf("Pleaseinputnewyearn");scanf("%d”,&a);roomi.client_list田.year=a;break;case6:printf(&
28、quot;Pleaseinputthenewmonthn");scanf("%d",&a);roomi.client_listj.month=a;break;case7:printf("Pleaseinputthenewdaten");scanf("%d",&a);roomi.client_listj.date=a;break;case8:printf("Pleaseinputthenewroom_IDn");scanf("%d”,&a);roomi.room_ID=a;
29、break;case9:printf("Pleaseinputthenewteln");scanf("%s”,b);strcpy(roomi.tel,b);break;case10:printf("Pleaseinputthenewpricen");scanf("%d”,&a);roomi.price=a;break;case11:modify();voidmodify_day()/*修改某日信息*/inti,j,l,a,b,c,w=0,m,n;puts("ttPleaseinputthedate");pu
30、ts("nYear:");scanf("%d”,&a);puts("nMonth:");scanf("%d”,&b);puts("nDate:");scanf("%d",&c);load_room();for(i=0;i<p;i+)for(j=0;j<r;j+)if(roomi.client_listj.date=c)&&(roomi.client_listj.month=b)&&(roomi.client_listj.year
31、=a)w=1,m=i,n=j;if(w=1)printf_p(m,n);elseprintf("NOrecordthisdayn");modify_s(m,n);save();puts("Whatyouwanttodo?n");puts("1).modifyagaint2).backn");scanf("%d",&l);switch(l)case1:modify_day();break;case2:menu();3、公共函数部分:1保存函数save()voidsave()/*保存函数*/(FILE*fp;i
32、nti,j;if(fp=fopen("room.txt","w")=NULL)(printf("nCannotopenfilen");returnNULL;for(i=0;i<r;i+)for(j=0;j<p;j+)fprintf(fp,”%d,%s,%d,%d,%s,%d,%d,%s,%d,%d,%d”,roomi.room_ID,roomi.tel,roomi.price,roomi.sign,roomi.client_,roomi.client_listj.sex,roomi.client_lis
33、tj.age,roomi.client_listj.ID_card,roomi.client_listj.year,roomi.client_listj.month,roomi.client_listj.date);fclose(fp);return1;2加载函数load_room()说明:该函数可以用来加应听有记录,并且可以返回所有记录的个数。voidload_room()/*加载函数*/(FILE*fp;structhotelroomN;inti,j;if(fp=fopen("room.txt","r")=NULL)(printf("nCannotopenfilen");return0;for(i=0;!feof(fp);i+)for(j=0;!feof(fp);j+)fscanf(fp,”%d,%s,%d,%d,%s,%d,%d,%s,%d,%d,%d”,&roomi.room_ID,roo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司墨模制作工设备安全技术规程
- 数控车工岗位应急处置技术规程
- 公司淡水鱼类繁育工设备技术规程
- 琴弓制作工岗前班组评比考核试卷含答案
- 水产品原料处理工安全宣传模拟考核试卷含答案
- 高频电感器包封工安全知识模拟考核试卷含答案
- 通信网络电缆线务员岗前决策判断考核试卷含答案
- 纺织印花制版工安全防护知识考核试卷含答案
- 玻璃配料熔化工安全意识水平考核试卷含答案
- 用电检查员岗前客户关系管理考核试卷含答案
- 护理中医院考试题及答案
- 2025年陕西交控集团社会招聘考试笔试参考题库附答案解析
- 2024精美经济法案例
- Unit5课时8ProjectReview(教学评一体教学设计)-仁爱科普版2024八年级上册英语
- 2025~2026学年广西名校高考模拟高三上学期第一次摸底考试数学试卷
- 2025至2030中国天麻素行业调研及市场前景预测评估报告
- 贵州二建公路考试试题(答案+解析)
- 流行性感冒的预防课件
- 2025四川宜宾市公用事业服务集团有限公司及其子公司第一批员工招聘26人笔试考试参考题库及答案解析
- 九香虫养殖技术
- 国网南瑞集团考试真题
评论
0/150
提交评论