数据结构 课程设计 停车场管理系统
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
nod2[j].time2=nod[1].time; cout<<nod2[j].num2<<" "<<nod2[j].time<<" " <<nod2[j].time2<<" "<<endl; //} } } 五、调试与测试
六、关键百度文库程序清单和执行结果 #include<iostream>
using namespace std; struct node //定义结构体 { int num; //车编号 int time; //停车时间 }; node nod[2]; //定义结构体数组 struct node2 { int num2; //编号 int time; //停车时间 int time2; //等待时间 }; node2 nod2[2]; void che(int i) { if(i<2) { for(i=0;i<2;i++) { cout<<"woqu"<<endl; cin>>nod[i].num>>nod[i].time; cout<<nod[i].num<<" "<<nod[i].time<<" "<<endl; } } else { cout<<"车库已满请等待"<<endl; nod[0].num=nod2[2].num2; nod[0].time=nod2[2].time; cout<<nod[0].num<<" "<<nod[0].time<<endl; } } void chu(int x) {
} } 出库模块: void chu(int x) { // cin>>x; if(x<=2) { // while(x<=2) //{ cout<<nod[0].num<<" "<<nod[0].time<<endl; for(x=0;x<2;x++) { nod[x].num=nod[x+1].num; nod[x].time=nod[x+1].time; } //} } else { cout<<nod2[0].num2<<" "<<nod2[0].time<<endl; } } 等待车辆: void deng(int j) { //cin>>j; if(j>=2) { //for(j=2;j<=5;j++) //{ cout<<"ciao"<<endl; nod2[j].num2=j+3; nod2[j].time=0;
完成期限:自 2011 年 12 月 12 日至 2011 年 12 月 16 日共 1 周 设计依据、要求及主要内容(可另加附页): 一、设计目的
熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实 际问题。
二、设计要求
(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课 程设计的每一项任务; (2)按照课程设计的题目要求,独立地完成各项任务,严禁抄 袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。凡 发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计 成绩; (3)学生在接受设计任务后,首先要按设计任务书的要求编写设计 进程表; (4)认真编写课程设计报告。 三、设计内容 停车场管理:
输入欲进库车辆编号
车库满? 是 便道等待 否 车辆进库 车辆出库 便道车辆出列 出库车辆编号 便道车辆入库 结束
四、详细设计 定义入库车辆编号记录并时间车库存满后后续出辆在便道等待 直到有车出库,出库时便道中得车退出,库内欲出库车辆出库,便道中 第一个车辆进入空闲车位。 入库模块:定义一个结构体和结构体数组 node nod[2]; //定义结构体数组 void che(int i) { if(i<2) { for(i=0;i<2;i++) { cout<<"woqu"<<endl; cin>>nod[i].num>>nod[i].time; cout<<nod[i].num<<" "<<nod[i].time<<" "<<endl; } } else { cout<<"车库已满请等待"<<endl; nod[0].num=nod2[2].num2; nod[0].time=nod2[2].time; cout<<nod[0].num<<" "<<nod[0].time<<endl;
// cin>>x; if(x<=2) { // while(x<=2) //{ cout<<nod[0].num<<" "<<nod[0].time<<endl; for(x=0;x<2;x++) { nod[x].num=nod[x+1].num; nod[x].time=nod[x+1].time; } //} } else { cout<<nod2[0].num2<<" "<<nod2[0].time<<endl; } } void deng(int j) { //cin>>j; if(j>=2) { //for(j=2;j<=5;j++) //{ cout<<"ciao"<<endl; nod2[j].num2=j+3; nod2[j].time=0; nod2[j].time2=nod[1].time; cout<<nod2[j].num2<<" "<<nod2[j].time<<" " <<nod2[j].time2<<" "<<endl; //} } } void main() {
int m; int n=1; while(n!=0) { cout<<"1:进库车编号"<<endl; cout<<"2:出库车编号"<<endl; cout<<"3:等待车辆"<<endl; cout<<"0:退出"<<endl; cin>>n; switch(n) { case 1: cout<<"进库车辆"<<endl; cin>>m; che(m); break; case 2: cout<<"出库车辆"<<endl; cin>>m; chu(m); break; case 3: cout<<"等待车辆"<<endl; cin>>m; deng(m); break; case 0: n=0; break; } } system("pause"); }
学 号
数据结构课程设计
设计说明书
停车场管理系统
起止日期: 2011年 12月 12 日 至 2011 年 12月16日 学生姓名 班级 成绩 指导教师 ( 签 字) 电子与信息工程系 2011年 12月16日
天津城市建设学院
课程设计任务书
2011—2012学年第1学期
电子与信息工程 系 软件工程 专业 课程设计名称: 数据结构课程设计 设计题目: 学生作业完成情况管理系统 班级
同,如1辆客车和1.5辆小汽车的占地面积相同,1辆十轮卡车占地面积 相当于3辆小汽车的占地面积。 (3) 汽车可以直接从便道上开走,此时排在它前面的汽车要先开 走让路,然后再依次排到队尾。 (4) 停放在便道上的汽车也收费,收费标准比停放在停车场的车 低,请思考如何修改结构以满足这种要求。
四、参考文献
1.王红梅.数据结构.清华大学出版社 2.王红梅.数据结构学习辅导与实验指导.清华大学出版社 3.严蔚敏,吴伟民.数据结构(C语言版).清华大学出版社
1、 需求分析 车库的车的进出;车库内存为两辆车,超出内存需要等待不能进 入车库 当车库内有车出库时在外等候的车辆才能进入车库。 进入车库需要进入车库的车的编号和入库时间,汽车出库时需要 车辆编号和出库时间,车库中友空位等待车辆才能进入车库 二、问题求解 车库有车需要进入确定车库内存,车库便道也能容纳车辆,车辆将要 入库时要查看车库是否满,如果满则停在便道(存储),等待车库内某 一车辆出库后才可以进入车库,同时记录车辆进库得时间,当又有车将 要出车库时记录车辆出车库的时间此时便道上的车辆需要后退(存储) 到出库车辆能够出库,然后便道等待的车辆能进入车库中。 三、总体设计
1)问题描述 设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门 可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北 向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北 端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等 候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某 辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆 车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在 它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按 上述要求进行管理的模拟程序。 2)基本要求 以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输 入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到 达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输 入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场 内或便道上的停车位置;若是车离去;则输出汽车在停车场内停留的时 间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实 现,队列以链表实现。 3)测试数据 设n=2,输入数据为:(‘A’,1,5),(‘A’,2,10), (‘D’,1,15),(‘A’,3, 20), (‘A’,4,25), (‘A’,5,30),(‘D’,2,35),(‘D’,4,40), (‘E’,0,0)。每一组输入数据包括三个数据项:汽车“到 达”或“离去”信息、汽车牌照号码及到达或离去的时刻,其 中,‘A’表示到达;‘D’表示离去,‘E’表示输入结束。 4)实现提示 需另设一个栈,临时停放为给要离去的汽车让路而从停车场退出 来的汽车,也用顺序存储结构实现。输入数据按到达或离去的时刻有 序。栈中每个元素表示一辆汽车,包含两个数据项:汽车的牌照号码和 进入停车场的时刻。 5)选作内容 (1) 两个栈共享空间,思考应开辟数组的空间是多少? (2) 汽车可有不同种类,则它们的占地面积不同,收费标准也不