停车场管理系统C语言实习报告

上传人:cn****1 文档编号:563360064 上传时间:2023-05-09 格式:DOC 页数:16 大小:434.50KB
返回 下载 相关 举报
停车场管理系统C语言实习报告_第1页
第1页 / 共16页
停车场管理系统C语言实习报告_第2页
第2页 / 共16页
停车场管理系统C语言实习报告_第3页
第3页 / 共16页
停车场管理系统C语言实习报告_第4页
第4页 / 共16页
停车场管理系统C语言实习报告_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《停车场管理系统C语言实习报告》由会员分享,可在线阅读,更多相关《停车场管理系统C语言实习报告(16页珍藏版)》请在金锄头文库上搜索。

1、语言课程实习报告【要求】设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进来的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应依据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制

2、一程序模拟停车场管理。【提示】汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。基本要求:要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时应交纳的费用和它在停车场内停留的时间。根据题目要求,停车场可以用一个长度为n的堆栈来模拟。由于停车场内如有某辆车要开走,在它之后进来的车辆都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场,所以可以设两个堆栈。一、需求分析根据题目要求,程序应该提供“到达/离去,汽车牌照号码,到达/离去”的输入输出操作;在程序中需要浏览停车场的车位信息,应提供显示、查找、排序等操作此外还应提供键盘式

3、菜单实现功能选择。二、总体设计:根据需求分析,可以将系统的设计分为以下五大模块:(1)车辆进入;(2)车辆退出(3)车辆等待;(4)车辆查询;(5)退出。停车场管理系统车辆进入车辆退出车辆等待车辆查询退出系统#车辆信息显示一、详细设计:主函数中只包含菜单函数,菜单部分单独写成函数,只提供输入、功能处理和输出部分的函数调用,其中各功能模块用菜单方式选择。程序#defineN30#defineM20#defineP2#include#include/*等待车辆*/*车位*/*单位时间所收费用*/#includestructcarscharstate;intnum;intin_time;/*定义车辆

4、信息*/intout_time;inttime_spend;intmoney_to_pay;carM;structcarleftcharstate;intnum;waitN;1、主函数模块流程图程序main()/*主函数*/pre_manage();menu();/*调用主菜单函数*/return0;voidmenu()/*主菜单函数*/intn,w;doputs(tt*MENU*puts(tttt1.car_arrive);/*有车到来*/#puts(tttt2.car_depart);/*有车离开*/puts(tttt3.car_browse);/*浏览车位信息*/puts(tttt4.e

5、xit);/*退出*/puts(nntt*n)printf(Choiceyournumber(1-4):bb);/*选择所需服务*/scanf(%d,&n);getchar();if(n4)w=1;getchar();elsew=0;while(w=1);switch(n)case1:car_arrive();break;case2:car_depart();break;case3:car_browse();break;case4:exit(0);voidpre_manage()/*循环结构*/inti;for(i=0;iM;i+)cari.state=E;for(i=0;iN;i+)wait

6、i.state=E;2、各功能模块设计:(1)、车辆进入模块分析车辆进入停车场后,判断车位和等待车位是否有剩余。若车位有空余则输入车辆编号和进入时间,记录在已停放车辆信息中;若车位无剩余而等待车位有剩余则输入车辆编号和进入时间,记录在等待车辆信息中;若两者都无剩余则提示无剩余空间。流程图#程序Q车辆到来模块/*车辆到来模块*/*显示主菜单*/voidcar_arrive()ints,w1,w2,t;voidmenu();s=whether();/*判断是否有空余车位*/w1=whether_cars_full();w2=whether_carwait_full();if(s=1)/*有空余车位

7、*/puts(ttInputtheNO.ofthecomingcar!n);/*输入车辆编号*/carw1.state=A;scanf(%d,&carw1.num);puts(nttInputthein_time!n);/*输入车辆进入时间*/scanf(%d,&carw1.in_time);elseif(s=2)/*有空余等待车位*/puts(ttInputtheNO.ofthecomingcar!n);/*输入车辆编号*/waitw2.state=A;scanf(%d,&waitw2.num);/*无剩余空间*/elseprintf(Noextraspace);printf(whatdoy

8、ouwanttodonext?n);/*选择所需服务*/puts(tt*MENU*nn);puts(tttt1).Anothercariscoming);puts(tttt2).BacktoMenu);puts(nntt*n);printf(nttChoiceyournumber(1-2):bb);scanf(%d,&t);getchar();if(t=1)car_arrive();/*另一辆车进入*/elsemenu();判断车位是否空余模块/*返回主菜单*/intwhether()/*判断车位是否空余模块*/#/*有空余车位*/*车位已满,等待车位有空余*/*车位和等待车位都已满*/*判断

9、停泊车位是否有空余模块*/intw1,w2,s;w1=whether_cars_full();w2=whether_carwait_full();if(w1M)s=1;elseif(w1=M&w2N)s=2;elses=3;returns;判断停泊车位是否空余模块intwhether_cars_full()inti,k;for(i=0;iM;i+)if(cari.state=E)break;/*当输入为“E”的时候退出系统*/k=i;returnk;Q判断等待车位是否空余模块intwhether_carwait_full()/*判断等待车位是否有空余模块*/inti,k=N;for(i=0;i

10、N;i+)if(waiti.state=E)k=i;break;/*当输入为“E”的时候退出系统*/returnk;(2)、车辆退出模块分析该部分需要实现功能:用户选择车辆离开后,先查询该车位于停泊车位还是等待车位,若位于停泊车位则在输入离开时间后显示所需交纳费用;若位于等待车位则不需交费。流程图N该车处于停泊车位Y该车处于等待车位NY退出系统提示未找到该车车辆退出系统计算需交纳费用输入离开时间输入车辆编号程序Q停泊车辆离开模块voidcar_in_left(intk)/*停泊车辆离开模块*/intw1,i,j,n,s;voidcar_wait_left(intn);structcarstem

11、pM;w1=whether_cars_full();n=w1-k-1;for(i=w1,j=0;j=0;i+,j-)cari=tempj;carM.state=wait1.state;carM.in_time=s;carM.num=wait1.num;car_wait_left(1);等待车辆离开模块/*等待车辆离开模块*/*查询模块*/voidcar_wait_left(intn)inti;for(i=n;iN-1;i+)waiti=waiti+1;waitN-1.state=E;车辆所处车位查询模块intsearch()inttemp_num,n1,n2,w=0,n;doprintf(In

12、putthenumoftheleavingcar!);/*输入离开车辆编号*/scanf(%d,&temp_num);#if(temp_num=-1)exit(0);n1=search_car(temp_num);/*调用查询已用停泊车位模块*/n2=search_carwait(temp_num);/*调用查询已用等待车位模块*/if(n1M)whether_in=1;n=n1;/*车辆处于停泊车位*/elseif(n1=M&n2N)/*车辆处于等待车位*/whether_in=0;returnn=n2;else/*无该车辆信息*/printf(NotFound!Inputagain!nOrinput-1toexit);w=1;n=-1;while(w=1);returnn;查询已用停泊车位模块:intsearch_car(inttemp_num)/*查询已

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号