停车场管理系统一c语言实习报告.pdf
《停车场管理系统一c语言实习报告.pdf》由会员分享,可在线阅读,更多相关《停车场管理系统一c语言实习报告.pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 C 语 言 课 程 实 习 报 告 【要求】设有一个可以停放 n 辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满 n 辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进来的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应依据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保
2、持在便道上等待的车辆的次序。编制一程序模拟停车场管理。【提示】汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。基本要求:要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某2 辆车离开停车场时应交纳的费用和它在停车场内停留的时间。根据题目要求,停车场可以用一个长度为 n 的堆栈来模拟。由于停车场内如有某辆车要开走,在它之后进来的车辆都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场,所以可以设两个堆栈。一、需求分析 根据题目要求,程序应该提供“到达/离去,汽车牌照号码,到达/离去”的输入、输出操作;在程序中需要浏览停车场的车位信息,应
3、提供显示、查找、排序等操作;此外还应提供键盘式菜单实现功能选择。二、总体设计:根据需求分析,可以将系统的设计分为以下五大模块:(1)车辆进入;(2)车辆退出;(3)车辆等待;(4)车辆查询;(5)退出。一、详细设计:主函数中只包含菜单函数,菜单部分单独写成函数,只提供输入、功能处理和输出部分的函数调用,其中各功能模块用菜单方式选择。程序#define N 30 /*等待车辆*/#define M 20 /*车位*/#define P 2 /*单位时间所收费用*/#include#include#include struct cars /*定义车辆信息*/char state;int num;i
4、nt in_time;停车场 管理系统 车辆进入 车辆退出 车辆等待 车辆信息 显示 车辆查询 退出系统 3 主菜单 输入 n,判断 n 是否是 1-4 N 根据 n 的值调用各功能模块函数 int out_time;int time_spend;int money_to_pay;carM;struct carleft char state;int num;waitN;1、主函数模块 流程图 程序 main()/*主函数*/pre_manage();menu();/*调用主菜单函数*/return 0;void menu()/*主菜单函数*/int n,w;do puts(tt*MENU*nn
5、);puts(tttt 1.car_arrive);/*有车到来*/4 puts(tttt 2.car_depart);/*有车离开*/puts(tttt 3.car_browse);/*浏览车位信息*/puts(tttt 4.exit);/*退出*/puts(nntt*n)printf(Choice your number(1-4):bb);/*选择所需服务*/scanf(%d,&n);getchar();if(n4)w=1;getchar();else w=0;while(w=1);switch(n)case 1:car_arrive();break;case 2:car_depart()
6、;break;case 3:car_browse();break;case 4:exit(0);void pre_manage()/*循环结构*/int i;for(i=0;iM;i+)cari.state=E;for(i=0;iN;i+)waiti.state=E;2、各功能模块设计:(1)、车辆进入模块 分析 车辆进入停车场后,判断车位和等待车位是否有剩余。若车位有空余则输入车辆编号和进入时间,记录在已停放车辆信息中;若车位无剩余而等待车位有剩余则输入车辆编号和进入时间,记录在等待车辆信息中;若两者都无剩余则提示无剩余空间。流程图 车辆进入 是否有空余车位 N 5 程序 1 车辆到来模块
7、void car_arrive()/*车辆到来模块*/int s,w1,w2,t;void menu();/*显示主菜单*/s=whether();/*判断是否有空余车位*/w1=whether_cars_full();w2=whether_carwait_full();if(s=1)/*有空余车位*/puts(ttInput the NO.of the coming car!n);/*输入车辆编号*/carw1.state=A;scanf(%d,&carw1.num);puts(nttInput the in_time!n);/*输入车辆进入时间*/scanf(%d,&carw1.in_ti
8、me);输入车辆编号 和进入时间 显示车位已满 返回主菜单 N Y 6 else if(s=2)/*有空余等待车位*/puts(ttInput the NO.of the coming car!n);/*输入车辆编号*/waitw2.state=A;scanf(%d,&waitw2.num);else printf(No extra space);/*无剩余空间*/printf(what do you want to do next?n);/*选择所需服务*/puts(tt*MENU*nn);puts(tttt 1).Another car is coming);puts(tttt 2).Ba
9、ck to Menu);puts(nntt*n);printf(nttChoice your number(1-2):bb);scanf(%d,&t);getchar();if(t=1)/*另一辆车进入*/car_arrive();else /*返回主菜单*/menu();2 判断车位是否空余模块 int whether()/*判断车位是否空余模块*/int w1,w2,s;w1=whether_cars_full();w2=whether_carwait_full();if(w1M)s=1;/*有空余车位*/else if(w1=M&w2N)s=2;/*车位已满,等待车位有空余*/else
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 停车场 管理 系统 语言 实习 报告
限制150内