欢迎来到天天文库
浏览记录
ID:857326
大小:189.53 KB
页数:11页
时间:2017-09-20
《数据结构课程设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据结构课程设计.停车场管理系统扬州大学信息工程学院《数据结构》---课程设计报告题目:停车场管理问题班级:计科1101学号:111404107姓名:杜舒静指导教师:王丽爱第11页共11页数据结构课程设计.停车场管理系统目录(一)课程题目…………………………………3(二)需求分析…………………………………3(三)概要设计…………………………………3(四)详细设计………………………………3~4(五)测试数据及运行结果…………………4~5(六)源程序…………………………………5~10第11页共11页数据结构课程设计.停车场管理系统一、设计题目停车场管理系统二、需
2、求分析要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场应交纳的费用和它在停车场内停留的时间。实现提示:汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。例如,(‘A’,1,5)表示1号牌照车在5这个时刻到达,而(‘D’,5,20)表示5号牌照车在20这个时刻离去。整个程序可以在输入信息为(‘E’,0,0)时结束。本题可用栈和队列来实现。三、概要设计此停车场管理系统,主要分为以下若干模块:首先定义用来模拟停车场的堆栈以及用来模拟通道的链队列为全局变量,然后编写主函数,在此主函数中实现对其它各个模块的调用。在
3、主函数中首先调用option()函数,出现欢迎用户使用的主界面,然后提示用户进入此停车场管理系统后,再出现一个供用户选择的界面,在用户的选择过程中,程序又分别调用车辆的到达、车辆的离开、停车场内停放车辆的信息以及退出程序这四个函数模块。其中,在车辆的离开那个模块函数中又调用了打印离开车辆信息的函数,在停车场内停放车辆信息的那个模块函数中,又分别调用了显示停车场上车辆信息的函数以及显示便道上车辆信息的函数。最后,从调鼐的这四个函数中回到主函数结束整个程序的运行。四、详细设计在以上各个模块中,出现的调用的函数为:voidInitStack(SeqStackCar
4、*s);intInitQueue(LinkQueueCar*Q);option();intArrival(SeqStackCar*Enter,LinkQueueCar*W);voidLeave(SeqStackCar*Enter,SeqStackCar*Temp,LinkQueueCar*W);voidPRINT(CarNode*p);voidList(SeqStackCarS,LinkQueueCarW);voidList1(SeqStackCar*S);voidList2(LinkQueueCar*W);第11页共11页数据结构课程设计.停车场管理系统图
5、1.模块间的关系四、测试数据及运行结果(2)测试结果的分析与讨论1.主界面2.停车场信息第11页共11页数据结构课程设计.停车场管理系统3.车辆信息(便道)4.退出系统六、源程序#include"stdio.h"#include"stdlib.h"#include"string.h"#include"conio.h"intMAX;/*定义一个全局变量用来存储车库最大容量*/floatprice;/*每车每小时的费用*/typedefstructtime{inthour;intmin;}Time;/*时间结点*/typedefstructnode{charnu
6、m[10];Timereach;Timeleave;}Car;/*车辆信息结点*/typedefstructNODE第11页共11页数据结构课程设计.停车场管理系统{Car*stack[100];inttop;}SqStack;/*停车站*/typedefstructcar{Car*data;structcar*next;}QNode;typedefstructNode{QNode*head;QNode*rear;}LinkQueue;/*通道*/voidInitStack(SqStack*);/*初始化栈*/intInitQueue(LinkQueue*)
7、;/*初始化便道*/intarrive(SqStack*,LinkQueue*);/*车辆到达*/voidleave(SqStack*,SqStack*,LinkQueue*);/*车辆离开*/voidinfo(SqStack,LinkQueue);/*显示停车场信息*/voidPRINT(Car*p,introom);voidInitStack(SqStack*s)/*初始化栈*/{inti;s->top=0;for(i=0;i<=MAX;i++)s->stack[s->top]=NULL;}intInitQueue(LinkQueue*Q)/*初始化便道
8、*/{Q->head=(QNode*)malloc(
此文档下载收益归作者所有