欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    停车场管理系统一c语言实习报告.pdf

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

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

    停车场管理系统一c语言实习报告.pdf

    1 C 语 言 课 程 实 习 报 告 【要求】设有一个可以停放 n 辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满 n 辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进来的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应依据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟停车场管理。【提示】汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。基本要求:要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某2 辆车离开停车场时应交纳的费用和它在停车场内停留的时间。根据题目要求,停车场可以用一个长度为 n 的堆栈来模拟。由于停车场内如有某辆车要开走,在它之后进来的车辆都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场,所以可以设两个堆栈。一、需求分析 根据题目要求,程序应该提供“到达/离去,汽车牌照号码,到达/离去”的输入、输出操作;在程序中需要浏览停车场的车位信息,应提供显示、查找、排序等操作;此外还应提供键盘式菜单实现功能选择。二、总体设计:根据需求分析,可以将系统的设计分为以下五大模块:(1)车辆进入;(2)车辆退出;(3)车辆等待;(4)车辆查询;(5)退出。一、详细设计:主函数中只包含菜单函数,菜单部分单独写成函数,只提供输入、功能处理和输出部分的函数调用,其中各功能模块用菜单方式选择。程序#define N 30 /*等待车辆*/#define M 20 /*车位*/#define P 2 /*单位时间所收费用*/#include#include#include struct cars /*定义车辆信息*/char state;int num;int 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);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();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 车辆到来模块 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_time);输入车辆编号 和进入时间 显示车位已满 返回主菜单 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).Back 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 s=3;/*车位和等待车位都已满*/return s;1 判断停泊车位是否空余模块 int whether_cars_full()/*判断停泊车位是否有空余模块*/int i,k;for(i=0;iM;i+)7 if(cari.state=E)break;/*当输入为“E”的时候退出系统*/k=i;return k;2 判断等待车位是否空余模块 int whether_carwait_full()/*判断等待车位是否有空余模块*/int i,k=N;for(i=0;iN;i+)if(waiti.state=E)k=i;break;/*当输入为“E”的时候退出系统*/return k;(2)、车辆退出模块 分析 该部分需要实现功能:用户选择车辆离开后,先查询该车位于停泊车位还是等待车位,若位于停泊车位则在输入离开时间后显示所需交纳费用;若位于等待车位则不需交费。流程图 8 程序 1 停泊车辆离开模块 void car_in_left(int k)/*停泊车辆离开模块*/int w1,i,j,n,s;void car_wait_left(int n);struct cars tempM;w1=whether_cars_full();车辆退出系统 该车处于停泊车位 输入车辆编号 该车处于等待车位 提示未找到该车 输入离开时间 计算需交纳费用 退出系统 Y N N Y 9 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);2 等待车辆离开模块 void car_wait_left(int n)/*等待车辆离开模块*/int i;for(i=n;iN-1;i+)waiti=waiti+1;waitN-1.state=E;3 车辆所处车位查询模块 int search()/*查询模块*/int temp_num,n1,n2,w=0,n;do printf(Input the num of the leaving car!);/*输入离开车辆编号*/scanf(%d,&temp_num);10 if(temp_num=-1)exit(0);n1=search_car(temp_num);/*调用查询已用停泊车位模块*/n2=search_carwait(temp_num);/*调用查询已用等待车位模块*/if(n1M)whether_in=1;n=n1;/*车辆处于停泊车位*/else if(n1=M&n2N)/*车辆处于等待车位*/whether_in=0;return n=n2;else /*无该车辆信息*/printf(Not Found!Input again!nOr input-1 to exit);w=1;n=-1;while(w=1);return n;1 查询已用停泊车位模块:int search_car(int temp_num)/*查询已用停泊车位*/int i,k;for(i=0;iM;i+)if(cari.state=A&cari.num=temp_num)break;k=i;/*车辆处于停泊车位,返回车辆编号*/return k;2 查询已用等待车位模块:int search_carwait(int temp_num)/*查询已用等待车位*/int i,k;for(i=0;iN;i+)if(waiti.state=A&waiti.num=temp_num)break;k=i;/*车辆处于等待车位,返回车辆编号*/return k;11 int whether_in;/*判断是否存在*/4 车辆离开模块 void car_depart()/*车辆离开模块*/int n,w;void menu();int search();/*调用车辆位置查询模块*/n=search();if(whether_in=1)car_in_left(n);else car_wait_left(n);printf(ntt_ Do it successful_n);puts(nn);printf(what do you want to do?n);/*选择所需服务*/puts(tt*MENU*nn);puts(tttt 1).Another car depart);/*另一车辆离开*/puts(tttt 2).Back to Menu);/*返回主菜单*/puts(nntt*n);printf(nnChoice your number(1-2):bb);scanf(%d,&w);getchar();if(w=1)car_depart();/*调用车辆离开模块*/else menu();/*返回主菜单*/(3)、车位信息浏览模块 分析 该模块需要实现功能:用户选择浏览车位信息时进入该模块,查询并显示车位使用信息。流程图 12 程序 void car_browse()/*车位信息浏览模块*/int s,w1,w2;void menu();s=whether();w1=whether_cars_full();/*判断是否还有空闲停泊车位*/w2=whether_carwait_full();/*判断是否还有空闲等待车位*/if(s=1)/*停泊车位未满*/printf(There are%d lot in the parking lotn,M);printf(And there are%d cars in it.,w1);/*显示剩余车位*/else if(s=2)/*停泊车位已满,等待车位未满*/printf(No spcce in the parking lot.nYou should wait in street.nThere are%d space in street.,w2);else /*无剩余停车空间*/printf(No space both in parking lot and street.);getchar();menu();/*返回主菜单*/三、运行结果:车位信息浏览系统 显示车位使用信息 返回主菜单 13 1、主菜单 2、选择 1,输入车辆编号及进入时间 3、选择 2,返回主菜单 4、选择 1,再进入一辆车 5、输入车辆编号及进入时间 14 6、重复操作几次,返回主菜单,选择 3 浏览车位信息 15 7、返回主菜单,选择 2,车辆离开 8、选择 2 返回主菜单,选择 4 退出。三、实习心得 在这次实习之前我从未自己写过什么较长一点的程序,而且自 C 语言课程结束之后基本上没有看过书,忘记了相当多的知识,所以在编写程序时感觉很困难。我觉得在之前的学习当中我根本没注意培养一种正确的编程的思维,在拿到程序题时脑海里没有一个清晰的思路。所以经过这次实习之后我会在以后的学习当中强化对一些编程思想的学习,通过多写程序多体会来提升自己。就我个人来说我是很希望能在编程上有所提升,我对计算机是很感兴趣的,所以我选了华中科技大学计算机科学与技术专业读双学位。我有计划准备在以后的时间里花一个学期好好强化一下 C 语言,大三再开始学 C+,并把C+作为以后唯一学习的一门计算机编程语言来学习。

    注意事项

    本文(停车场管理系统一c语言实习报告.pdf)为本站会员(深夜****等你...)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开