欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    客房管理系统C语言课程设计.doc

    • 资源ID:1602792       资源大小:408KB        全文页数:20页
    • 资源格式: DOC        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    客房管理系统C语言课程设计.doc

    C 语 言 课 程 实 习 报 告所 在 院 系 : 班 级 学 号 : 姓 名 : 程序 已存档 : 是 否 指 导 老 师 : 曼评 分 :二零一四年七月目录1.题目与要求(1)2.功能实现设计(2)2.1总体设计 (2)2.2详细设计 (2)2.2.1保存函数 (2)2.2.2读取函数 (3)2.3 功能模块设计(4)2.3.1 注册模块(4)2.3.2 统计模块(5)2.3.3查询模块 (7)2.3.4修改模块 (9)2.4主函数(11)3.上机操作(12)4.结束语(16)实习课题:客房管理系统1.题目与要求:实现登记功能,要提供结构体的输入操作,实现统计功能,要提供相应的统计操作,实现查询功能,要提供查找操作,实现修改功能,要提供修改操作;另外还有提供键盘式菜单实现功能选择。头文件:#include<time.h>#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<string.h>#define NUM 50/定义常量NUMvoid input();void record();void find();void modify();int now_no;/定义全局变量now_no建立如下结构体:struct Client char name20; char sex10; int age; char ID_card20; int year; int month; int date; int Room_ID; char Tel15; int Price; char Sign10; RoomNUM;2.功能实现设计:2.1总体设计:下面来分析一下整个系统,根据上面的要求分析,可将这个系统设计为五大模块(见下图):注册模块,统计模块,查询模块,修改模块,退出模块。其主要功能为:注册,统计,查询,修改功能。客房管理系统 系统系统 注册统计 查询修改退出2.2详细设计: 程序中需要用到的函数。2.2.1保存函数用于将输入的数据保存到文本文件客户信息.txt文件中,实现数据的保存void save()FILE *fp;int i;if (fp=fopen("客户信息.txt","a+")=NULL)/*a+表示以读和追加方式打开文件客户信息.txt */printf("cannot open filen");return;for(i=0;i<Roomi.age!=0;i+)fprintf(fp,"%s %s %d %s %d %d %d %d %s %d %sn",Roomi.name,Roomi.sex,Roomi.age,Roomi.ID_card,Roomi.year,Roomi.month,Roomi.date,Roomi.Room_ID,Roomi.Tel,Roomi.Price,Roomi.Sign);/按照规定的格式保存客户信息fclose(fp); 2.2.2读取函数将文本文件客户信息.txt中的客户个人信息读取出来,从而实现统计、查询以及修改的功能。void read()FILE *fp;int i;if(fp=fopen("客户信息.txt","r")=NULL) printf("nCannot open filen");return; for(i=0;!feof(fp);i+)/!feof(fp)文件读到结束时读取停止fscanf(fp,"%s %s %d %s %d %d %d %d %s %d %sn",&Roomi.name,&Roomi.sex,&Roomi.age,&Roomi.ID_card,&Roomi.year,&Roomi.month,&Roomi. date,&Roomi.Room_ID,&Roomi.Tel,&Roomi.Price,&Roomi.Sign,&now_no); fclose(fp); 2.3 功能模块设计2.3.1 注册模块用于完成客户个人信息的输入功能并保存。本函数的功能为登记用户及房间信息,包括、性别、年龄、年份、月份、日期、房间及房间价格。系统依次分配房间号并定义此房间为非空。void input()int i=0,right,num;char as,sex10;printf("顾客人数:");scanf("%d人",&num);/输入顾客的人数doprintf("tttt1.录入宾客信息n输入第%d宾客的信息n",i+1);printf("n输入宾客:");gets(Roomi.name);doprintf("n输入宾客性别:");scanf("%s",&sex);if(strcmp(sex,"男")!=0&&strcmp(sex,"女")!=0)/*判断输入的字符是否为“男”或“女”,否则输出“输入有误!”*/printf("输入有误!");right=1;getchar();else right=0;strcpy(Roomi.sex,sex);while(right=1);printf("n输入宾客的年龄:");scanf("%d",&Roomi.age);printf("n输入宾客号:");scanf("%s",&Roomi.ID_card);printf("n输入宾客入住时间:");scanf("%d",&Roomi.year);scanf("%d",&Roomi.month);scanf("%d",&Roomi.date);printf("n输入宾客房间号:");scanf("%d",&Roomi.Room_ID);printf("n输入宾客房间:");scanf("%s",&Roomi.Tel);printf("n输入宾客房间价格:");scanf("%d",&Roomi.Price);printf("n输入该房间是否入住(yes/no):");scanf("%s",&Roomi.Sign);/输入客户的个人信息printf("nn");i+;now_no=i;printf("是否继续输入?(Y/N)");/判断是否继续输入as=getch();system("cls"); save();while(as!='n'&&as!='N');system("cls");/清屏2.3.2 统计模块用于统计总共入住的人数,并且可以统计某一天住了多少人以及收入多少。void record()int i,j,y,m,d,s=0,money=0;char as;int n=0;read();doprintf("n客房入住总数: ");fflush(stdin);for(j=0;Roomj.age!=0;j+)n=n+1;printf("%d间n",n);/统计一共入住的人数printf("输入查询日期: "); /按照日期统计入住人数及收入scanf("%d%d%d",&y,&m,&d);fflush(stdin);for(i=0;i<=NUM;i+)if(Roomi.year=y)&&(Roomi.month=m)&&(Roomi.date=d)/判断输入的日期与数据库中的哪些日期相同s=s+1;money=money+Roomi.Price;printf("n :%sn 性别:%sn 年龄:%dn 号:%sn 入住时间:%d年%d月%d日n 房间:%dn :%sn 价格:%dn 是否入住:%sn",Roomi.name,Roomi.sex,Roomi.age,Roomi.ID_card,Roomi.year,Roomi.month,Roomi.date,Roomi.Room_ID,Roomi.Tel,Roomi.Price,Roomi.Sign);printf("n该天客房入住总数: %d人n",s); printf("该天共收入%d元n",money);printf("t按任意键返回主菜单.");as=getch();system("cls");while(!as);system("cls");2.3.3查询模块本函数的功能为输出查询功能菜单选项,包括根据房间号查询、根据查询。系统根据输入的选项执行相应的函数。void find()int i,a,b;char str20,as;read ();doprintf("n按以下条件查询:1. 2.房间号 3.返回主菜单n请选择:");scanf("%d",&a);switch(a)case 1:doprintf("输入要查询的宾客:");fflush(stdin);gets(str);for(i=0;i<NUM;i+)if(!strcmp(Roomi.name,str)printf("n :%sn 性别:%sn 年龄:%dn 号:%sn 入住时间:%d年%d月%d日n 房间:%dn 房间:%sn 房间价格:%dn 该房间是否入住(yes/no)%snn",Roomi.name,Roomi.sex,Roomi.age,Roomi.ID_card,Roomi.year,Roomi.month,Roomi.date,Roomi.Room_ID,Roomi.Tel,Roomi.Price,Roomi.Sign);else;while(!as);break;case 2:doprintf("输入要查询的房间号:");scanf("%d",&b);for(i=0;i<NUM;i+)if(Roomi.Room_ID=b)printf("n :%sn 性别:%sn 年龄:%dn 号:%sn 入住时间:%d年%d月%d日n 房间:%dn 房间:%sn 房间价格:%dn 该房间是否入住(yes/no)%snn",Roomi.name,Roomi.sex,Roomi.age,Roomi.ID_card,Roomi.year,Roomi.month,Roomi.date,Roomi.Room_ID,Roomi.Tel,Roomi.Price,Roomi.Sign);else;while(!as);break;case 3:system("exit");default:break;printf("是否继续查询?(Y/N)n");as=getch();while(as!='n'&&as!='N');system("cls");2.3.4修改模块本函数的功能为系统根据输入的调出该用户及所在房间信息,同时输出修改功能菜单选项,包括修改性别、修改年龄、修改入住年份、修改月份及修改日期等。系统根据输入的选项修改用户相应的信息。void modify()int i,x;char str20,as;printf("输入要修改的宾客:");scanf("%s",&str);read ();do for(i=0;Roomi.age!=0;i+)if(!strcmp(Roomi.name,str)system("cls");printf("n :%sn 性别:%sn 年龄:%dn 号:%sn 入住时间:%d年%d月%d日n 房间:%dn :%sn 价格:%dn 是否入住:%snn",Roomi.name,Roomi.sex,Roomi.age,Roomi.ID_card,Roomi.year,Roomi.month,Roomi.date,Roomi.Room_ID,Roomi.Tel,Roomi.Price,Roomi.Sign);printf("请选择要修改的容:n1. tt2.性别 tt3.年龄 tt4.号 n5.入住时间 t6.房间号 t7.客房 t8.价格n请选择:");/按照不同的选择修改相应的容scanf("%d",&x);switch(x)case 1:printf("ntt输入新插入宾客信息n");printf("n输入宾客:");scanf("%s",Roomi.name);break;case 2:printf("n输入宾客性别:");scanf("%s",&Roomi.sex);break;case 3:printf("n输入宾客的年龄:");scanf("%d",&Roomi.age);break;case 4:printf("n输入宾客号:");scanf("%s",&Roomi.ID_card);break;case 5:printf("n输入宾客入住时间:");scanf("%d",&Roomi.year);scanf("%d",&Roomi.month);scanf("%d",&Roomi.date);break;case 6:printf("n输入宾客房间号:");scanf("%d",&Roomi.Room_ID);break;case 7:printf("n输入宾客房间:");scanf("%s",&Roomi.Tel);break;case 8:printf("n输入宾客房间价格:");scanf("%d",&Roomi.Price);case 9:system("exit");default:system("cls");printf("n");save();printf("n :%sn 性别:%sn 年龄:%dn 号:%sn 入住时间:%d年%d月%d日n 房间:%dn :%sn 价格:%dn 是否入住:%sn",Roomi.name,Roomi.sex,Roomi.age,Roomi.ID_card,Roomi.year,Roomi.month,Roomi.date,Roomi.Room_ID,Roomi.Tel,Roomi.Price,Roomi.Sign);break;as=getch();while(!as);system("cls");24主函数显示各功能选项根据 n的值调用各功能模块函数NY输入n ,判断n 是否是0-5void main()int as;start:doprintf("t*");printf("ntt欢迎使用客房管理系统n");printf("ntt| 1.录入宾客信息 |ntt| 2.统计宾客信息 |ntt| 3.查询宾客信息 |ntt| 4.修改宾客信息 |ntt| 5.退出 |n");printf("t*n");printf("tt选择功能选项: ");/选择语句用于选择不同的模块fflush(stdin);scanf("%d",&as);switch(as)case 1:system("cls");input();break;case 2:system("cls");record();break;case 3:system("cls");find();break;case 4:system("cls");modify();break;case 5:system("exit");exit(0);default:system("cls");goto start;while(1); 3.上机操作下面事各个模块的界面图:3.1主菜单3.2录入信息模块3.3统计模块 3.4查询模块3.4.1按查找3.4.2按房间号查找3.5修改模块3.6退出3.7文本数据4.结束语通过此次实习,我们更加理解和懂得运用结构化程序设计的思想和方法,初步掌握开发一个小型实用系统的基本方法,学会调试一个较长程序的的基本方法,学会利用流程图表示算法,进一步掌握和提高利用C语言进行程序设计的能力。在实习中遇到了许多的调试不出结果出乎意料的问题。在调试的过程中,得到了许多以后可以避免错误的经验。也得到了很多没有接触过的知识。这些都使我获益匪浅。C语言是一门计算机语言,如同其他计算机语言甚至日常交际中常说的外语一样需要不断的练习和实践才能逐渐掌握并熟练运用。尤其是对于带有创造性的编写一个较大C语言程序时更能凸现出这一点。由于本人学习该语言理论知识时间仓促加之课下没有进行大量的程序编写练习,因此在编写及调试本程序过程中难免遇到了诸多问题。现就出现的这些问题及解决办法作简要分析。4.1.设计思路起初对于本程序的思路都是一片空白,对于题目中要现的用户登记、统计、查询、修改功能不知如何实现,重新对书中有关循环、数组、结构体、文件等知识进行了回顾,并且读了一些相关例题。本程序包含用户登记、统计、查询、修改等四大功能。其中用户登记功能包含用户、性别、年龄、入住年份、入住月份、入住日期、房间号、房间及房间价格;统计功能包含按性别统计、按年龄统计及按入住时间(年月日)统计;查询功能包含按房间号查询、按查询及按性别查询;修改功能包含性别修改、年龄修改、入住年份修改、入住月份修改及入住日期修改。按题目的要求,编写能实现相应功能的函数,最后再从主函数中调用这些函数来。4.2.联系实际在上机调试过程中经常出现输入未给出的选项,此时系统会发生各种难以预料的结果,为避免此类情况的发生,又反复对程序代码进行了修改,以便系统能对输入的各种选项进行正确处理。4.3.代码细节在程序编译时常常会出现各种或多或少的错误提示,其原因往往是程序代码出现了一些细节上的简单错误,或是分号缺失,或是大括号不对应,或是未定义变量等各种常见错误。这些错误虽不是致命性的严重失误但却影响了程序的编译和连接,最终仍不能使程序正常执行。为了能够消除这些错误,必须不断地、反复地修改程序代码,并且不断的调试运行。4.4改进虽然实习所要求的程序完成了,但是其中仍存在许多不足,比如对于数据的输入正确与否判断的较少。统计模块中,统计的数据较少,只有按时间统计当天的入住人数和收入,没有按月,按性别等其他条件统计的功能。并且在房间的入住方面,只考虑了单人间的情况,没有考虑多人间的可能。因此程序还有很多地方有待改进。

    注意事项

    本文(客房管理系统C语言课程设计.doc)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开