用C语言实现的宾馆客房综合管理系统优秀课程设计优质报告.doc
《用C语言实现的宾馆客房综合管理系统优秀课程设计优质报告.doc》由会员分享,可在线阅读,更多相关《用C语言实现的宾馆客房综合管理系统优秀课程设计优质报告.doc(16页珍藏版)》请在咨信网上搜索。
目 录 一、课程设计题目 3 二、运行环境(软、硬件环境) 3 三、算法设计思想 3 四、算法步骤图 3 五、算法设计分析 4 六、源代码 4 七、运行结果分析 10 八、收获及体会 13 一、课程设计题目 宾馆客房管理系统。 二、运行环境(软、硬件环境) 汉字版Windows XP和Microsoft Visual C++ 6.0。 三、算法设计思想 1.定义宾馆客房管理信息结构体Hotel-Info。 2.建立一个简易选择菜单,经过输入选择实施动作。 3.主函数中,用switch case 实现选择功效,7项功效经过7个分支实现,每个对应一个函数。 4.写函数,包含Insert-插入,Amend-修改,Demand-查询,Del-删除,Skim-浏览,Balance-结算。 5.源程序可运行以后,将其数据、信息输入到文档中,使其能存档,能够写入文件和读出文件。 6.对程序进行修改、完善。 写函数 四、算法步骤图 联络文件 开始 定义结构体Hotel-Info 修改、完善 建立选择菜单 写主函数,实现选择功效 结束 图1 算法步骤图 五、算法设计分析 1.这是一个小型管理系统,使用结构体数组存放客房信息。 2.通常管理系统全部应该含有插入,修改,查询,删除,浏览等功效,经过使用一个简易菜单进行实施动作选择。 3.用函数实现模块化设计,调理清楚,使程序易读写。 4.把程序和文件联络,使数据能存放在磁盘中,更具实用性。 六、源代码 1结构体 struct Hotel_Info { char name[N],type[N],ID_card[N],in_time[N],leave_time[N]; char idly[N]; int prize,num,ad_payment; }Info[N]; 2主函数 int main() { FILE *fp; int i=0; fp=fopen("d:\\hotel manage system.txt","r"); //fscanf(fp,"%d",&n); // for(i=0;i<n;i++) while(!feof(fp)) { int a; fscanf(fp,"%d",&a); fscanf(fp," 客房号:%d",&Info[i].num); fscanf(fp," 空闲情况:%s",Info[i].type); fscanf(fp," 客房类型:%s",Info[i].idly); fscanf(fp," 客房价格:%d",&Info[i].prize); fscanf(fp," 用户姓名:%s",Info[i].name); fscanf(fp," 身份证:%s",Info[i].ID_card); fscanf(fp," 预付款:%d",&Info[i].ad_payment); fscanf(fp," 入住时间:%s",Info[i].in_time); fscanf(fp," 退房时间:%s",Info[i].leave_time); i++; } fclose(fp); n=i-1; int m; do { printf("\n"); printf(" ***************************************************\n"); printf(" 1————登记。\n"); printf(" 2————修改。\n"); printf(" 3————查询。\n"); printf(" 4————删除。\n"); printf(" 5————浏览。\n"); printf(" 6————结算。\n"); printf(" 7————退出。\n"); printf(" ***************************************************\n"); scanf("%d",&m); switch(m) { case 1: Insert(&count); break; case 2: Amend(count) ;break; case 3: Demand(count) ;break; case 4: Del(&count) ;break; case 5: Skim(count) ;break; case 6: Balance(count) ;break; case 7: break; default:printf("错误选择!请重选");break; } }while(m!=7); return 0; } 3 函数 void Insert(int *count) //定义1————插入函数 { int i=0,in_num; n=n+1; if(*count==N) {printf("overflow!");return;} FILE *fp; fp=fopen("d:\\hotel manage system.txt","a"); fprintf(fp,"%d",n); for(i=*count;i<N;i++) { printf("编号:"); scanf("%d",&in_num); int flag = 1; while(flag) { flag=0; for(int ii=0;ii<=N;ii++) if(Info[ii].num==in_num) {printf("已经有相同编号!\n");scanf("%d",&in_num);flag=1;break;} } Info[i].num=in_num; printf("客房号:"); scanf("%d",&Info[i].num); fprintf(fp," 客房号:%d",Info[i].num); printf("空闲情况:"); scanf("%s",Info[i].idly); fprintf(fp," 空闲情况:%s",Info[i].idly); printf("客房类型:"); scanf("%s",Info[i].type); fprintf(fp," 客房类型:%s",Info[i].type); printf("客房价格:"); scanf("%d",&Info[i].prize); fprintf(fp," 客房价格:%d",Info[i].prize); printf("用户姓名:"); scanf("%s",Info[i].name); fprintf(fp," 用户姓名:%s",Info[i].name); printf("身份证:"); scanf("%s",Info[i].ID_card); fprintf(fp," 身份证:%s",Info[i].ID_card); printf("预付款:"); scanf("%d",&Info[i].ad_payment); fprintf(fp," 预付款:%d",Info[i].ad_payment); printf("入住时间:"); scanf("%s",Info[i].in_time); fprintf(fp," 入住时间:%s",Info[i].in_time); printf("退房时间:"); scanf("%s",Info[i].leave_time); fprintf(fp," 退房时间:%s\n",Info[i].leave_time); break; } fclose(fp); (*count)++; } void Amend(int count) //定义2————修改函数 { int i,num,payment,tag=0;; char idly[N],name[N],ID_card[N],in_time[N],leave_time[N]; printf("请输入要修改数据编号:"); scanf("%d",&num); for(i=0;i<n;i++) if(Info[i].num==num) { tag=1; printf("空闲情况:%s",Info[i].idly); printf(" 客人姓名:%s",Info[i].name); printf(" 身份证:%s",Info[i].ID_card); printf(" 入住时间:%s",Info[i].in_time); printf(" 退房时间:%s",Info[i].leave_time); printf(" 预付费用:%d\n",Info[i].ad_payment); printf("空闲情况:"); scanf("%s",idly); printf("客人姓名:"); scanf("%s",name); printf("身份证:"); scanf("%s",ID_card); printf("入住时间:"); scanf("%s",in_time); printf("退房时间:"); scanf("%s",leave_time); printf("预付费用:"); scanf("%d",&payment); strcpy(Info[i].idly,idly); strcpy(Info[i].name,name); strcpy(Info[i].ID_card,ID_card); strcpy(Info[i].in_time,in_time); strcpy(Info[i].leave_time,leave_time); Info[i].ad_payment=payment; FILE *fp; fp=fopen("d:\\hotel manage system.txt","w"); for(i=0;i<n;i++) { fprintf(fp,"%d",i+1); fprintf(fp," 客房号:%d",Info[i].num); fprintf(fp," 空闲情况:%s",Info[i].idly); fprintf(fp," 客房类型:%s",Info[i].type); fprintf(fp," 客房价格:%d",Info[i].prize); fprintf(fp," 用户姓名:%s",Info[i].name); fprintf(fp," 身份证:%s",Info[i].ID_card); fprintf(fp," 预付款:%d",Info[i].ad_payment); fprintf(fp," 入住时间:%s",Info[i].in_time); fprintf(fp," 退房时间:%s\n",Info[i].leave_time); } fclose(fp); } if(!tag) printf("没有查询到可修改数据!"); } void Demand(int count) //定义3————查询函数 { int in_num,i=0,flag=1; printf("请输入要查询客房号:"); scanf("%d",&in_num); int tag=0; for(i=0;i<n;i++) if(Info[i].num==in_num) { tag=1; printf("客房号:%d\n",Info[i].num); printf("空闲情况:%s\n",Info[i].idly); printf("客房类型:%s\n",Info[i].type); printf("客房价格:%d\n",Info[i].prize); printf("客人姓名:%s\n",Info[i].name); printf("身份证:%s\n",Info[i].ID_card); printf("入住时间:%s\n",Info[i].in_time); printf("退房时间:%s\n",Info[i].leave_time); printf("预付费用:%d\n",Info[i].ad_payment); flag=0; break; } if(!tag) {printf("没有查询到!");} } void Del(int *count) //定义4————删除函数 { int i,j,num,flag=1,tag=0; printf("请输入要删除客房号信息:"); scanf("%d",&num); for(i=0;i<*count&&flag;i++) { if(Info[i].num==num) { for(j=i;j<*count&&flag;j++) Info[j]=Info[j+1]; Info[*count-1].ad_payment = 0; strcpy(Info[*count-1].ID_card,""); strcpy(Info[*count-1].idly,""); strcpy(Info[*count-1].in_time,""); strcpy(Info[*count-1].leave_time,""); strcpy(Info[*count-1].name,""); Info[*count-1].num = 0; Info[*count-1].prize = 0; strcpy(Info[*count-1].type,""); flag=0,tag=1; (*count)--; break; } } if(!tag) {printf("没有查询到能够删除信息!");} n=n-1; FILE *fp; fp=fopen("d:\\hotel manage system.txt","w"); for(i=0;i<n;i++) { fprintf(fp,"%d",i+1); fprintf(fp," 客房号:%d",Info[i].num); fprintf(fp," 空闲情况:%s",Info[i].idly); fprintf(fp," 客房类型:%s",Info[i].type); fprintf(fp," 客房价格:%d",Info[i].prize); fprintf(fp," 用户姓名:%s",Info[i].name); fprintf(fp," 身份证:%s",Info[i].ID_card); fprintf(fp," 预付款:%d",Info[i].ad_payment); fprintf(fp," 入住时间:%s",Info[i].in_time); fprintf(fp," 退房时间:%s\n",Info[i].leave_time); } fclose(fp); } void Skim(int count) //定义5————浏览函数 { int i,flag=1; printf("\n"); for(i=0;i<n;i++) { printf("第%d条统计:\n",i+1); printf("客房号:%d\n",Info[i].num); printf("客房类型:%s\n",Info[i].type); printf("%客房价格:%d\n",Info[i].ad_payment); printf("空闲情况:%d\n",Info[i].prize); printf("客人姓名:%s\n",Info[i].idly); printf("客人身份证号:%s\n",Info[i].name); printf("入住时间:%s\n",Info[i].ID_card); printf("退房时间:%s\n",Info[i].in_time); printf("预付费用:%s\n",Info[i].leave_time); printf("\n"); flag=0; //return; } } void Balance(int conut) //定义6————结算函数 { int i,x,fee,time; printf("请输入要结算客房号:"); scanf("%d",&x); for(i=0;i<n;i++) if(Info[i].num==x) {printf("住房时间为%s————%s。\n请输入住房时间:",Info[i].in_time,Info[i].leave_time); scanf("%d",&time); fee=Info[i].ad_payment-time*Info[i].prize; printf("结余金额为%d",fee); break; } else {printf("编号输入错误,请重新输入:");return;} } 七、运行结果分析 1.运行程序后,按提醒选择对应功效。 (1)。功效1——登记。(图2) 图2 登记数据 (2)。功效2——修改。(图3) 图3 修改数据 (3)功效3——查询。(图4) 图4查询信息 (3)功效4——删除。(图5) 图5 删除信息 (5)功效5——浏览。(图6) 图6 浏览信息 (6)功效6——结算。(图7) 图7 结算余额 2.进入对应功效后,进行数据处理。处理后数据会保留在磁盘中便于系统运作和数据存放。 图8 3.信息能够在d:\\hotel manage system.txt 中查询到。 八、收获及体会 对C语言在编写程序时用处有了更明确认识,知道了编写C程序通常法方步骤。最大收获是,编写程序时一定要有信心和勇气,要相信自己一定能够把这个程序编写出来。分析问题做出算法,想好思绪,在心里有个大致框架,然后按部就班记下自己想到每一点内容,把写下东西认真整理,查缺补漏,把部分细节地方补上,就这么一个貌似极难程序就写出来了(其实编程并不难,关键是要投入,要钻到里面去)。下一步就是读程序了,读程序时一定要小心仔细,一条语句、一条语句读,看是否能输出自己想要输出结果,假如发觉错误要立即改过来,再接着向下读,直到把程序调试完美无缺为至。- 配套讲稿:
如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。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文