版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈 阳 工 程 学 院课程设计任务书课程设计题目: 停车场管理系统 院 别 信息学院 班 级 计算本121 学生姓名 傅盈欣 周洋 郭子都 李军 学 号 21 09 12 26 指导教师 张欣、吕海华 职称 副教授、讲师 课程设计进行地点: 实训f座 任 务 下 达 时 间: 2014年01月 05日起止日期:2014年01月06日起至2014年01月10日止系主任 年 月 日批准沈 阳 工 程 学 院课 程 设 计设计题目:停车场管理系统系 别 信息学院 班级 计算本121 学生姓名 傅盈欣 周洋 郭子都 李军 学号 21 09 12 26 指导教师 张欣、吕海华 职称 副教授、讲师 起止日
2、期:2014年1月06日起至2014年1月10日止一、课程设计的原始资料及依据随着科技的进步和人类文明的发展,智能停车场管理系统在住宅小区,大厦,机关单位的应用越来越普遍。而人们对停车场管理的要求也越来越高,智能化程度也越来越高,使用更加方便快捷,也为人们的生活带来了方便和快乐不仅提高了现代人的工作效率,也大大的节约了人力物力,降低了公司的运营成本,并使得整个管理系统安全可靠。包括车辆出入信息管理,收费管理等等。查阅有关程序设计的案例资料,进一步理解程序设计模块化的思想,并利用此思想,根据对程序设计学习编写一个停车场管理系统。通过本设计可以加深理解利用程序设计思想开发一个系统的整个流程,提高分
3、析问题、解决问题和实际动手的能力。二、课程设计主要内容及要求以栈模拟停车场,以队列模拟停车场外的便道,按照从终端读入的输入数据的方式进行模拟管理。输入1,表示车辆到达;输入2,表示车辆离开;输入3,表示显示出停车场内及便道上的停车情况;输入4,表示退出系统。车辆到达操作,需输入汽车车牌照号码及到达的时刻;车辆离开操作,需输入汽车在停车场的位置及离开时刻,且应输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。三、对课程设计说明书撰写内容、格式、字数的要求1. 课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、
4、遇到的问题及解决方法、设计总结、设计小组评语、参考文献等。一般不应少于3000字。2在适当位置配合相应的实验原理图、数据通路图、微程序流程图、实验接线图、微指令代码表等图表进行说明。应做到文理通顺,内容正确完整,书写工整,装订整齐。3设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。设计小组评语处注明设计组编号、设计组组长、设计组成员,并由设计组组长给出评语。4课程设计说明书手写或打印均可。手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时采用a4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。文
5、中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。5课程设计说明书装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。四、设计完成后应提交成果的种类、数量、质量等方面的要求1完成“任务书”中指定的操作功能,运行稳定。2课程设计说明书。五、时间进度安排顺序阶段日期计 划 完 成 内 容备注1第1天阅读资料、系统分析设计2第2-3天程序编制、调试及运行3第4天成绩评定4第5天撰写课程设计说明书六、主要参考资料(文献)1严蔚敏 吴伟民.数据结构(c语言版). 北京:清华大学出版社.20072谭浩强.c程序设计.北京:清华大学出版社.19
6、99.123滕国文.数据结构课程设计.北京:清华大学出版社.2010.094苏仕华 等编著. 数据结构课程设计. 北京:机械工业出版社.2005.055李春葆.数据结构(c语言版)习题与解析.北京:清华大学出版社.2002.04沈 阳 工 程 学 院 c+程序设计基础 课程设计成绩评定表系(部): 信息学院 班级: 计算本121 学生姓名: 傅盈欣 指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作, 0.25432工作量按期
7、圆满完成规定的设计任务,工作量饱满,难度适宜。0.25432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以12) 分加权分合计指 导 教 师 签 名: 年 月 日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评
8、审成绩(加权分合计乘以8)分加权分合计评 阅 教 师 签 名: 年 月 日课 程 设 计 总 评 成 绩分沈 阳 工 程 学 院 c+程序设计基础 课程设计成绩评定表系(部): 信息学院 班级: 计算本121 学生姓名: 周洋 指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作, 0.25432工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜。0.25432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技
9、术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以12) 分加权分合计指 导 教 师 签 名: 年 月 日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以8)分加权分合计评 阅 教 师 签 名: 年 月 日课 程 设 计 总 评 成 绩分沈 阳 工 程 学
10、 院 c+程序设计基础 课程设计成绩评定表系(部): 信息学院 班级: 计算本121 学生姓名: 郭子都 指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作, 0.25432工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜。0.25432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以12) 分加权分合计
11、指 导 教 师 签 名: 年 月 日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以8)分加权分合计评 阅 教 师 签 名: 年 月 日课 程 设 计 总 评 成 绩分沈 阳 工 程 学 院 c+程序设计基础 课程设计成绩评定表系(部): 信息学院 班级: 计算本121 学生姓名: 李军 指 导 教 师 评
12、 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作, 0.25432工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜。0.25432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以12) 分加权分合计指 导 教 师 签 名: 年 月 日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一
13、定广泛性;有综合归纳资料的能力0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以8)分加权分合计评 阅 教 师 签 名: 年 月 日课 程 设 计 总 评 成 绩分沈阳工程学院课程设计报告 摘要摘 要现代科学技术的飞速发展,改变了世界,也改变了人类的生活。作为新世纪的大学生,应当站在时代发展的前列,掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展的要求。新世纪需要具有丰富的现代科学知识,能够独立解决面临的任
14、务,充满活力,又有创新意识的新型人才。随着各个领域的突飞猛进,计算机也有它卓越的进步。数据结构不仅为计算机专业工作者所使用,而且为广大计算机应用人员所喜爱和使用。数据结构是国际上广泛流行的计算机高级语言。它适合作为系统描述语言,既可以用来编写系统软件,也可以用来编写应用软件。许多高等学校,不仅在计算机专业开设数据结构课程,而且在非计算机专业也开设了数据结构课程。学习数据结构已经成为广大计算机应用人员和广大青年学生的迫切要求。本次数据结构课程设计是停车场管理系统为题目。停车场管理系统,是以栈模拟停车场,以队列模拟停车场外的便道,按照从终端读入的输入数据的方式进行模拟管理。此系统有三大模块,分别为
15、:车辆到达停车场,车辆进入停车场以及车辆离开停车场。模拟停车场时需要输入车辆的信息,包括车牌号码及进入与离开时刻,因此可以定义一个时间结点类型,在顺序栈及链式队列中定义一个车辆信息结点类型。接着我们通过判断栈是否已满,车辆的进栈与出栈以及车辆的进队与入队来模拟车场内的情况。最后,我们通过定义print函数来实现对停车场内车辆的信息的输出。在为期一周的数据结构课程设计学习中,先要学习数据结构课程的目的掌握栈和队列的思想和使用,学习会用计算机语言编写程序,以实现所需要处理的任务。要正确处理算法与语法的关系,算法结构存储是程序的核心、是灵魂,语法是外壳、是工具。不应把学习重点放在语法规则上,语法是重
16、要的,不掌握语法规则就无法编写出正确的程序。一定要把重点放在解题的思路上和运用何种存储的方法,通过思考和大量的阅读,来构造一个完整的程序。数据结构存储的设计直接关系到程序的好坏。关键词 停车场管理,栈,队列26沈阳工程学院课程设计报告 第一章 绪论第一章 绪 论1.1 设计背景 近年来 ,随着经济的发展,我国的城市化水平加快和人民生活水平的提高,私家车成为了老百姓家中很普遍的交通工具,汽车的数量也因此在不断增加。截至2009年底,我国个人汽车保有量为13427672辆。其中,个人轿车4890387辆,比2002年增加1462441辆,增长率为42.7%。在提供便利的同时,私家车也带来了一个让人
17、头疼的问题,那就是停车问题。特别是在一些大中城市,停车位显得有些供不应求。大型商场、医院、公司这些都是车辆的主要聚集地。在这个寸土寸金的社会中,人们都试图在有限的空间中停入最多的车辆,以满足人们日益增加的需求。因此,如何合理的安排车辆的进出成为了停车场进出车效率的关键。而正确的管理观念非常重要,科学管理方式选择将成为决定车辆贫富差距的关键性因素。为此,我们开发并设计了停车场管理系统。停车场车辆管理的核心是投资收益的最大化和车辆信息分配合理化的集合。管理服务通过充分利用各种管理工具,帮助您达到合理分配的目的、满足您对管理安全性、收益性等多样化要求。开发一个停车场车辆管理软件迎合了现代的公司发展趋
18、势,对居民合理管理公司和他人的联系信息起到重要意义。1.2 设计目的 为了进一步理解程序设计模块化的思想,加深利用程序设计思想开发一个系统的整个流程,提高分析问题、解决问题和实际动手的能力。本次课设我们编写一个停车场管理系统。目的及要求如下; 以栈模拟停车场,以队列模拟停车场外的便道,按照从终端读入的输入数据的方式进行模拟管理。 输入1,表示车辆到达; 输入2,表示车辆离开; 输入3,表示显示出停车场内及便道上的停车情况; 输入4,表示退出系统。 车辆到达操作,需输入汽车车牌照号码及到达的时刻;车辆离开操作,需输入汽车在停车场的位置及离开时刻,且应输出汽车在停车场内停留的时间和应交纳的费用(在
19、便道上停留的时间不收费)。 沈阳工程学院课程设计报告 第二章 系统开发相关技术及运行环境第二章 系统开发相关技术及运行环境2.1 栈和队列 本课设题目中,主要运用栈和队列的知识,其中,栈是用于存储停车场内的停车信息和让车时的临时栈,而队列则是作为存储在便道等候的车的信息。下面,就介绍一下栈和队列的相关知识。堆栈(stack)也简称为栈,是限定在表的一端进行插入或删除操作的线性表。通常将进行插入或删除操作的一段称为栈顶(top),另一端称为栈底(bottom)。插入元素又称为入栈(push),删除元素操作称为出栈(pop)。不含元素的栈称为空栈。因为堆栈的插入和删除只是在栈顶进行的,总是后进去的
20、元素先出来,所以堆栈又称为后进先出线性表或lifo(last in first out)表。堆栈在日常生活中也常见到,如将乒乓球放入一圆柱形的筒中,筒的一端是封闭的,乒乓球的放入和取出都是从筒的一端进行的,那它就是一个堆栈。堆栈这种数据结构,无论在系统软件还是应用软件设计中都是经常要用到的。 队列(queue)是一种运算受限制的线性表,它与堆栈的不同之处在于元素的添加在表的一端进行,而元素的删除在表的另一端进行。允许添加元素的一端称为队尾(rear);允许删除元素的一端称为对头(front)。向队列添加元素称为入队,从队列中删除元素称为出队。由于新入队的元素只能添加在队尾,出队的元素只能是删除
21、对头的元素,所以队列的特点是先进入队列的元素先出队,故队列也称作先进先出表或fifo(first in first out)表。队列与人们日常生活中购物或办事排队的情况十分类似,队中的成员只能按顺序向前移动,而离队的总是排在最前面的人。2.2 c语言简介 c语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到c语言,应用如此广泛的它具有如下特点:c是中级语言。它把高级语言的基本结构和语句与低级语言的
22、实用性结合起来。c 语言可以像汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。c是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。c 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。c语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。c语言适用范围大。适合于多种操作系统,如windows、dos、unix等等;也适
23、用于多种机型。c语言的主要优点包括以下方面:简洁紧凑、灵活方便;运算符丰富;数据结构丰富;c语法限制不太严格、程序设计自由度大;c语言允许直接访问物理地址,可以直接对硬件进行操作;c语言程序生成代码质量高,程序执行效率高;c语言适用范围大,可移植性好。2.3 c语言的特点1.语言简洁、紧凑,使用方便、灵活c语言一共只有32个关键字,9种控制语句,程序书写自由,它把高级语言的基本结构和语句与低级语言的实用性结合起来。程序比其他许多高级语言简练,源程序短,而且可以象汇编语言一样对位、字节和地址进行操作。2.运算符丰富c的运算符包含的范围很广泛,共有种34个运算符。c语言把括号、赋值、强制类型转换等
24、都作为运算符处理。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。3 .数据结构丰富整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等数据类型。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。4.具有结构化控制语句 如ifelse语句、while语句、dowhile语句、switch语句、for语句等。5.c语法限制不太严格、程序设计自由度大对变量的类型使用比较灵活,某些类型数据可以通用;而c允许程序编写者有较大的自由度,放宽了语法检查。6.c语言允许直接访问物理地址,可以直接对硬件进行操作能实现汇编语言的大部分功能,可直接对硬件进行操作,可用来编
25、写系统软件。7.生成代码质量高,程序执行效率高一般只比汇编程序生成的目标代码效率低10%20%。8.c语言编写的程序可移植性用c语言编写的程序可移植性好(与汇编语言相比),不做修改就能用于各种型号的计算机和各种操作系统。 由于c语言的这些优点,使其应用面很广,许多大的软件都用c语言编写自20世纪九十年代初以来,我国学习和使用c语言的人越来越多,掌握次语言已成为计算机开发人员的一项基本功。9.表达力强 c语言有丰富的数据结构和运算符。包含了各种数据结构,如整型、数组类型、指针类型和联合类型等,用来实现各种数据结构的运算。c语言的运算符有34种,范围很宽,灵活使用各种运算符可以实现难度极大的运算。
26、2.4 c语言的运行环境 在c 的运行中我们常选用microsoft visual c+和turbo c+。microsoft visual c+,(简称visual c+、msvc、vc+或vc)微软公司的c+开发工具,具有集成开发环境,可提供编辑c语言,c+以及c+/cli等编程语言。界面如图2.1所示。turbo c是美国borland公司的产品,borland公司是一家专门从事软件开发、研制的大公司。界面如图2.2所示。 图2.1 visual c+6.0的运行界面 图2.2 turbo c+3.0的运行界面2.5 c语言的运行步骤 在常用的c的运行中本次程序设计我们选择了micros
27、oft visual c+6.0,它的运行步骤如下:第一步:先在所有程序中找到本程序,打开界面。“开始”“程序” “microsoft visual c+6.0”。界面如图2.3所示。 图2.3 visual c+6.0 的运行界面第二步:在打开的界面上建立一个新的工程和文件,用于程序的编写。界面如图2.4所示。图2.4 建立文件和程序界面第三步:对源程序进行编译,得到目标程序。编译的界面如图2.5所示。图2.5 程序编译界面第四步:将目标程序与库函数连接,得到可执行程序。第五步:进行可执行程序,得到运行结果。 沈阳工程学院课程设计报告 第三章 系统分析与设计第三章 系统分析与设计3.1系统的
28、功能分析 本任务要求实现停车场管理系统,车辆到达停车场进行车辆停放管理。根据需要,可以分为以下三种情况:车辆到达停车场,车辆进入停车场,车辆离开停车场。其功能模块图如图3.1所示。停车场管理系统车辆到达停车场车辆进入停车场车辆离开停车场车辆停留在便道车辆进入停车场输出车辆的进入信息记录进入的时间位置输出车辆的离开信息记录车辆离开的时间位置输出应缴纳的费用便道的车辆进入停车场 图3.1停车场管理系统功能模块图3.2 系统模块分析及其流程图车辆到达停车场:其中车辆到达时需要用户输入车辆信息,接着要判断栈是否已满,如当前栈未满,则进行入栈操作,即车辆进入停车场;如果栈已满,则车辆必须进入便道等待。其
29、流程图如图3.2所示。 开始输入车辆信息判断停车场是否有空位车辆进入停车场是结束车辆进入便道否图3.2车辆到达停车场功能流程图车辆进入停车场:车辆进入,则进行入栈操作,即将车辆信息结点进行入栈操作。其流程图如图3.3所示。开始定义变量记录车辆进入的时间及位置输出已进入车辆的信息结束 图3.3车辆进入停车场功能流程图车辆离开停车场:车辆的离开,则需要另设一个栈,给离去的汽车让路而从停车场退出来的汽车临时停放,也用顺序栈实现,车辆离开后需检查便道内是否有车辆等待,若有等待车辆则进行便道内的车辆进入停车场的操作,即将车辆信息结点进行入栈操作,输入当前时间后开始计费,最后进行出队操作,表示车辆已离开便
30、道。其流程图如图3.4所示。开 始输入车辆离开信息和时间计算时间差运算停车费用判断便道中是否有车否输出离开停车场信息和收费金额车辆离开停车场更新栈表结 束是输出车辆现在停止在便道位置等待车辆离开图3.4车辆离开停车场功能流程图 沈阳工程学院课程设计报告 第四章 系统功能实现第四章 系统功能实现4.1 定义主函数及菜单函数一般而言,编写一个能运行在操作系统上的程序,都需要一个主函数。主函数意味着建立一个独立进程,且该进程成为了程序的入口,对其它各函数(在某些oop语言里称作方法,比如java)进行调用,当然其它被调用函数也可以再去调用更多函数。主函数既是程序的入口,又是程序的出口,通常我们还可以
31、指定一个exit code再退出,以表明程序最后的结果是什么样的。在这里我们采用模块化设计,由于此系统是运用栈和队列的思想编出的,所以我们首先要定义一些头文件及所涉及到的结构体。另外对于主函数我们也要声明一些必要的变量。函数源代码及功能实现如下:头文件#include stdio.h #include stdlib.h #include string.h #include conio.hint max; /*定义一个全局变量用来存储车库最大容量*/ float price;/*每车每小时的费用*/ 结构体本停车场管理系统中一共使用了5种结构体,它们的定义如下:typedef struct ti
32、me int hour; int min; time; /*时间结点*/ typedef struct node char num10; time reach; time leave; car; /*车辆信息结点*/ typedef struct stack car *stack100; int top; sqstack; /*停车站*/ typedef struct car car *data; struct car *next; qnode; typedef struct node qnode *front; qnode *rear; linkqueue; /*便道*/ 函数的初始化:vo
33、id initstack(sqstack *s); /*初始化栈*/ int initqueue(linkqueue *q); /*初始化便道*/ int arrive(sqstack *in,linkqueue *w); /*车辆到达*/ void leave(sqstack *in,sqstack *out,linkqueue *w); /*车辆离开*/ void info(sqstack s,linkqueue w); /*显示停车场信息*/ void print(car *p,int place);void initstack(sqstack *s) /*初始化栈*/ int i; s
34、-top=0; for(i=0;istacks-top=null; int initqueue(linkqueue *q) /*初始化便道*/ q-front=(qnode *)malloc(sizeof(qnode); if(q-front!=null) q-front-next=null; q-rear=q-front; return(1); else return(-1); 主函数主函数中利用switch语句对实现停车场管理系统中的三个功能进行选择。主函数的核心代码如下:void main() sqstack in,out; linkqueue w; int ch; initstack(
35、&in); /*初始化停车站*/ initstack(&out); /*初始化让路的临时栈*/ initqueue(&w); /*初始化便道*/ while(1) printf(*欢迎使用停车场管理系统*n);printf(请输入停车场的容量:);scanf(%d,&max);printf(请输入停车场的收费标准(元/小时):);scanf(%f,&price);printf(您输入的停车场容量为%d位,费用为%2.1f元/小时。n,max,price); printf(t n); printf(t n); printf(t 。 欢迎进入停车场管理系统 。n); printf(t 1. 车辆到
36、达: n); printf(t . 。 【欢】 【使】 。 . n); printf(t 。 2. 车辆离开: 。 n); printf(t 。 。 n); printf(t 【迎】 3. 停车场信息: 【用】。 n); printf(t | | . n); printf(t 4. 退出系统: n); printf(t n); while(1) ch=getch();switch(ch) case 1:arrive(&in,&w);break; /*车辆到达*/ case 2:leave(&in,&out,&w);break; /*车辆离开*/ case 3:info(in,w);break;
37、 /*输出车站信息*/ case 4:printf(谢谢使用!n);printf(n*n);exit(0); /*退出主程序*/default:printf(n按键无效,请重新按键选择!);system(cls);printf(*欢迎使用停车场管理系统*n);printf( 本程序由计算本121 傅盈欣 周洋 郭子都 李军 编写 n);printf( 版 权 所 有 假 冒 必 究 n); printf( n); printf( n); printf( n);printf( 您输入的停车场容量为%d位,费用为%2.1f元/小时。n,max,price);printf(n*n);printf(1
38、)车辆到达n(2)车辆离开n(3)停车场信息n(4)退出系统n请选择n);printf(n*n); 主函数及菜单功能实现如图4.1所示:图4.1 主函数及菜单功能实现4.2 车辆到达并进入停车场功能 车辆到达停车场时,我们需要用户输入车辆信息,包括车辆到达的时间。接着要判断栈是否已满,如当前栈未满,则将车辆信息结点进行入栈操作,即车辆进入停车场;如果栈已满,则车辆必须进入便道等待,即将车辆信息结点进行入队操作。函数源代码及功能实现如下:int arrive(sqstack *in,linkqueue *w) /*车辆到达*/ car *p; qnode *t; p=(car *)malloc(
39、sizeof(car); flushall();printf(停车场还有%d停车位(若停车位为0,车可先进入便道等待),max-in-top);printf(n请输入车牌号码(例:辽a1234):); scanf(%s,p-num); if(in-toptop+;printf(停车的位置:%d号停车位。,in-top); printf(n请输入车到达的时间(格式*:*):);fflush(stdin);scanf(%d:%d,&(p-reach.hour),&(p-reach.min); while(p-reach.min60|p-reach.hour24)printf(输入时间错误,请重新输
40、入:n);fflush(stdin);scanf(%d:%d,&(p-reach.hour),&(p-reach.min); in-stackin-top=p;printf(请按任意键返回n);printf(n*n);getch(); return(1); else /*停车场已满,车进便道*/ printf(停车位已满,该车须在便道等待!不便之处敬请谅解!); t=(qnode *)malloc(sizeof(qnode); t-data=p; t-next=null; w-rear-next=t; w-rear=t; /*队列尾部指针的移动*/printf(n请按任意键返回); print
41、f(nn*n);getch();return(1); 功能实现如图4.2所示:图4-2车辆到达并进入停车场功能43 车辆离开停车场功能车辆离开停车场时,我们需要另设一个栈,给离去的汽车让路。而从停车场退出来的汽车,我们通过顺序栈来实现临时停放。车辆离开后,需检查便道内是否有正在等待的车辆,若有车辆,则进行车辆进入停车场的操作,即将车辆信息结点进行入栈操作,与此同时进行出队操作。然后输入当前时间,并开始计费。函数源代码及功能实现如下:void leave(sqstack *in,sqstack *out,linkqueue *w) /*车辆离开*/ int place; car *p,*t; q
42、node *q; /*判断车场内是否有车*/ if(in-top0) /*有车*/ while(1) /*输入离开车辆的信息*/ printf(请输入车在停车场的位置(1-%d):,in-top); scanf(%d,&place); if(place=1&placetop)break; printf(输入错误,请重新输入n); while(in-topplace) /*车辆离开*/ out-top+; out-stackout-top=in-stackin-top; in-stackin-top=null; in-top-; p=in-stackin-top; in-stackin-top=
43、null; in-top-; while(out-top=1) in-top+; in-stackin-top=out-stackout-top; out-stackout-top=null; out-top-; print(p,place); /*判断便道上是否有车及停车场是否已满*/ if(w-front!=w-rear)&in-topfront-next; /*队列的第一辆车的信息给q*/t=q-data; in-top+; printf(n便道的%s号车进入停车场第%d号停车位。,t-num,in-top); printf(n请输入现在的时间(格式*:*):); fflush(stdi
44、n);scanf(%d:%d,&(t-reach.hour),&(t-reach.min); while(p-reach.min60)printf(输入时间错误,请重新输入:n);fflush(stdin);scanf(%d:%d,&(p-reach.hour),&(p-reach.min); w-front-next=q-next;if(q=w-rear) w-rear=w-front; in-stackin-top=t; free(q); else printf(停车场里没有车n); /*没车*/printf(n请按任意键返回);printf(nn*n);getch();功能实现如图4.3所示:图4.3 车辆离开停车场
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 康复计划落实情况自查评价整改措施
- 长春市双阳区2025年四年级数学下学期期中检测模拟试题含答案
- (2026版)体育教师年度工作总结
- 长岛县2025-2026学年数学三年级第二学期期末监测试题含解析
- (2026版)医院感染管理职责及制度
- 近代中国博览会事业对民族工业品牌的塑造机制与现代展会经济路径-基于南洋劝业会及西湖博览会历史档案的考证
- 无人机应用技术概论 课程标准
- 麻纺产品工艺流程制度
- 无机物试题及答案
- 东北往事测试题及答案
- 2026年新疆第三师图木舒克市高校毕业生“三支一扶”计划招募(347人)笔试参考题库及答案详解
- 2026年吉林省中考数学试题【含答案解析】
- 2026年医师定期考核题库(完整版)及答案
- 成都地铁车辆基地总图及工艺设计要求
- 2026高考语文全题型万能答题模板与满分公式(打印版)
- 2026年大学GIS应用开发期末考前冲刺练习题库新版附答案详解
- 2026年全国硕士研究生招生考试政治试题及其答案
- 冲压厂奖惩制度
- 成都泡桐中学初一入学语文分班考试真题含答案
- 人工智能网络安全
- 黑龙江大学《审计学》2025 学年第二学期期末试卷
评论
0/150
提交评论