ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:170.51KB ,
资源ID:12407812      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12407812.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课程设计停车场管理系统.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言课程设计停车场管理系统.docx

1、C语言课程设计停车场管理系统本页仅作为文档封面,使用时可以删除 This document is for reference only-rar21year.MarchC语言课程设计-停车场管理系统(总12页)停车场管理系统1题目要求设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车站。停车站内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车站为它让路

2、,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。【基本要求】要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场是的停车时间及它应该交的费用。2需求分析根据题目要求,因为停车场是一个单条的序列,可以用结构体实现;在程序中,需要知道每辆来车的具体停放位置,应提供提示、查找、标记工作。车辆离开要计时计费。另外,每天开始时,停车场要初始化。3总体设计这个系统可以分为:初始化、有车进入、有

3、车离开、退出四个模块。4详细设计main()函数体内包含了界面选则部分menu(),并单独抽出来作为一个独立函数,目的在于系统执行每部分模块后能够方便返回到系统界面。即main()函数写为 N如下:void main()/*主函数*/ menu();/*菜单函数*/菜单函数:void menu() int n,w; do puts(tt*MENU*nn); puts(ttt 1.初始化); puts(ttt 2.有车进入); puts(ttt 3.有车离开); puts(ttt 4.退出); puts(nntt*n); printf(Please choice your number(1-4)

4、: bb); scanf(%d,&n); if(n4) /*对选择的数字作判断*/ w=1; getchar(); else w=0; while(w=1); switch(n) case 1:chushi();break; /*初始化函数*/ case 2:jinru();break; /*车辆进入函数*/ case 3:likai();break; /*车辆离开函数*/ case 4:exit(0); /*退出*/ 初始化模块设计:【需求分析】 该模块是将每一天开始的停车场内和便道车位清零。首先建立场内场外的结构体,结构体内成员即车位的状态。用循环实现车位的致零即可。struct chan

5、gnei/*场内车道信息*/ int neikong;chnN-1;struct changwai/*场外车道信息*/ int waikong;chwM-1;N和M分别是停车场和便道的车位预设值,用宏定义。用户可根据实际情况改变。#define N 100/*预设停车场有100个车位*/#define M 100/*预设便道有100个出位*/ void chushi()/*初始化函数*/ int i,j; for(i=0;i=N-1;i+) chni.neikong=0;/*将场内车道设置为空*/ for(j=0;j=M-1;j+) chwi.waikong=0;/*将便道车道设置为空*/ p

6、rintf(nntt已初始化nn); menu();函数出示化后将回到菜单界面。车辆进入函数:【需求分析】 车辆到达后,要指定车辆的停车位置。用户根据菜单函数进入车辆进入模块。按照每辆车的到达次序给予车辆次序号,由0号开始。车辆信息也建立结构体。struct car/*车辆信息*/ int car_num;/*车辆次序号*/ int car_arr;/*车辆到达时间*/ int car_lef;/*车辆离开时间*/ int car_stay;/*车辆停放位置*/carCIXUHAO;其中,CIXUHAO是车辆次序号的宏定义:#define CIXUHAO 1000/*预设车辆次序号。不管车辆到

7、达时停在场内或便道,均依次设置一个次序号,由0开始*/给予车辆次序号之后,用循环判断停车场是否停满,再分别给予选择:void jinru()/*车辆进入函数*/ int i,a; int h=0; printf(nn请输入该车次序号(从0号开始):); scanf(%d,&a); for(i=0;iN;i+) if(chni.neikong=0);/*无车标记0*/ if(chni.neikong=1)/*有车标记1*/ h=h+1; if(h=N) printf(停车场内已停满,请停在便道上n); else cara.car_stay=h; chnh.neikong=1; printf(该车

8、应该停在停车场内第道%d(从0道开始记)n,h); printf(请输入该车进停车场时刻(24小时整点计时):n); scanf(%d,&cara.car_arr); 便道上还有车吗 menu();程序执行完后回到菜单。车辆离开函数:【需求分析】 若有一辆车要离开,则需要记录该车的离开时间,以计算出该车在停车场内的停车时间和应该缴纳的费用。该车离开后,要判断便道上是否有车等待进入,如有,则将便道上第一辆车停放在停车场内最后的位置并记录好进场时间;若无,则返回菜单。void likai()/*车辆离开函数*/ int i,k,choi,time; double fee; printf(请输入离开

9、车辆次序号 ,并将此车之后的车先全部退出停车场!); scanf(%d,&i); printf(n请输入离开车辆的离开时刻(24小时整点计时):n); scanf(%d,&cari.car_lef); fee=D*(cari.car_lef-cari.car_arr); time=cari.car_lef-cari.car_arr; printf(次序号为%d的车停车时间%d小时,应收费%f元n,i,time,fee); printf(nnn请让场内退出的车再依次进场!nnn); printf(便道上现在有车吗(请选择1或2)n1.有n2.没有n);/*因便道上可能没有车,因此要做选择*/ s

10、canf(%d,&choi); if(choi=2) menu(); if(choi=1) printf(请让便道上的第一辆车进场n); printf(该车次序号为:n); scanf(%d,&k); printf(请输入该车进场时间:n); scanf(%d,&cark.car_arr); menu(); D为预设停车场单位小时费用,用宏定义,便于以后修改。#define D *预设车辆停车费为元每小时*/5上机操作(1)主菜单函数(2)初始化操作(3)有车进入以上分别举例0,1,2三个车的进场情况(4)有车离开若便道上没车,则退回到主菜单若便道上有车6总结通过该实例的实习,要求大家进一步理

11、解和运用结构化程序设计的思想和方法,初步掌握开发一个小型实用系统的基本方法,学会调试较长的程序,学会利用流程图表示算法,进一步掌握和提高利用C语言进行程序设计的能力。7原程序代码#include#include#include#define N 100/*预设停车场有100个车位*/#define M 100/*预设便道有100个出位*/#define D *预设车辆停车费为元每小时*/#define CIXUHAO 1000/*预设车辆次序号。不管车辆到达时停在场内或便道,均依次设置一个次序号,由0开始*/void menu();void chushi();void jinru();void

12、 likai();struct car/*车辆信息*/ int car_num;/*车辆次序号*/ int car_arr;/*车辆到达时间*/ int car_lef;/*车辆离开时间*/ int car_stay;/*车辆停放位置*/carCIXUHAO;struct changnei/*场内车道信息*/ int neikong;chnN-1;struct changwai/*场外车道信息*/ int waikong;chwM-1;void main()/*主函数*/ menu();/*菜单函数*/void menu() int n,w; do puts(tt*MENU*nn); puts

13、(ttt 1.初始化); puts(ttt 2.有车进入); puts(ttt 3.有车离开); puts(ttt 4.退出); puts(nntt*n); printf(Please choice your number(1-4): bb); scanf(%d,&n); if(n4)/*对选择的数字作判断*/ w=1; getchar(); else w=0; while(w=1); switch(n) case 1:chushi();break;/*初始化函数*/ case 2:jinru();break;/*车辆进入函数*/ case 3:likai();break;/*车辆离开函数*/

14、 case 4:exit(0);/*退出*/ void chushi()/*初始化函数*/ int i,j; for(i=0;i=N-1;i+) chni.neikong=0;/*将场内车道设置为空*/ for(j=0;j=M-1;j+) chwi.waikong=0;/*将便道车道设置为空*/ printf(nntt已初始化nn); menu();void jinru()/*车辆进入函数*/ int i,a; int h=0; printf(nn请输入该车次序号(从0号开始):); scanf(%d,&a); for(i=0;iN;i+) if(chni.neikong=0);/*无车标记0

15、*/ if(chni.neikong=1)/*有车标记1*/ h=h+1; if(h=N) printf(停车场内已停满,请停在便道上n); else cara.car_stay=h; chnh.neikong=1; printf(该车应该停在停车场内第道%d(从0道开始记)n,h); printf(请输入该车进停车场时刻(24小时整点计时):n); scanf(%d,&cara.car_arr); menu();void likai()/*车辆离开函数*/ int i,k,choi,time; double fee; printf(请输入离开车辆次序号 ,并将此车之后的车先全部退出停车场!)

16、; scanf(%d,&i); printf(n请输入离开车辆的离开时刻(24小时整点计时):n); scanf(%d,&cari.car_lef); fee=D*(cari.car_lef-cari.car_arr); time=cari.car_lef-cari.car_arr; printf(次序号为%d的车停车时间%d小时,应收费%f元n,i,time,fee); printf(nnn请让场内退出的车再依次进场!nnn); printf(便道上现在有车吗(请选择1或2)n1.有n2.没有n);/*因便道上可能没有车,因此要做选择*/ scanf(%d,&choi); if(choi=2) menu(); if(choi=1) printf(请让便道上的第一辆车进场n); printf(该车次序号为:n); scanf(%d,&k); printf(请输入该车进场时间:n); scanf(%d,&cark.car_arr); menu();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1