用C语言实现的宾馆客房管理系统课程设计报告_第1页
用C语言实现的宾馆客房管理系统课程设计报告_第2页
用C语言实现的宾馆客房管理系统课程设计报告_第3页
免费预览已结束,剩余11页可下载查看

下载本文档

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

文档简介

1、、课程设计题目 2二、运行环境(软、硬件环境) 2三、算法设计的思想 2四、算法的流程图 2五、算法设计分析3六、源代码3七、运行结果分析 9八、收获及体会 12一、课程设计题目宾馆客房管理系统。二、运行环境(软、硬件环境)中文版 Windows XP 和 Microsoft Visual C+ 6.0。三、算法设计的思想1定义宾馆客房管理信息结构体 Hotel-Info 。2. 建立一个简易的选择菜单,通过输入选择执行的动作。3. 主函数中,用switch case 实现选择功能,7项功能通过7个分 支实现,每个对应一个函数。4. 写函数,包括In sert-插入,Ame nd修改,Dema

2、 nd查询,Del-删 除,Skim-浏览,Bala nee-结算。5. 源程序可运行之后,将其数据、信息输入到文档中,使其能存档, 可以写入文件和读出文件。6. 对程序进行修改、完善。写主函数,实现选择功能图1算法流程图五、算法设计分析1. 这是一个小型的管理系统,使用结构体数组存储客房的信息。2. 般的管理系统都应该具备插入,修改,查询,删除,浏览等功 能,通过使用一个简易菜单进行执行动作的选择。3. 用函数实现模块化设计,调理清晰,使程序易读写。4. 把程序与文件联系,使数据能存储在磁盘中,更具实用性。六、源代码1结构体struct Hotelnfochar nameN,typeN,ID

3、_cardN,in_timeN,leave_timeN;char idlyN;int prize ,nu m,ad_payme nt;In foN;2主函数int mai n()FILE *fp;int i=0;fp=fope n("d:hotel man age system.txt","r");/fscan f(fp,"%d", &n);/for(i=0;i< n; i+)while(!feof(fp)int a;fscan f(fp,"%d",&a);fscan f(fp,"客

4、房号:%d",&In foi. nu m);fscan f(fp,"空闲情况:%s",I nfoi.type);fscan f(fp,"客房类型:%s",I nfoi.idly);fscan f(fp,"客房价格:%d",&In foi.prize);fscan f(fp,"客户姓名:%s",I nfoi. name);fscan f(fp,"身份证:%s",I nfoi .I D_card);fscan f(fp,"预付款:%d",&In

5、foi.ad_payme nt);fscan f(fp,"入住时间:%s",I nfoi.in_time);fscan f(fp,"退房时间:%s",I nfoi.leave_time);i+; fclose(fp);n=i-1;int m;doprin tf("n ”);printf(”*、printf(”1登记。n “);printf(”2修改。n “);printf(”3查询。n “);printf(”4删除。n “);printf(”5浏览。n “);printf(”6结算。n “);prin tf("7退出。n")

6、;printf("*n");scan f("%d", &m);switch(m)case 1: lnsert(&coun t); break;case 2:Ame nd(co unt) ;break;case 3:Dema nd(co unt) ;break;case 4:Del(&count) ;break;case 5:Skim(co unt) ;break;case 6:Bala nce(co unt) ;break;case 7:break;default:printf("错误选择!请重选 ”);break;wh

7、ile(m!=7);return 0;3函数void In sert(i nt *cou nt)/ 定义 1插入函数int i=0,i n_num;n=n+1;if(*cou nt=N)pri ntf("overflow!");return;FILE *fp;fp=fope n("d:hotel man age system.txt","a");fprin tf(fp,"%d", n);for(i=*co un t;i<N;i+)printf("编号:");scan f("%d&

8、quot;, &in_nu m);int flag = 1;while(flag)flag=0;for(i nt ii=0;ii<=N;ii+)if(ln foii .num=in_num)printf("已经有相同编号!n");scanf("%d",&in_num);flag=1;break;In foi. num=in_num;printf("客房号:");scan f("%d",&ln foi. nu m);fprin tf(fp,"客房号:%d",I nfo

9、i. nu m);printf("空闲情况:");scan f("%s",I nfoi.idly);fprin tf(fp,"空闲情况:%s",I nfoi.idly);printf("客房类型:");scan f("%s",I nfoi.type);fprin tf(fp,"客房类型:%s",I nfoi.type);printf("客房价格:");scan f("%d",&ln foi.prize);fprin tf(fp,

10、"客房价格:%d",I nfoi.prize);printf("客户姓名:");scan f("%s",I nfoi. name);fprin tf(fp,"客户姓名:%s",I nfoi. name);printf("身份证:");scan f("%s",I nfoi.ID_card);fprin tf(fp,"身份证:%s",I nfoi.ID_card);printf("预付款:");scan f("%d",&

11、amp;ln foi.ad_payme nt);fprin tf(fp,"预付款:%d",I nfoi.ad_payme nt);printf("入住时间:");scan f("%s",I nfoi.in_time);fprin tf(fp,"入住时间:%s",I nfoi.in_time);printf("退房时间:");scan f("%s",I nfoi.leave_time);fprin tf(fp,"退房时间:%sn",l nfoi.leave_

12、time);break;fclose(fp);(*co un t)+;修改函数void Amend(int count)/定义 2in t i, nu m,payme nt,tag=O;char idlyN, nameN,ID_cardN,in_timeN,leave_timeN;printf("请输入要修改数据的编号:");scan f("%d",&n um); for(i=0;i< n;i+)if(ln foi. num=num)tag=1;printf("空闲情况:%s",Infoi.idly);printf(&q

13、uot;客人姓名:%s",I);printf("身份证:%s",Infoi.ID_card);printf("入住时间:%s",Infoi.in_time);printf("退房时间:%s",Infoi.leave_time);printf("预付费用:%dn",lnfoi.ad_payment);printf("空闲情况:");scan f("%s",idly);printf("客人姓名:");sca nf("%s&

14、quot;, name);printf("身份证:");scan f("%s",ID_card);printf("入住时间:");scan f("%s",in_time); printf(”退房时间:"); sca nf("%s",leave_time); printf(”预付费用:");scan f("%d",&payme nt);strcpy(I nfoi.idly,idly);strcpy(I nfoi. name ,n ame);strcp

15、y(I nfoi.ID_card,ID_card);strcpy(I nfoi.i n_time,i n_time);strcpy(I nfoi.l eave_time,leave_time);In foi.ad_payme nt=payme nt;FILE *fp;fp=fope n("d:hotel man age system.txt","w"); for(i=0;i< n;i+)fprin tf(fp,"%d",i+1);fprin tf(fp,"客房号:%d",I nfoi. nu m);fprin

16、 tf(fp,"空闲情况:%s",I nfoi.idly);fprin tf(fp,"客房类型:%s",I nfoi.type);fprin tf(fp,"客房价格:%d",I nfoi.prize);fprin tf(fp,"客户姓名:%s",I nfoi. name);fprin tf(fp,"身份证:%s",I nfoi.ID_card);fprin tf(fp,"预付款:%d",I nfoi.ad_payme nt);fprin tf(fp,"入住时间:%s

17、",I nfoi.in_time);fprin tf(fp,"退房时间:%sn",l nfoi.leave_time); fclose(fp);if(!tag)printf("没有查询到可修改的数据!");定义3查询函数void Dema nd(i nt count) int in_nu m,i=0,flag=1;printf("请输入要查询的客房号:");scan f("%d",&in_nu m);int tag=0;for(i=0;i< n;i+)if(ln foi. num=in_nu

18、m)tag=1;printf("客房号:%dn",lnfoi.num);printf(” 空闲情况:%sn",Infoi.idly);printf("客房类型:sn",lnfoi.type);printf(” 客房价格:%dn",Infoi.prize);printf("客人姓名:%sn",I);printf(” 身份证:%sn",lnfoi.ID_card);printf(” 入住时间:%sn",Infoi.in_time);printf("退房时间:%sn&quo

19、t;,Infoi.leave_time); printf(” 预付费用:%dn",Infoi.ad_payment); flag=0;break;if(!tag)printf("没有查询到! ");定义4删除函数 void Del(i nt *cou nt)int i,j, nu m,flag=1,tag=0;printf("请输入要删除的客房号信息:");scan f("%d",&n um);for(li'ox*counQSQOflagT+)宀if(-nfo 三 31101"占113宀 forrA

20、*counQSQOf-agj+) -nfoull-nfolj+二 -nforcounfi.adlpaymenf H 0八 s=rcpy (- nfocounM r - Dlcard 一=)八 s=rcpy(-nfocounM Lid-yi)八 s=rcpy (- nfocou nf 二 i nlfi mpJ八 s=rcpy(-nfocounML-eavelnme=)- s=rcpy(-nfocounM Lnamei)八 -nforcounfi.num H o 八 -nforcounfi.prN-e H q s=rcpy(-nfocounM Lfypei)八 flaguojagu 二(*coun

21、fTbreak 八ifmag)宀prinff(=萍血1<违型到左崖畫qa、5=)2 nurM 八F_LE *?fpufopen(=d±hoCD- manage sysCDm.txr-=w=)八 for(ll'oxnT+)hhhhhhhhhhPPPPPPPPPP rrrr rrrrrrj+D4i %d=-nfo 三.num)八 战stt 注-%s=_nfo 三d_y= 別淋籬 s=_nfo 三一ype)八 別灌一 d=_nfo 三.prize)八 HE %s=-nfo 三.name)八 >ilL %s=-nfo三DICard)八 国雰一 d=-nfo 三.adlpa

22、ymen 口 >审肆一%s=-nfo 三5-IHme)八陆別肆_ 凹-%s_n=-nfo=L-eavelHme=fcose(fp)八void skim(inf counf) 宀in 二 f-ag 丄prinmvrr/MX 5彗甌一一蒲for(i=0;i< n;i+)printf(” 第 %d 条记录:n”,i+1);printf("客房号:%dn",lnfoi.num);printf("客房类型:%sn",lnfoi.type);printf("% 客房价格:%dn",Infoi.ad_payment);printf(&q

23、uot;空闲情况:%dn",Infoi.prize);printf("客人姓名:%sn",Infoi.idly);printf("客人身份证号:%sn",I);printf("入住时间:%sn",Infoi.ID_card);printf("退房时间:%sn",Infoi.in_time);printf("预付费用:%sn",Infoi.leave_time);prin tf("n ”);flag=0;/return;void Balance(int con

24、ut)/定义 6结算函数int i,x,fee,time;printf("请输入要结算的客房号:");scan f("%d",& x);for(i=0;i< n;i+)if(ln foi. num=x)printf("住房时间为%s %s。n 请输入住房时间",I nfoi.i n_time,l nfoi .l eave_time);scan f("%d", &time);fee=In foi.ad_payme nt-time* In foi.prize;printf("结余金额为

25、%d",fee);break;elseprintf("编号输入错误,请重新输入:”);return;七、运行结果分析1.运行程序后,按提示选择相应功能(1)。功能1登记。(图2)g C: VDoeniBFirii h and Sett ingsAriinist r a+ci r面t摆程'Sil报告耳海程存邱一-1 ;况型恰名:用 号黨班证就吋吋 膚床户份付佟族 駆善鲁書预入迪 101备输人娶您改較產鞠粵房号:丄01I D 厂 "r J, 空阑悟况呼 空碣况* 各人Qiujqin 具份证:702021 94R81421S 人住吋间:2Q12.01.Q2 .1

26、6: Q3 退屛时间:2012_B1.BE .10 = 60 预苻费月:10SQ0 0 II 1A丄 5N正312 2 寻.、_0 : :U - - 茅:1型1 ?M啓庭宦人人住-0000500 记改询岀 需查KAS 茗:QLMana身省证=蘆时1:2312-31,02 A?.-30i预忖费用灿口入住时间:2011-12.;50;QiuWans3&03R21994O8142515500I 图2登记数据(2) 。功能2修改。(图3)c TC: D(ir:iiBent3 and Sett ine?: A(i»ini st ra+orlfci

27、tT'®d"fiSB”图3修改数据(3) 功能3查询。(图4)呂 zQiutjLu 6302199408142515 3|:2012 .01.B2.10: 00 a = 2012 .01 .85.10; O0 百;個豳|_|DociuerL±s and Sell: ingskJAdiini.s±ra± o 讥卓面'氓程设计报告弓源程序一一邱二二二鬣KM翼貝1(貝見1良且:14血1|4良1良鼻|(|1科翼It腻貝疋貝1耳良貝请童入要杳询的宮房号:101 g斟 |SftuE、隹吋图4查询信息(3)功能4删除。(图5)请输入妥则除的客传号信息;1014 4

温馨提示

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

评论

0/150

提交评论