酒店客户入住登记管理课程设计.doc_第1页
酒店客户入住登记管理课程设计.doc_第2页
酒店客户入住登记管理课程设计.doc_第3页
酒店客户入住登记管理课程设计.doc_第4页
酒店客户入住登记管理课程设计.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计课程设计论文设计项目:酒店客户入住登记管理学 号: 姓 名: 专业班级: 指导教师: 日 期: 目 录1. 程序名称- 1 -2. 设计目的- 2 -3. 设计思路- 2 -4. 程序功能- 2 - 增加客户记录- 2 - 修改客户记录- 2 - 删除客户记录- 3 - 按姓名查询客户记录- 3 - 按房间号码查询客户记录- 3 - 输出所有客户- 3 - 退出管理系统- 3 -5. 软件测试- 3 - 主菜单窗口- 3 - 增加客户记录测试分析- 4 - 修改客户记录测试分析- 5 - 删除客户记录测试分析- 6 - 按姓名查询客户记录测试分析- 6 - 按房间号码查询客户记录测试分析- 9 - 输出所有客户测试分析- 10 - 退出管理系统测试分析- 11 -6. 源代码- 11 -7. 总结收获- 21 -8. 参考资料- 22 -9. C语言课程成绩23 -1. 程序名称酒店客户入住登记管理2. 设计目的随着我国经济的迅速发展,人们的生活水平有了显著的提高,假日经济和旅游经济已成为人们消费的热点。各地也把旅游业当作本地经济发展的重要经济支柱之一,从而促进了酒店业的快速发展。同时,随着酒店越来越多,人们的要求越来越高,酒店业的竞争也愈来愈激烈。如何在激烈的竞争中生从发展,是每一个酒店必须面临的问题。对酒店的经营状况起决定作用的是酒店的服务管理水平。如何利用先进的管理手段、提高宾馆的管理水平,以成为酒店业发展的当务之急。面对信息时代的机遇和挑战,利用科技手段提高企业管理水平是企业管理无疑的一条行之有效的途径。现在的酒店行业已经发生拉巨大变化,已不仅是提供给人们一个吃住行的简单场所,所以,将计算机管理引入酒店的管理体系中,无疑对酒店的服务水平更上一层楼提供了一种有利的支持。酒店客户入住登记管理方面的信息化已成为现代化酒店的重要标志。本程序的设计开发,主要是给酒店前台住宿登记方面提供便捷。3. 设计思路1 增加客户记录主要运用了文件的存储,通过结构数组依次写入文件;2 修改客户记录主要是将新的客户记录,通过信息覆盖的方式替换原有客户记录;3 删除客户信息主要是通过房间号码寻找到需删除的信息位置后,用for循环将后继字符替换前驱字符;4 按姓名查询客户记录运用了for循环找到欲查询信息的位置,从而输出显示;5 按房间号码查询客户记录与按姓名查询思路一致;6 输出所有客户记录则是运用for循环将文件内信息依次读取输出来实现;7 退出管理系统是通过终止程序exit()来实现的。4. 程序功能 1 增加客户记录a. 预订房间种类的选择、预订天数输入及预交款数目的确定b. 房间及客户信息输入2 修改客户记录a. 修改客户信息的显示b. 房间及客户信息输入和修改3 删除客户记录a. 需删除的客户信息的显示b. 删除确认4 按姓名查询客户记录5 按房间号码查询客户记录6 输出所有客户7 退出管理系统5. 软件测试1 主菜单窗口主菜单显示窗口打开软件首先显示的是我们“酒店客户入住登记管理系统”的主菜单窗口,菜单选项如上图所示。主菜单分析:使用printf对菜单选项进行输出;使用while来循环菜单;使用system(cls)清除显示菜单前的屏幕信息。主菜单源代码2 增加客户记录测试分析增加客户记录显示窗口增加客户记录分析:用struc定义客户信息结构体;用struct guest guests来声明客户数组及客户数量;定义整型变量num记录客户数量;运用switch()语句,对房间类型进行选择;通过printf输出房间类型菜单及选项、输入提示;通过scanf函数输入选择项目、房间编号及顾客信息;定义和调用函数void guest_Insert()来实现房间号码和顾客信息的添加;while()语句的使用是为了实现继续添加房间号码和顾客信息;使用if()语句来判断顾客身份证号是否为正确的18位二代身份证号码及是否继续添加房间号码和顾客信息;使用system(cls)清除前一次添加客户信息所占用的窗口屏幕。增加客户记录源代码3 修改客户记录测试分析修改客户记录显示窗口修改客户记录分析:定义和调用函数void guest_Modify()来实现客户记录的修改;定义和调用int guest_SearchByIndex(char no)来确定所输入的房间编号是否有客户入住及返回数组下标;用while()来实现批量修改客户记录;用printf语句来输出提示信息;用scanf语句来输入客户信息;用system(cls)来清除主菜单窗口及输入的房间编号;用if语句来判断所输入的房间编号是否有客户入住及是否继续停留在修改信息模块。修改客户记录源代码4 删除客户记录测试分析删除客户记录显示窗口删除客户信息分析:定义和调用函数void guest_Delete()来实现客户信息的删除;定义和调用int guest_SearchByIndex(char no)来确定所输入的编号房间是否有客户入住及返回数组下标;用while()来实现批量删除客户记录;用printf语句来输出提示信息;用scanf语句来输入客户信息;用system(cls)来清除主菜单窗口及输入的房间编号;用if语句来判断所输入的房间编号是否有客户入住、是否确定删除信息、是否继续停留在删除信息模块;用for循环实现删除信息。删除客户记录源代码5 按姓名查询客户记录测试分析按姓名查询客户记录显示窗口 按姓名查询客户记录分析:定义和调用函数void guest_Select()来实现按客户姓名查询客户的信息;定义和调用int guest_SearchByName(char name)来确定所输入的客户姓名是否在本酒店有入住记录及返回数组下标;定义和调用void guest_DisplaySingle(int index)来实现单条客户信息的输出;用while()来实现批量查询客户记录;用printf语句来输出提示信息;用scanf语句来输入客户信息;用system(cls)来清除主菜单窗口及输入的客户姓名;用if语句来判断是否有与所输入的姓名一致的客户入住本酒店及是否继续停留在按姓名查询客户信息模块。按姓名查询客户记录源代码6 按房间号码查询客户记录测试分析按房间号码查询客户记录显示窗口 按房间号码查询客户记录分析:定义和调用函数void guest_room()来实现按房间号码查询客户的信息;定义和调用void guest_Insert()来确定所输入的房间编号是否有客户入住记录及返回数组下标;定义和调用void guest_DisplaySingle(int index)来实现单条客户信息的输出;用while()来实现批量查询客户记录;用printf语句来输出提示信息;用scanf语句来输入客户信息;用system(cls)来清除主菜单窗口及输入的房间编号;用if语句来判断所输入的编号房间是否有客户入住及是否继续停留在按房间编号查询客户信息模块。按房间号码查询客户记录源代码7 输出所有客户测试分析输出所有客户记录显示窗口输出所有客户信息:定义和调用void guest_Display()函数实现全部客户信息的输出显示;用printf语句来输出提示信息;用scanf语句来输入客户信息;用for循环来实现客户信息的逐条输出;用system(cls)来清除主菜单窗口。输出所有客户记录源代码8 退出管理系统测试分析退出管理系统显示窗口退出管理系统分析:用终止程序exit()来实现退出管理系统。6. 源代码#include /*头文件*/#include #include#include/*定义客户结构体*/struct guestchar no20;char Name20;char sex20;char id20;/*声明客户数组及客户数量*/struct guest guests200;int num=0;/*通过房间号码返回数组下标*/int guest_SearchByIndex(char no)int i,k=1;for (i=0;inum;i+)if (strcmp(guestsi.no,no)=0)return i;k=0;if(k)return -1;/*通过姓名返回数组下标*/int guest_SearchByName(char name)int i,k=1;for (i=0;inum;i+)if (strcmp(guestsi.Name,name)=0)return i;k=0;if(k)return -1;/*显示单条客户记录*/void guest_DisplaySingle(int index)printf(nn 房间编号 姓名 性别 身份号码 n);printf(-n);printf(%9s%19s%15s%32snn,guestsindex.no,guestsindex.Name,guestsindex.sex,guestsindex.id);printf(-nn);/*插入客户信息*/void guest_Insert()while(1) printf( 请输入房间编号:); scanf(%s,guestsnum.no); getchar(); printf( 请输入姓名:); scanf(%s,guestsnum.Name); getchar(); printf( 请输入性别:); scanf(%s,guestsnum.sex); getchar(); printf( 请输入身份号码:);scanf(%s,guestsnum.id); if(strlen(guestsnum.id)!=18)printf( 请输入18位身份证号码:); scanf(%s,guestsnum.id);getchar();num+; printf( 是否继续?(y/n);if (getchar()=n|getchar()=N)break;system(cls);/*修改客户信息*/void guest_Modify()while(1) char no20; int index; printf(n请输入要修改的客户的房号:); scanf(%s,no); getchar(); index=guest_SearchByIndex(no); if (index=-1)printf(该客户不存在!n);elsesystem(cls);printf(你要修改的客户信息为:n);guest_DisplaySingle(index); printf(- 请输入新值-nn); printf(请输入房间编号:); scanf(%s,guestsindex.no); getchar(); printf(请输入姓名:); scanf(%s,guestsindex.Name); getchar(); printf(请输入性别:); scanf(%s,guestsindex.sex); getchar(); printf(请输入您的身份证号码:); scanf(%s,guestsindex.id);while(strlen(guestsindex.id)!=18)printf(请输入18位身份证号码:n); scanf(%s,guestsindex.id);getchar();printf(是否继续?(y/n);if (getchar()=n|getchar()=N)break;system(cls);/*删除客户信息*/void guest_Delete()int i;while(1)char no20;int index;printf(请输入要删除的客户房间编号:);scanf(%s,no);getchar();index=guest_SearchByIndex(no);if (index=-1)printf(该房间无客户入住!n);else system(cls);printf(你要删除的客户信息为:n); guest_DisplaySingle(index); printf(是否真的要删除?(y/n);if (getchar()=y) for (i=index;inum-1;i+)guestsi=guestsi+1;num-; getchar();printf(是否继续?(y/n);if (getchar()=y|getchar()!=Y)break;system(cls);/*按姓名查询*/void guest_Select()while(1)char name20; int index; printf(请输入要查询的客户的姓名:); scanf(%s,name); getchar(); index=guest_SearchByName(name);if (index=-1) printf(该客户不存在!n);elsesystem(cls);printf(你要查询的客户信息为:n);guest_DisplaySingle(index); printf(n是否继续?(y/n);if (getchar()=n|getchar()=N)break;system(cls);/*按房间号码查询*/void guest_room()while(1)char no20;char index;printf(请输入要查询的房间号码:);scanf(%s,no); getchar();index=guest_SearchByIndex(no);if (index=-1)printf(该房间为空!n);elsesystem(cls);printf(你要查询的客户信息为:n);guest_DisplaySingle(index);printf(是否继续?(y/n);if (getchar()=n|getchar()=N)break;system(cls);/*显示客户信息*/void guest_Display()int i;system(cls);printf(nn 房间编号 姓名 性别 身份号码 n);printf(-n);for (i=0;inum;i+)printf(%9s%19s%15s%32snn,guestsi.no,guestsi.Name,guestsi.sex,guestsi.id);printf(-nn);printf( 按任意键继续);getchar();/*将客户信息从文件读出*/void IO_ReadInfo()FILE *fp;int i;if (fp=fopen(D:/Database.txt,rb)=NULL)printf(无文件信息!n);return;if (fread(&num,sizeof(int),1,fp)!=1) /*判断文件读入是否出错*/num=-1;elsefor(i=0;inum;i+)fread(&guestsi,sizeof(struct guest),1,fp);fclose(fp);/*将客户信息写入文件*/void IO_WriteInfo()FILE *fp;int i;if (fp=fopen(D:/Database.txt,wb)=NULL) printf(无文件信息!n);return;if (fwrite(&num,sizeof(int),1,fp)!=1)printf(写入文件错误!n);for (i=0;i0&b5)break;elsesystem(cls);printf(nn 您的输入有错请您重新输入!n);getchar();switch(b) case 1:printf( 请输入预定天数:); scanf(%d,&x); printf( 请预交款为%d元n,x*150); printf( 1.确定 2.返回n); scanf(%d,&h); printf( 您已预定成功!n);break;case 2:printf( 请输入预定天数:); scanf(%d,&x); printf( 请预交款为%d元n,x*200); printf( 1.确定 2.返回n); scanf(%d,&h); printf( 您已预定成功!n);break;case 3:printf( 请输入预定天数:); scanf(%d,&x); printf( 请预交款为%d元n,x*300); printf( 1.确定 2.返回n); scanf(%d,&h); printf( 您已预定成功!n);break;case 4:printf(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论