电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

c语言课程设计 停车场管理

14页
  • 卖家[上传人]:suns****4568
  • 文档编号:78872792
  • 上传时间:2019-02-15
  • 文档格式:PDF
  • 文档大小:350.87KB
  • / 14 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、1 C 语言课程设计报告 C C ProgramProgram LanguageLanguage 设计题目:_停车场管理_ 指导教师: _ 班级: _ 学号: _ 设 计 者: _ 成绩: _ 设计时间: 2011 年06 月 23 日 2 目录目录 第一章 设计目的与要求.3 1.1 设计目的3 1.2 题目要求3 第二章 课程设计的相关内容 .3 2.1 程序设计的原理.3 2.2 功能模块分解(框图).4 第三章 系统运行结果及运行截图5 3.1 设计测试说明.5 3.1.1 初始进入状态.5 3.1.2 当车辆到达时6 3.1.3 车辆离开时及停放所需的费用:.6 3.1.4 车场已满时.6 3.1.5 列出车场信息6 3.2 我完成的部分.6 3.2.1 我完成部分的程序.6 3.2.2 我完成的程序的说明8 3.3 源程序8 第四章 课程设计体会13 参考文献.13 3 第一章第一章 设计目的与要求设计目的与要求 1.11.1 设计目的:设计目的:: 通过 C 语言课程设计, 学会利用结构体,指针,数组,变量等元素实现文件的读写,既能往 文件中存放信息,又能将信息从文件中读

      2、取出来。从中训练自己动手操作能力,使我们了解 高级程序设计语言的结构, 掌握基本的程序设计过程和技巧, 掌握基本的分析问题和利用计 算机求解问题的能力, 具备初步的高级语言程序设计能力。 为后续各门计算机课程的学习和 毕业设计打下坚实基础。 1.21.2 题目要求:题目要求: 用于利用计算机实现停车场的管理,包括车位调度,停车记费。车位记录,收费管理与 计算。 主要功能:车位调度;停车时间与费用的计算;车位记录。 第二章第二章 课程设计的相关内容课程设计的相关内容 2.12.1 程序设计原理:程序设计原理: 设计一个停车场用长度为 N 的堆栈来模拟。由于停车场内如有某辆车要开走 ,在它之 后进来的车都必须先退出为它让道,待其开出停车场后,这些车再依原来的顺序进入。 程序输出每辆车到达后的停车位置, 以及某辆车离开停车场时应交纳的费用和它在停车 场内停留的时间。 以栈模拟停车场, 以队列模拟车场外的便道, 按照从终端读入的输入数据序列进行模拟 管理。栈以顺序结构实现,队列以链表实现。程序中分别采用了“栈”和“队列”作为其存 储结构。 “栈”的定义可知,每一次入栈的元素都在原栈顶元素之上成

      3、为新的元素,每一次出栈 的元素总是当前栈顶元素使次栈元素成为新的栈顶元素, 即最后进栈者先出栈。 程序中采用 的结构是: typedef struct NODE CarNode *stackMAX+1; int top; SeqStackCar; /*模拟车库*/ “队列” 是限定所有插入操作只能在表的一端进行, 而所有的删除操作都只能在表的另 一端进行。插入端叫队尾,删除端叫对头。按先进先出规则进行。程序中采用的结构是: typedef struct Node QueueNode *head; QueueNode *rear; LinkQueueCar; /*模拟通道*/ 由于停车场是一个狭窄通道, 而且只有一个大门可供汽车进出, 问题要求汽车停车场内 按车辆到达时间的先后顺序, 依次由北向南排列。 由此很容易联想到数据结构中的堆栈模型, 因此可首先设计一个堆栈,以堆栈来模拟停车场,又每个汽车的车牌号都不一样,这样一来 可以根据车牌号准确找到汽车位置, 所以堆栈里的数据元素我设计成汽车的车牌号。 当停车 场内某辆车要离开时, 在他之后进入的车辆必须先退出车场为它让路, 待该辆车开出大

      4、门外, 其他车辆再按原次序进入停车场。 这是个一退一进的过程, 而且让道的汽车必须保持原有的 先后顺序,因此可再设计一个堆栈,以之来暂时存放为出站汽车暂时让道的汽车车牌号。当 停车场满后,继续进来的汽车需要停放在停车场旁边的便道上等候,若停车场有汽车开走, 则按排队的先后顺序依次进站, 最先进入便道的汽车将会最先进入停车场, 这完全是一个先 4 进先出模型, 因此可设计一个队列来模拟便道, 队列中的数据元素仍然设计成汽车的车牌号。 另外,停车场根据汽车在停车场内停放的总时长来收费的,在便道上的时间不计费,因此必 须记录车辆进入停车场时的时间, 车辆离开停车场时的时间不需要记录, 当从终端输入时可 直接使用。由于时间不象汽车一样需要让道,我们设计了一个顺序表来存放时间。又用顺序 表用派生法设计了一个堆栈,恰好满足上面模拟停车场的需要。 2.22.2 功能模块分解(框图)功能模块分解(框图) 车辆到达 以堆栈来模拟停车场和以堆栈里的数据元 素我设计成汽车的车牌号 初始化车站, 初始化让 路的临时栈, 初始化通 道 车场未满,车进车场 车场已满,车进便道 判断车场是 否已满 输入车子到达时间

      5、,车牌 号 未满 输入离开车辆的离开时间,进 行停车费用的计算 不做任何计算 判断车场内是 否有车 有 无 车进入车场 此车后面的车辆退出并进入 临时栈 5 第三章第三章 系统运行结果及运行截图系统运行结果及运行截图 3.13.1 设计测试说明:设计测试说明: 本程序相对来说比较容易看明白,其中涉及到的输入,输出显示明白,便于实际操 作。通过调试,运行,基本上达到了要求,但还存在一些缺点。如:界面不够新颖突出, 有点单调等。 3.1.1 初始进入状态(用户界面) : 3.1.2 当车辆到达时: 车子离开 6 3.1.3 车辆离开时及停放所需的费用: 3.1.4 车场已满时: 3.1.5 列出车场信息: 3.2 我完成的部分:我完成的部分: 3.2.13.2.1 程序程序 void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W) /*车辆离开*/ int i, room; 7 CarNode *p,*t; QueueNode *q; /*判断车场内是否有车*/ if(Enter=top0) /*有车*/ while(

      6、1) /*输入车辆离开的信息*/ printf(“n 请输入车在车场的位置/1-%d/:“,Enter=top); scanf(“%d“, if(room=1 Temp=stackTemp=top=Enter=stackEnter=top; Enter=stackEnter=top=NULL; Enter=top-; p=Enter=stackEnter=top; Enter=stackEnter=top=NULL; Enter=top-; while(Temp=top=1) Enter=top+; Enter=stackEnter=top=Temp=stackTemp=top; Temp=stackTemp=top=NULL; Temp=top-; PRINT(p,room); /*判断通道上是否有车及车站是否已满*/ if(W=head!=W=rear) int min; Time; /*时间结点*/ typedef struct node char num10; Time reach; Time leave; CarNode;/*车辆信息结点*/ typedef struct N

      7、ODE CarNode *stackMAX+1; int top; SeqStackCar; typedef struct car CarNode *data; struct car *next; QueueNode; typedef struct Node 9 QueueNode *head; QueueNode *rear; LinkQueueCar; /*模拟通道*/ void InitStack(SeqStackCar *); /*初始化栈*/ int InitQueue(LinkQueueCar *);/*初始化便道*/ intArrival(SeqStackCar *,LinkQueueCar *); /*车辆到达*/ void Leave(SeqStackCar *,SeqStackCar *,LinkQueueCar *); /*车辆离开*/ void List(SeqStackCar,LinkQueueCar); /*显示存车信息*/ void main() SeqStackCar Enter,Temp; LinkQueueCar Wait; int ch; Init

      8、Stack( /*初始化车站*/ InitStack( /*初始化让路的临时栈*/ InitQueue( /*初始化通道*/ printf(“欢迎光临“); printf(“n“); while(1) printf(“n1.车辆到达“); printf(“ 2.车辆离开“); printf(“ 3.列表显示 “); printf(“ 4.退出系统“); while(1) scanf(“%d“, if(ch=1 scanf(“%d“, if(room=1 Temp=stackTemp=top=Enter=stackEnter=top; Enter=stackEnter=top=NULL; Enter=top-; p=Enter=stackEnter=top; Enter=stackEnter=top=NULL; Enter=top-; while(Temp=top=1) Enter=top+; Enter=stackEnter=top=Temp=stackTemp=top; 12 Temp=stackTemp=top=NULL; Temp=top-; PRINT(p,room); /*判断通道上是否有车及车站是否已满*/ if(W=head!=W=rear) printf(“n 位置 到达时间 车牌号n“); for(i=1;i=1|tag=3) break; else printf(“n 请选择 1|2|3:“); switch(tag) case 1:List1(break;/*列表显示车场信息*/ case 2:List2(break; /*列表显示便到信息*/ case 3:flag=0;break; default: break; 第四章第四章 课程设计体会课程设计体会 此次课程设计很锻炼人,因为这是从课本知识到实际操作、从理论到应用的一个过渡, 很多知识都还不懂(比如说堆栈) ,我们就查阅了很多的资料,图书馆,网络,咨询老师等 等。还检验了我的实践能力,感觉自己还有

      《c语言课程设计 停车场管理》由会员suns****4568分享,可在线阅读,更多相关《c语言课程设计 停车场管理》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.