收藏 分销(赏)

用C语言实现的宾馆客房管理系统课程设计报告样本.doc

上传人:精*** 文档编号:3529744 上传时间:2024-07-08 格式:DOC 页数:20 大小:151KB
下载 相关 举报
用C语言实现的宾馆客房管理系统课程设计报告样本.doc_第1页
第1页 / 共20页
用C语言实现的宾馆客房管理系统课程设计报告样本.doc_第2页
第2页 / 共20页
用C语言实现的宾馆客房管理系统课程设计报告样本.doc_第3页
第3页 / 共20页
用C语言实现的宾馆客房管理系统课程设计报告样本.doc_第4页
第4页 / 共20页
用C语言实现的宾馆客房管理系统课程设计报告样本.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、 目 录 一、 课程设计题目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-插入, Am

2、end-修改, Demand-查询, Del-删除, Skim-浏览, Balance-结算。5源程序可运行之后, 将其数据、 信息输入到文档中, 使其能存档, 能够写入文件和读出文件。6对程序进行修改、 完善。写函数四、 算法的流程图联系文件开始 定义结构体Hotel-Info 修改、 完善建立选择菜单写主函数, 实现选择功能结束 图1 算法流程图五、 算法设计分析1.这是一个小型的管理系统, 使用结构体数组存储客房的信息。2一般的管理系统都应该具备插入, 修改, 查询, 删除, 浏览等功能, 经过使用一个简易菜单进行执行动作的选择。3.用函数实现模块化设计, 调理清晰, 使程序易读写。4.

3、把程序与文件联系, 使数据能存储在磁盘中, 更具实用性。六、 源代码1结构体struct Hotel_Infochar nameN,typeN,ID_cardN,in_timeN,leave_timeN;char idlyN; int prize,num,ad_payment;InfoN;2主函数int main()FILE *fp; int i=0; fp=fopen(d:hotel manage system.txt,r); /fscanf(fp,%d,&n);/for(i=0;in;i+)while(!feof(fp)int a;fscanf(fp,%d,&a);fscanf(fp, 客

4、房号: %d,&Infoi.num);fscanf(fp, 空闲情况: %s,Infoi.type);fscanf(fp, 客房类型: %s,Infoi.idly);fscanf(fp, 客房价格: %d,&Infoi.prize);fscanf(fp, 客户姓名: %s,Infoi.name);fscanf(fp, 身份证: %s,Infoi.ID_card);fscanf(fp, 预付款: %d,&Infoi.ad_payment);fscanf(fp, 入住时间: %s,Infoi.in_time);fscanf(fp, 退房时间: %s,Infoi.leave_time);i+;fcl

5、ose(fp);n=i-1;int m;doprintf(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

6、: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;iN;i+) print

7、f(编号: );scanf(%d,&in_num);int flag = 1;while(flag)flag=0;for(int ii=0;ii=N;ii+)if(Infoii.num=in_num)printf(已经有相同编号! n);scanf(%d,&in_num);flag=1;break; Infoi.num=in_num;printf(客房号: );scanf(%d,&Infoi.num);fprintf(fp, 客房号: %d,Infoi.num);printf(空闲情况: );scanf(%s,Infoi.idly);fprintf(fp, 空闲情况: %s,Infoi.idl

8、y);printf(客房类型: );scanf(%s,Infoi.type);fprintf(fp, 客房类型: %s,Infoi.type);printf(客房价格: );scanf(%d,&Infoi.prize);fprintf(fp, 客房价格: %d,Infoi.prize);printf(客户姓名: );scanf(%s,Infoi.name);fprintf(fp, 客户姓名: %s,Infoi.name);printf(身份证: );scanf(%s,Infoi.ID_card);fprintf(fp, 身份证: %s,Infoi.ID_card);printf(预付款: );

9、scanf(%d,&Infoi.ad_payment);fprintf(fp, 预付款: %d,Infoi.ad_payment);printf(入住时间: );scanf(%s,Infoi.in_time);fprintf(fp, 入住时间: %s,Infoi.in_time);printf(退房时间: );scanf(%s,Infoi.leave_time);fprintf(fp, 退房时间: %sn,Infoi.leave_time);break;fclose(fp);(*count)+;void Amend(int count) /定义2修改函数int i,num,payment,ta

10、g=0;char idlyN,nameN,ID_cardN,in_timeN,leave_timeN;printf(请输入要修改数据的编号: );scanf(%d,&num);for(i=0;in;i+)if(Infoi.num=num)tag=1;printf(空闲情况:%s,Infoi.idly);printf( 客人姓名:%s,Infoi.name);printf( 身份证:%s,Infoi.ID_card);printf( 入住时间:%s,Infoi.in_time);printf( 退房时间:%s,Infoi.leave_time);printf( 预付费用:%dn,Infoi.ad

11、_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(Infoi.idly,idly);strcpy(Infoi.name,name); strcpy(Infoi.ID_card,ID_card); strcpy(Infoi.i

12、n_time,in_time);strcpy(Infoi.leave_time,leave_time);Infoi.ad_payment=payment;FILE *fp; fp=fopen(d:hotel manage system.txt,w); for(i=0;in;i+)fprintf(fp,%d,i+1);fprintf(fp, 客房号: %d,Infoi.num);fprintf(fp, 空闲情况: %s,Infoi.idly);fprintf(fp, 客房类型: %s,Infoi.type);fprintf(fp, 客房价格: %d,Infoi.prize);fprintf(fp

13、, 客户姓名: %s,Infoi.name);fprintf(fp, 身份证: %s,Infoi.ID_card);fprintf(fp, 预付款: %d,Infoi.ad_payment);fprintf(fp, 入住时间: %s,Infoi.in_time);fprintf(fp, 退房时间: %sn,Infoi.leave_time); fclose(fp);if(!tag)printf(没有查询到可修改的数据! );void Demand(int count) /定义3查询函数int in_num,i=0,flag=1; printf(请输入要查询的客房号: );scanf(%d,&i

14、n_num);int tag=0;for(i=0;in;i+)if(Infoi.num=in_num)tag=1;printf(客房号:%dn,Infoi.num); printf(空闲情况:%sn,Infoi.idly);printf(客房类型:%sn,Infoi.type);printf(客房价格:%dn,Infoi.prize);printf(客人姓名:%sn,Infoi.name);printf(身份证:%sn,Infoi.ID_card);printf(入住时间:%sn,Infoi.in_time);printf(退房时间:%sn,Infoi.leave_time);printf(预

15、付费用:%dn,Infoi.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(Infoi.num=num)for(j=i;j*count&flag;j+)Infoj=Infoj+1;Info*count-1.ad_payment = 0;strcpy(Info*count-1.ID_card,);strcpy(I

16、nfo*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

17、=0;in;i+) fprintf(fp,%d,i+1);fprintf(fp, 客房号: %d,Infoi.num);fprintf(fp, 空闲情况: %s,Infoi.idly);fprintf(fp, 客房类型: %s,Infoi.type);fprintf(fp, 客房价格: %d,Infoi.prize);fprintf(fp, 客户姓名: %s,Infoi.name);fprintf(fp, 身份证: %s,Infoi.ID_card);fprintf(fp, 预付款: %d,Infoi.ad_payment);fprintf(fp, 入住时间: %s,Infoi.in_time

18、);fprintf(fp, 退房时间: %sn,Infoi.leave_time);fclose(fp);void Skim(int count) /定义5浏览函数int i,flag=1;printf(n);for(i=0;in;i+)printf(第%d条记录: n,i+1);printf(客房号:%dn,Infoi.num);printf(客房类型:%sn,Infoi.type);printf(%客房价格:%dn,Infoi.ad_payment);printf(空闲情况:%dn,Infoi.prize);printf(客人姓名:%sn,Infoi.idly);printf(客人身份证号

19、:%sn,Infoi.name);printf(入住时间:%sn,Infoi.ID_card);printf(退房时间:%sn,Infoi.in_time);printf(预付费用:%sn,Infoi.leave_time);printf(n);flag=0;/return; void Balance(int conut) /定义6结算函数int i,x,fee,time;printf(请输入要结算的客房号: );scanf(%d,&x);for(i=0;in;i+)if(Infoi.num=x)printf(住房时间为%s%s。n请输入住房时间: ,Infoi.in_time,Infoi.l

20、eave_time);scanf(%d,&time);fee=Infoi.ad_payment-time*Infoi.prize;printf(结余金额为%d,fee);break;elseprintf(编号输入错误, 请重新输入: );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进入相应功能后, 进

21、行数据处理。处理后的数据会保存在磁盘中便于系统的运作和数据的存储。图83.信息能够在d:hotel manage system.txt 中查询到。八、 收获及体会对C语言在编写程序时的用处有了更明确的认识,懂得了编写C程序的一般法方步骤。最大的收获是, 编写程序时一定要有信心和勇气, 要相信自己一定能够把这个程序编写出来。分析问题做出算法, 想好思路, 在心里有个大致的框架, 然后按部就班的记下自己想到的每一点内容, 把写下的东西认真整理, 查缺补漏, 把一些细节的地方补上, 就这样一个貌似很难的程序就写出来了( 其实编程并不难, 关键是要投入, 要钻到里面去) 。下一步就是读程序了, 读程序时一定要小心仔细, 一条语句、 一条语句的读, 看是否能输出自己想要输出的结果, 如果发现错误要马上改过来, 再接着向下读, 直到把程序调试的完美无缺为至。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

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

关于我们      便捷服务       自信AI       AI导航        获赠5币

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

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

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

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服