ImageVerifierCode 换一换
格式:DOC , 页数:37 ,大小:186KB ,
资源ID:3429683      下载积分:12 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3429683.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(客房管理程序设计说明书.doc)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

客房管理程序设计说明书.doc

1、 目 录 一、设计题目 1 二、设计目的 1 三、设计分析 1 四、总体设计 1 五、详细设计 3 六、程序调试 7 七、结论 8 一、设计题目 简单的宾馆客房管理系统设计 二、设计目的 1. 运用已学过的知识进行一个简单的应用程序的开发。 2. 基本掌握设计课题的基本步骤和方法。 3. 掌握应用系统开发中的需求分析与数据库设计方法。 4. 基本掌握应用系统开发中设计文档的编制。 三、设计分析 本系统是在vc6.0的环境下进行开发的。系统按功能将分为四个模块,分别为查询模块,修改模块,删除模块,添加模块四部分。 以上功能将通过为四个

2、函数实现,其中查询函数拟可以实现按姓名查询和按房间号码查询。修改函数拟可以实现全部选项的修改并且选择一项后都会列出以前这项的存储信息。删除函数将实现了后一个结构体数组的数据来覆盖前一个结构体数组数据以达到删除的效果。添加函数拟实现分别列出已住房间的详细信息和未住房间的详细信息以供用户选择。 四、总体设计 (1)用户登录时将会选择y或n,y表示用户第一次使用此系统,这时我们需要将结构体数组数组的内容初始化,如果选择n则表示用户不是第一次使用该系统可以继续进行上一次的操作。 (2)数据载入管理:系统的数据载入将是由文件写入定义的结构体数组数组里,这样方便了管理者维护和查询数据。 (3)可

3、视化界面:为了方便管理者使用系统,系统的大多数界面将是采用汉英双字幕显示并且界面将简单明了的显示出各选项。 (4)查询函数:查询函数中将提供按姓名查询和按房间号码查询两种方法以方便用户查询。 (5)删除函数:在此函数中系统将利用后一个结构体数组的数据来覆盖前一个结构体数组数据以达到删除的效果,并同时改变此时房间的容纳量。 (6)修改函数:首先从指定文件写入基本数据到指定的结构体数组,然后请用户输入想修改的房间号码,然后会列出修改的全部选项以供用户选择,并且选择一选项后都会列出以前这项的存储信息以方便用户修改。 (7)添加函数:在添加函数里系统将会分别列出已住房间的详细信息和未住房间的详

4、细信息以供用户方便的选择。在此函数中系统中添加了一些容错代码防止用户由于疏忽而导致的输入错误,比如判断用户输入的数据是否在系统容许的范围内,系统的系统功能结构图如图1所示。 查询模块 修改模块 添加模块 删除模块 客房管理系统 按姓名查询 按房间号码查询 修改用户信息 添加新用户 删除用户信息 图1 系统功能结构图 2. 结构体设计 结构体中一共包含住户个人信息、客房基本信息这两部分。现在列举出了本系统比较重要的结构体数组的详细结构,包括字段名、数据类型以及它的说明,是否可以为空等。具体设计如下: 如表

5、1所示,该表用于记录本系统用到住户个人结构体数组里分量的基本信息,包括的分量项目有name、sex、age、id_card、year、month、date。 表1住户个人结构体分量信息表 字段名 数据类型 长度 说明 Name Char 20 姓名 sex int 4 性别 age Int 4 年龄 Id_card Char 20 身份证号 year Int 4 年 month Int 4 月 date Int 4 日 如表2所示,该表用于记录本系统用到的客房结构体数组里分量的基本信息,包括的分量项目有room_id

6、tel、price、sign。 表2客房结构体分量信息表 字段名 数据类型 长度 说明 Room_id Char 20 姓名 tel int 4 性别 price Int 4 年龄 sign Char 20 身份证号 五、详细设计 1.查询模块 本系统分两种方式来完成查询功能即按姓名查询和按房间号码查询。在如图2所示界面中显示两种查询方式及信息,接收用户输入选项后进入相应查询界面。 图 2查询函数功能图 当用户选择1后进入按房间号码查询界面如图3所示。 图 3按号码查询界面

7、 当用户选择2后进入按姓名查询界面如图4所示。 图4按姓名查询界面 按房间号码查询首先从指定文件写入基本数据,为了防止用户错误操作我们设置了容错系统比如有1-50个房间供查询而用户输入的数据不在此范围内编写了do{ if(n<1||n>N) { a=1; printf("\n输入错误!!!\n\t请再一次输入:(1-%d),Room[ ]\b\b",N); } else a=0; }while(a==1); 这段代码来防止用户的错误。 按姓名查询时首先从指定文件写入基本数据,我们利用strcmp这个

8、函数来比较用户查询的姓名与结构体数组中的姓名是否一样,当一样时会跳出循环这时i的值就是我们要查找的姓名所在结构体数组的标号。 2.删除模块 在此函数中我们利用后一个结构体数组的数据来覆盖前一个结构体数组数据以达到删除的效果。如图5所示。 图 5删除函数效果图 3.修改模块 首先从指定文件写入基本数据然后请用户输入想修改的房间号码然后会列出修改的全部选项并且每一项都会列出以前这项的存储信息以方便用户修改,其中选项包括房间号码、电话号码、价格、标记、姓名、性别、年龄、身份证号码、年、月、日。如图6所示。 图6修改函数功能

9、图 当你选择修改的选项后系统会列出以前此项的存储信息和“修改成功”的字样如图7所示。 图7修改函数选项修改功能图 4.添加模块 在添加函数里系统会分别列出已住房间的详细信息和未住房间的详细信息以供用户方便的选择,如图8所示。 图 8分别显示功能图 在用户选择房间时添加函数会让用户输入姓名,性别,年龄,身份证号等个人信息。如图9所示。 图 9添加函数功能图 六、程序调试 1.不熟悉fprintf函数所导致的

10、问题 fprintf(fp,"%d %d %d %d %s %d %d %s %d %d %d",sum[i].room_ID,sum[i].tel,sum[i].price,sum[i].sign,sum[i].Client_list.name,sum[i].Client_list.sex,sum[i].Client_list.age,sum[i].Client_list.ID_card,sum[i].Client_list.year,sum[i].Client_list.month,sum[i].Client_list.date); 在括号中的第一项要指出文件的位置,但在编程时由于对

11、函数的不熟悉而造成了遗漏此项,耽误了很多时间。 2.在查询函数中遇到了文件写入出错的问题 在从文件向指定结构体数组里写入数据时一开始是用以下代码: if((fp=fopen("file.txt","w"))==NULL) {printf("\nCan not open the file!!!\n");exit(0);} for(i=0;i

12、是整个系统比较适合小型的宾馆客房使用。没有过多的其他附加功能,只是简单的将如何添加、删除、修改,查询功能实现,然后在此基础上进行了递阶性的开发,比如将查询功能方式扩展成按姓名查询和按房间号码查询两种。修改函数中将修改部分逐一展开方便用户选择性修改,使修改的目的性增强,添加函数中实现了已住房间信息和未住房间信息分开显示的功能删除函数中利用了后一个结构体数组数据覆盖前一结构体数组数据的方法。为了更好的展现该系统,考虑用户的使用的方便以及网络因素,系统采用的是单一的页面反复使用,更好的实现了系统的连接性。 开发过程中,由于是开发者自身的设计和编写,所以在某些功能上可能与实际的需求有出入,主要是在是

13、技术上和需求分析上问题。因此该系统还是有尚需要改进的部分,主要有按姓名查询和删除功能编辑的不是很完善与现实有冲突。 附录(程序源代码): #include #include #include #define N 50 int nownumber=3; int left=47; struct Client{ char name[20]; int sex; int age; char ID_card[20]; int year; int month; int date; }; struct

14、 Hotel{ int room_ID; int tel; int price; int sign; struct Client Client_list; }sum[N]; main() { int i; char c; FILE *fp; void menu(); void enter(); void search(); void modify(); void leave(); printf("\n\n\n\n\t-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

15、"); printf("\n\n\n\t\tWelcome to the systerm of hotel management!!!\n\t\t\t(欢迎来到酒店客房管理系统)\n\n\n"); printf("\t-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-\n\n\n"); printf("\t\t你想新建文件吗?:(y/n)\tI choose [ ]\b\b"); scanf("%c",&c); if(c=='y') { for(i=0;i

16、m[i].room_ID=i+1; sum[i].tel=800+i; sum[i].price=80; sum[i].sign=0; } if((fp=fopen("d:\\ff.txt","w"))==NULL) { printf("\nCan not open the file!!!\n"); exit(0); } fprintf(fp,"房间号码 电话号码 价格 标记 姓名 性别 年龄 身份证号码 年 月 日\n"); for(i=0;i

17、d %d %s %d %d %s %d %d %d\n",sum[i].room_ID,sum[i].tel,sum[i].price,sum[i].sign,sum[i].Client_list.name,sum[i].Client_list.sex,sum[i].Client_list.age,sum[i].Client_list.ID_card,sum[i].Client_list.year,sum[i].Client_list.month,sum[i].Client_list.date); fclose(fp); } else { if((fp=fop

18、en("d:\\ff.txt","r"))==NULL) { printf("\nCan not open the file!!!\n");exit(0); } for(i=0;i

19、Client_list.ID_card,&sum[i].Client_list.year,&sum[i].Client_list.month,&sum[i].Client_list.date); for(i=0;i

20、n\n"); printf("\t\t\t 1.New customer (添加新用户)\n\n"); printf("\t\t\t 2.Search room (查询房间信息)\n\n"); printf("\t\t\t 3.Modify customer(修改用户信息)\n\n"); printf("\t\t\t 4.Leave (离开删除)\n\n"); printf("\t\t\t 5.Exit (退出程序)\n\n\n"); printf("\t****************************

21、\n\n"); printf("You choose number(1-5)[ ]\b\b"); scanf("%d",&n); if(n<1||n>5) { a=1; printf("\nWrong number!!!\n\nPrint any key to continue ...\n"); getch(); } else a=0; }while(a==1); switch(n) { case 1:enter();break; case 2

22、search();break; case 3:modify();break; case 4:leave();break; case 5:exit(0);break; } } void enter() { FILE *fp; char z[100]; char x[100]; char q[100]; char w[100]; char r[100]; char g[100]; char j[100]; char k[100]; char l[100]; char m[100]; char v[100]; char

23、 buffer[1000]; char c; int u; int i; int t; int e; do{ if(fp=fopen("d:\\ff.txt","r")) { fscanf(fp,"%s %s %s %s %s %s %s %s %s %s %s",z,x,q,w,r,g,j,k,l,m,v); printf("%s %s %s %s %s %s %s %s %s %s %s\n", z,x,q,w,r,g,j,k,l,m,v); for(u=0;u

24、ts(buffer,100,fp); fscanf(fp,"%d %d %d %d %s %d %d %s %d %d %d",&sum[u].room_ID,&sum[u].tel,&sum[u].price,&sum[u].sign,sum[u].Client_list.name,&sum[u].Client_list.sex,&sum[u].Client_list.age,sum[u].Client_list.ID_card,&sum[u].Client_list.year,&sum[u].Client_list.month,&sum[u].Client_list.date);

25、 printf(" %d %d %d %d %s %d %d %s %d %d %d\n",sum[u].room_ID,sum[u].tel,sum[u].price,sum[u].sign,sum[u].Client_list.name,sum[u].Client_list.sex,sum[u].Client_list.age,sum[u].Client_list.ID_card,sum[u].Client_list.year,sum[u].Client_list.month,sum[u].Client_list.date); }

26、 } else printf("can not open the file....."); printf("\n已经住人房间的基本信息\n"); printf("\n以下是未住人房间的基本信息\n"); fscanf(fp,"%s %s %s %s %s %s %s %s %s %s %s",z,x,q,w,r,g,j,k,l,m,v); printf("%s %s %s %s %s %s %s %s %s %s %s\n", z,x,q,w,r,g,j,k,l,m,v); for(u=nownumber;u

27、 fgets(buffer,100,fp); fscanf(fp,"%d %d %d %d %s %d %d %s %d %d %d",&sum[u].room_ID,&sum[u].tel,&sum[u].price,&sum[u].sign,sum[u].Client_list.name,&sum[u].Client_list.sex,&sum[u].Client_list.age,sum[u].Client_list.ID_card,&sum[u].Client_list.year,&sum[u].Client_list.month,&sum[u].Client_list.da

28、te); printf(" %d %d %d %d %s %d %d %s %d %d %d\n",sum[u].room_ID,sum[u].tel,sum[u].price,sum[u].sign,sum[u].Client_list.name,sum[u].Client_list.sex,sum[u].Client_list.age,sum[u].Client_list.ID_card,sum[u].Client_list.year,sum[u].Client_list.month,sum[u].Client_list.date);

29、 } printf("\n\nWhich room are you going to rent:(%d-%d)Room[ ]\b\b",nownumber+1,N); scanf("%d",&e); if(e>=1&&e<=N) { e--; if(sum[e].sign==0) { printf("\n 请输入姓名:"); scanf("%s",sum[e].Client_list.name); printf("\n\t请输入性别:(1 stands for F,2 stands for M)");

30、 scanf("\n\t%d",&sum[e].Client_list.sex); printf("\n\t请输入年龄:"); scanf("%d",&sum[e].Client_list.age); printf("\n\t请输入身份证号:"); scanf("%s",sum[e].Client_list.ID_card); printf("\n\t入住日期(year month date--For example:2009 7 24):"); scanf("%d%d%d",&sum[e].Client_list.yea

31、r,&sum[e].Client_list.month,&sum[e].Client_list.date); printf("\nThis is the data you just input:\n"); printf("\n 姓名 性别 年龄 身份证号码 年/月/日 \n"); printf(" %s\t%d\t%d\t%s",sum[e].Client_list.name,sum[e].Client_list.sex,sum[e].Client_list.age,sum[e].Client

32、list.ID_card); printf("\t%d.%d.%d",sum[e].Client_list.year,sum[e].Client_list.month,sum[e].Client_list.date); printf("\n\tSave?(y/n):"); getchar();c=getchar(); if(c=='y') {sum[e].sign=1; nownumber++; left--; if((fp=fopen("file.txt","w"))==NULL) {printf("

33、\nCan not open the file!!!\n");exit(0); } for(i=0;i

34、t_list.month,sum[i].Client_list.date); printf("\n Successful O(∩_∩)O~!\n"); printf(" 你房间的电话号码是:%d\n\t 电话号码是:%d\n\t 价格:%d",sum[e].room_ID,sum [e].tel,sum[e].price); fclose(fp

35、); } } else printf("\n Sorry!这个房间已经住人!!!\n\n"); } else printf("\n Wrong number!!!\n"); printf("\n\n\t\t\t\t再一次输入吗?(y/n):"); getchar(); c=getchar(); if(c=='y') t=1; else t=0; }while(t); printf("Print any key to continue ...\n"); getch(); men

36、u(); } void search() { char z[100]; char x[100]; char q[100]; char w[100]; char r[100]; char g[100]; char j[100]; char k[100]; char l[100]; char m[100]; char v[100]; char name[20]; int u; char buffer[1000]; FILE *fp; int o,i,a; char c; printf("\t\t1.按房间号码查询\

37、n\t\t2.按姓名查询\n"); printf("请选择查询的方式:[ ]\b\b"); scanf("%d",&i); switch(i) { case 1: if(fp=fopen("d:\\ff.txt","r")) { int u; fscanf(fp,"%s %s %s %s %s %s %s %s %s %s %s",z,x,q,w,r,g,j,k,l,m,v); for(u=0;u

38、d %s %d %d %s %d %d %d",&sum[u].room_ID,&sum[u].tel,&sum[u].price,&sum[u].sign,sum[u].Client_list.name,&sum[u].Client_list.sex,&sum[u].Client_list.age,sum[u].Client_list.ID_card,&sum[u].Client_list.year,&sum[u].Client_list.month,&sum[u].Client_list.date); } } else printf("can not

39、 open the file....."); for(u=0;u

40、se { printf("房间号码 %d:\n\t姓名:%s\n\t性别:%d (1 stand for 女,2 stand for 男)\n\t年龄:%d\n\t身份证号:%s\n\t入住时间:%d.%d.%d\n",o,sum[u].Client_list.name,sum[u].Client_list.sex,sum[u].Client_list.age,sum[u].Client_list.ID_card,sum[u].Client_list.year,sum[u].Client_list.month,sum[u].Client_list.date); p

41、rintf("This room's telephone number:%d\n\t\t\tprice:%d\n\t",sum[u].tel,sum[u].price); if(sum[u].sign) printf("\n已经被占用!!!\n\n"); else { printf("\n\t空房间!\t你准备预定吗?(y/n)[ ]\b\b"); getchar(); c=getchar(); printf("\n"); if(c=='y') enter(); } fclose(f

42、p); printf("Print any key to continue ...\n"); getch(); menu(); } case 2: printf("请输入要查询的姓名:name[ ]\b\b\b\b"); scanf("%s",name); if(fp=fopen("d:\\ff.txt","r")) { fscanf(fp,"%s %s %s %s %s %s %s %s %s %s %s",z,x,q,w,r,g,j,k,l,m,v); for(u=0;

43、u

44、m[u].Client_list.date); } } else printf("can not open the file....."); for(i=0;i

45、s\n\t性别:%d (1 stand for 女,2 stand for 男)\n\t年龄:%d\n\t身份证号:%s\n\t入住时间:%d.%d.%d\n",sum[i].room_ID,sum[i].Client_list.name,sum[i].Client_list.sex,sum[i].Client_list.age,sum[i].Client_list.ID_card,sum[i].Client_list.year,sum[i].Client_list.month,sum[i].Client_list.date); printf("This room's te

46、lephone number:%d\n\t\t\tprice:%d\n\t",sum[i].tel,sum[i].price); if(sum[i].sign) printf("\n已经被占用!!!\n\n"); else { printf("\n\t空房间!\t你准备预定吗?(y/n)[ ]\b\b"); getchar(); c=getchar(); printf("\n"); if(c=='y') enter(); } fclose(fp); printf(

47、"Print any key to continue ...\n"); getch(); menu(); } } } void modify() { char z[100]; char x[100]; char q[100]; char w[100]; char r[100]; char g[100]; char j[100]; char k[100]; char l[100]; char m[100]; char v[100]; int u; char buffer[1000]; FILE

48、 *fp; int i,n,t,a; char c; printf("请输入你准备修改的房间号码:(1-%d)Room[ ]\b\b",N); scanf("%d",&n); n--; if(fp=fopen("d:\\ff.txt","r")) { int u; fscanf(fp,"%s %s %s %s %s %s %s %s %s %s %s",z,x,q,w,r,g,j,k,l,m,v); printf("%s %s %s %s %s %s %s %s %s %s %s\n", z,x,q,w,r,g,j,k,l,m,v);

49、for(u=0;u

50、ist.month,&sum[u].Client_list.date); printf(" %d %d %d %d %s %d %d %s %d %d %d\n",sum[u].room_ID,sum[u].tel,sum[u].price,sum[u].sign,sum[u].Client_list.name,sum[u].Client_list.sex,sum[u].Client_list.age,sum[u].Client_list.ID_card,sum[u].Client_list.year,sum[u].Client_list.mo

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服