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

加入VIP,免费下载
 

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

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(客房管理系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

客房管理系统.docx

1、客房管理系统C 语 言 课 程 设 计题 目: 客房管理系统设 计 者:专 业: 班级学号:学 号:所属院系:机电学院指导教师:日以下是报告正文1. 题目与要求:客房管理系统 系统包括新用户登记功能,统计功能,查询功能,修改功能。1.1问题提出与要求:建立如下结构体:Struct ClientChar Name20;int Sex;int Age;char ID-card ; /*居民身份证*/ int year ;int month;int date; ;Struct HotelInt Room-ID; /*房间号*/Int Tel;int Price;bool sign; /*标记房间是否

2、为空房间*/Struct Client Client-list; /*实现两结构体的嵌套*/ RoomNUM 需求分析根据题目要求,客房信息要用文件存储,提供文件的输入输出操作;在程序中需要对客房具有登记,统计,查询和修改的功能;另外还要用键盘式菜单实现功能选择.2.功能实现设计:2.1总体设计:下面来分析一下整个系统,根据上面的要求分析,可将这个系统设计为五大模块(见下图):注册模块,统计模块,查询模块,修改模块,退出模块。其主要功能为:注册,统计,查询,修改功能。2.2详细设计: 2.2.1主函数主函数一般设计得比较简洁,提供输入,功能处理和输出部分的函数调用。其中各功能模块用菜单方式选择

3、。流程图程序void main() /*主函数*/ int n,w=1; /*变量n保存选择菜单数字,w判断输入的数字是否在功能菜单对应的数字范围之内*/ struct Hotel *info; while(w)puts(tt C语言课程设计 客房管理系统 n);puts(tt 072084班 丁超 学号:20081003552n);puts(tt*n);puts(tt*MENU*n);puts(tt*1 registration*n); /*注册*/ puts(tt*2statistic*n); /*统计*/ puts(tt*3search*n); /*查询*/ puts(tt*4modif

4、y *n); /*修改*/ puts(tt*5exit*n); /*退出*/ puts(tt*n); puts(tt*n); printf(Choice your number(1-5):bb); scanf(%d,&n); if(n5) /*对选择的数字作判断*/ w=1; getchar(); switch(n) case 1:regi();break; /*注册模块*/ case 2:stat();break; /*统计模块*/ case 3:search();break; /*查询模块*/ case 4:modify();break; /*修改模块*/ case5:tuichu();b

5、reak; /*退出模块 */ default: break; getchar(); 2.2.2 功能模块设计2.2.2.1 注册模块 单独看各数据信息,身份证号码均是字符型,可采用字符型数组;用户在填完个人信息,即可进行房间预定。流程图程序regi() /*注册模块*/ int i,n; struct Hotel *info; char s10; char a10=have; printf( people number:n); scanf(%d,&n); for(i=0;iRoom_ID,10); if(!(char*)(info-Room_ID)0) break; inputs( t ha

6、ve people put have nopeople put nulln,info-person,10); if(strcmp(a,info-person) inputs(t name:n,info-Client_list.Name,20); inputs(t sex:n,info-Client_list.Sex,10); inputs(t age:n,info-Client_list.Age,10); inputs(t Id_card:n,info-Client_list.ID_card,20); inputs(t year:n,info-Client_list.year,10); inp

7、uts(t month:n,info-Client_list.month,10); inputs(t date:n,info-Client_list.date,10); inputs(t Tel:n,info-Tel,10); inputs(t Price:n,info-Price,10); printf(t registration donen); start=dls_store(info,start); inputs(char *prompt, char *s,int count) char p255; do printf(%s,prompt); scanf(%s,p); if(strle

8、n(p)count) printf( too long!n ); while(strlen(p)count); strcpy(s,p); struct Hotel *dls_store(struct Hotel *i,struct Hotel *top) static struct Hotel *last=0; struct Hotel *old,*p; if(last=NULL) i-next=NULL; i-prior=NULL; last=i; return i; p=top; old=NULL; while(p) if(strcmp(p-Room_ID,i-Room_ID)next;

9、else if(p-prior) p-prior-next=i; i-next=p; p-prior=i; return top; i-next=p; i-prior=0; p-prior=i; return i; old-next=i; i-next=0; i-prior=old; last=i; return start; 2.2.2.2 统计模块有两种数据进行统计,被占用的房间和未被占用的房间。流程图程序stat() /*统计模块*/ struct Hotel *info; char a10=null; char b10=have; int c,count=0; printf(t sta

10、tistic the used Room_ID put 1, the unused Room_ID put 2 n); scanf(%d,&c); if(c=1) info=start; while(info) if(!strcmp(a,info-person) printf(Room_ID %s n,info-Room_ID); count+; info=info-next; printf(t used rooms are%sn,count); /*统计被占用的房间*/ if(c=2) info=start; while(info) if(!strcmp(b,info-person) pri

11、ntf(t Room_ID %s n,info-Room_ID); count+; info=info-next; printf(t unused rooms are%sn,count); /*统计未被占用的房间*/ display(struct Hotel *info) printf(tt name:%sn,info-Client_list.Name); printf(tt sex:%sn,info-Client_list.Sex); printf(tt age:%sn,info-Client_list.Age); printf(tt Id_card:%sn,info-Client_list

12、.ID_card); printf(tt year:%sn,info-Client_list.year); printf(tt month:%sn,info-Client_list.month); printf(tt date:%sn,info-Client_list.date); printf(tt Tel:%sn,info-Tel); printf(tt Price:%sn,info-Price); printf(n); 2.2.2.3 查询模块查询通常可细分为分类查找,此题中分为合适查找,被占用查找,未被占用查找。再与统计信息进行对应,显示对应数据,则用户即可知道合适房间。程序 sear

13、ch() /*查询模块*/ int b; printf( t search the fixed room put 1n); printf( t search the used room put 2n); printf( t search the unused room put 3n); printf( t back to the main menu put 4n); do scanf(%d,&b); switch(b) case 1: search1();break; case 2: search2();break; case 3: search3();break; case 4: retur

14、n; while(b4); struct Hotel *find(char *Room_ID) struct Hotel *info; info=start; while(info) if(!strcmp(Room_ID,info-Room_ID) return info; info=info-next; printf( t cant findn); return (NULL); search1() char Room_ID10; struct Hotel *info; printf( t put the Room_ID n); scanf(%s,Room_ID); getchar(); in

15、fo=find(Room_ID); if(!info) printf( t cant findn); else display(info); search2() struct Hotel *info; char a10=null; info=start; while(info) if(!strcmp(info-person,a) display(info); printf(n); info=info-next; search3() struct Hotel *info; char b10=have; info=start; while(info) if(!strcmp(b,info-perso

16、n) display(info); printf( n ); info=info-next; save() register int t,size; struct Hotel *info; char *p; FILE *fp; if(fp=fopen(mlist,wb)=0) printf( t file cant openn); exit(0); printf(t savingn); size=sizeof(RoomNUM); info=start; while(info) p=(char*)info; for(t=0;tnext; putc(EOF,fp); fclose(fp); pri

17、ntf(t savedn); 2.2.2.4修改模块该模块的功能是显示用户要修改的信息。用户输入要修改的信息,根据输入信息查对应选项,并提示用户修改该记录的那部分信息,根据用户的选项修改相应的信息。流程图程序modify() /*修改模块*/ struct Hotel *info; char Room_ID10; char a10=have; char c10=null; int b,f; printf( t examine the information 1n); /*检验信息*/ printf( t change the information 2n); /*修改信息*/ printf(

18、t back to the main menu 3n); /*返回主菜单*/ scanf(%d,&b); if(b=1)search(); if(b=2) printf( t put the Room_IDn); scanf(%s,Room_ID); info=find(Room_ID); if(!info)printf(t cant findn); else display(info);printf(t Change Entry n); if(!strcmp(a,info-person) inputs(t put null:n,info-person,10); if(!strcmp(c,in

19、fo-person) inputs(t name:n,info-Client_list.Name,20); inputs(t sex:n,info-Client_list.Sex,10); inputs(t age:n,info-Client_list.Age,10); inputs(t Id_card:n,info-Client_list.ID_card,20); inputs(t year:n,info-Client_list.year,10); inputs(t month:n,info-Client_list.month,10); inputs(t date:n,info-Client

20、_list.date,10); inputs(t Tel:n,info-Tel,10); inputs(t Price:n,info-Price,10); if(b=3) return; 2.2.2.5 退出模块该模块需要有保存,退出,返回三个操作。程序程序tuichu() /*退出模块*/ int d; printf(t suggest you save the message,if save put 1,sure to exit put 2 ,back to main menu put 3n); scanf(%d,&d); if(d=1) save(); /*保存*/ if(d=2) pr

21、intf(t Thank you for useing the system!n); /*退出*/ if(d=3) printf(t backn); /*返回*/ exit(0); 3. 学习心得在老师的带领下进行了C语言程序实践学习。在短短一周的实习期间使我获取了不少新知识也巩固了许多老知识。在这之前,我们已经对C语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在学习了解的范围,对里面的好多东西还是很陌生,并不是很熟练,有着许多欠缺,更多的在运用起来的时候还是感到很不好动手。C语言是需要有一定基础、而且动手能力强的学科。上机实验是学习程序设计语言必不可少的实践环节,特别是C语

22、言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、巩固贯穿系统知识、掌握程序设计方法、提高程序设计能力,这些都必须通过充分的实际上机操作才能完成。课堂上许多关于C语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用C语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握C语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,更加巩固了学过的知识,而且在设计的时候学要系统的知识,也是一个较大的挑战,某一方面知

23、识的欠缺都将影响到整个程序的设计。这次上机实习让我学到了很多有用的东西,巩固了之前的学习,让我学到了在教室和做题中学不到的一些知识,通过这个程序的学习,使我进一步理解和运用结构化程序设计的思想和方法。初步掌握开发一个小型实用系统的基本方法,学会调试一个比较长程序的基本方法,学会利用流程图表示算法,进一步掌握和提高利用C语言进行程序设计的能力。我认为,这次实习对于我是非常有意义的,对我个人的影响比较大,对我的动手能力有了很大的提高。 4. 程序运行结果:(1)对于客房管理系统的首页数据运行结果见下图:(2) 对于注册模块的操作如下:输入“1”按下”enter”进入注册操作。数据运行结果见下图:(3)对于统计模块的操作如下:输入“2”按下”enter”进入取车操作。数据运行结果见下图:(4)对于查询模块的操作如下:输入“3”按下”enter”进入取车操作。数据运行结果见下图:(5)对于修改模块的操作如下:输入“4”按下”enter”进入取车操作。数据运行结果见下图:(6)对于退出模块的操作如下:输入“5”按下”enter”进入取车操作。数据运行结果见下图:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1