语言旅馆管理系统.doc
《语言旅馆管理系统.doc》由会员分享,可在线阅读,更多相关《语言旅馆管理系统.doc(48页珍藏版)》请在咨信网上搜索。
1、目录一、题目规定(3)二、需求分析(3)三、 总体设计(4)四、 具体设计(5)1、 主函数main(5)2、 主菜单函数 menu(6)3、 登录模板enter(8)4、 记录模板count(10)5、 查询模板search(12)6、 修改模板modify(14)7、 离开模板leave(16)五、运营结果(19)六、总程序七、总结(30)一、 题目规定规定编写一个旅馆客房管理系统,系统涉及新用户登录功能、记录功能、查询功能、修改功能。建立如下结构体:struct Clientchar name20; int sex; int age; char ID_card20;/身份证号码; int
2、 year; int month; int date;/居住时间; ;struct Hotel int room_ID;/房间号; int tel; int price; int sign;/标记房间是否为空; struct Client Client_list;/实现结构体的嵌套; sumN;二、需求分析根据题目规定,房间信息数据存放在一个文本文献中;通过文献的输入和输出来实现新用户登录、记录、查询、修改等各项功能;且各项功能能独立完毕,不受其它工程是否完毕的影响;程序中应设有主菜单函数,通过主菜单函数可以调用各个功能函数,各个功能函数操作完毕后可以回到主菜单,等待下一个操作;还应设有菜单选
3、项,能通过键盘操作实现选择;同时,应有通道退出程序;三、总体设计通过度析,整个系统应涉及以几个模板:登录模板enter、记录模板count、查询模板search、修改模板modify、离开模板leave、退出。系统功能模块图客房管理系统记录模板count查询模板search修改模板modify离开模板leave退出登录模板enter主菜单函数menu四、具体设计1、 主函数main通过主函数,可以实现数据赋初值,函数的原形声明,为以后的操作做准备。流程图N变量i加1YNY变量i加1YNYNY是否新建数据库数据赋初值用fwrite向文献写入数据新建file.txt是否成功读取file.txt是否
4、成功输犯错误信息输犯错误信息NNY用fread从文献读入数据判断是否读完判断是否写完变量i加1判断i是否小于房间数NY判断房间是否有人Left-调用住菜单函数menu关闭文献进入系统程序main()int i;char c;FILE *fp;void menu();void enter();void count();void search();void modify();void leave();printf(nnnnt-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-);printf(nnnttWelcome to the
5、systerm of hotel management!nnn);printf(t-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-nnn);printf(ttAre you going to new the file:(y/n)tI choose bb); scanf(%c,&c);if(c=y) for(i=0;iN;i+) sumi.room_ID=i+1; sumi.tel=800+i; sumi.price=100; sumi.sign=0; if(fp=fopen(file.txt,w)=NULL) printf(
6、nCan not open the file!n);exit(0); for(i=0;iN;i+) fwrite(&sumi,sizeof(struct Hotel),1,fp); else if(fp=fopen(file.txt,r)=NULL) printf(nCan not open the file!n);exit(0); for(i=0;iN;i+) fread(&sumi,sizeof(struct Hotel),1,fp); for(i=0;iN;i+) if(sumi.sign) left-; fclose(fp);menu();2、 主菜单函数menu为了使系统执行完没部分
7、功能模快后能通过调用函数方便的返回到系统界面,设次函数。同只这个函数中能设立了各个功能的入口。流程图YN显示一系列的功能选项输入n,判断n是否1-6之内调用enter函数调用count函数调用search函数调用modify函数调用leave函数退出程序void menu()int n,a;do printf(nnnnt*MENU*nn); printf(tttt1.New customern); printf(tttt2.Count roomsn); printf(tttt3.Search roomn); printf(tttt4.Modify customern); printf(tttt
8、5.Leaven); printf(tttt6.Exitnn);printf(t*nn); printf(You choose number(1-6) bb); scanf(%d,&n); if(n6)a=1; printf(nWrong number!nnPrint any key to continue .n); getch(); else a=0; while(a=1); switch(n)case 1:enter();break; case 2:count();break; case 3:search();break; case 4:modify();break; case 5:lea
9、ve();break; case 6:exit(0);break; 3、 登录模板enter此模块用于新用户的登录,在此模块中规定输入新用户的姓名、性别,年龄,身份证号,入住时间。并将数据存入名为file.txt的文献中。流程图NYNYYNNNY打开file.txt文献是否成功开始输犯错误信息从文献中读如数据输入想租用的房间号e判断e是否在1-N之内判断n房间是否被占用Y输入新用户信息是否保存输犯错误房间号输出该房间以被占用向文献输出数据输出保存成功,并输出结果,left-是否还需要房间调用主菜单函数程序void enter() FILE *fp; char c; int i,t=0; int
10、 e; clrscr(); do if(fp=fopen(file.txt,r)=NULL) printf(nCan not open the file!n);exit(0); for(i=0;i=1&e=N) e-; if(sume.sign=0) printf(nPlease input your name:); scanf(%s,sume.Client_list.name); printf(ntsex:(1 stands for F,2stands for M); scanf(nt%d,&sume.Client_list.sex); printf(ntage:); scanf(%d,&s
11、ume.Client_list.age); printf(ntID_card:); scanf(%s,sume.Client_list.ID_card); printf(ntdate(year month date):); scanf(%d%d%d,&sume.Client_list.year,&sume.Client_list.month,&sume.Client_list.date); printf(nThis is the data you just input:n);printf(%st%dt%dt%s,sume.Client_list.name,sume.Client_list.se
12、x,sume.Client_list.age,sume.Client_list.ID_card);printf(t%d.%d.%d,sume.Client_list.year,sume.Client_list.month,sume.Client_list.date); printf(ntSave?(y/n):); c=getchar();c=getchar(); if(c=y) sume.sign=1; left-; if(fp=fopen(file.txt,w)=NULL) printf(nCan not open the file!n);exit(0); for(i=0;iN;i+) fw
13、rite(&sumi,sizeof(struct Hotel),1,fp); printf(nSuccessful!n);printf(Your room number: %dnttel: %dntprice: %d ,sume.room_ID,sume.tel,sume.price); fclose(fp); else printf(nSorry!This room has been taken!nn); else printf(nWrong number!n);printf(nnttttAgain?(y/n):);getchar();c=getchar();if(c=y) t=1;else
14、 t=0; while(t=1); printf(Print any key to continue .n); getch();menu();4、 记录模板count此部分用于对客房数据进行记录管理。涉及客房占用情况,占用人的各项数据,总房间数,客房剩余数。应输出所有房间的情况,以便进行记录。流程图NNYYNY开始打开file.txt文献是否成功输犯错误信息从文献中读如数据输出房间数及剩余房间数i是否小于N输出用户及房间信息输出数据组数是否为5的倍数从外界得到任意一个字符关闭文献调用主菜单函数程序void count()FILE *fp;int i,j;if(fp=fopen(file.txt
15、,r)=NULL)printf(nCan not open the file!n);exit(0);for(i=0;iN;i+)fread(&sumi,sizeof(struct Hotel),1,fp);printf(Room %dntname:%sntsex:%d (1 stand for female,2 stand for male)ntage:%dntID_card:%s,i+1,sumi.Client_list.name,sumi.Client_list.sex,sumi.Client_list.age,sumi.Client_list.ID_card);printf(nttime
16、:%d.%d.%dn,sumi.Client_list.year,sumi.Client_list.month,sumi.Client_list.date);if(sumi.sign)printf(tttTaken!n);else printf(tttUntaken!n);if(i%3=2) printf(nnPrint any key to next page!n); getch(); printf(nEnd!nn); printf(There are %d rooms with %d empty.n,N,left);fclose(fp);printf(Print any key to co
17、ntinue .n);getch();menu();5、 查询模板search此部分用于客户对某一客房进行查询,涉及房间占用情况,客户信息,房间的各种数据。流程图YNYYNNYN开始输入房间号nn是否大于0小于N打开file.txt文献是否成功输犯错误信息从文献中读入数据输出指定客房的信息判断是否被占用输出已经被占用判断是否想租用调用enter函数调用主菜单函数程序void search()int n,i,a;FILE *fp;char c;printf(Which room are you going to search?(1-%d):Room bb,N);do scanf(%d,&n);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 旅馆 管理 系统
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。