停车场课程设计报告模板

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
车辆到场(有车位即入场,否则入便道等待)、车辆出场(任意位置车辆均可出场)
查询车辆信息、输出停车场(包括停车位和便道的车辆)
1.3
第二章
2.1
2.2
//初始化栈
void InitStack(SeqStackCar *s)
{
int i;
s->top=0;
for(i=0;i<=MAX;i++)
s->stack[s->top]=NULL;
4. 根据答辩的情况,应能够以清晰的思路和准确、简练的语言叙述自己的设计和回答教师的提问
六、建议参考资料
1.《数据结构(C语言版)》严蔚敏、吴伟民主编清华大学出版社2004.11
2.《数据结构课程设计案例精编(用C/C++描述)》,李建学 等 编著,清华大学出版社 2007.2
3.《数据结构:用面向对象方法与C++语言描述》,殷人昆主编,清华大学出版社 2007.6
//主程序
void main()
{
SeqStackCar Enter,Temp;
LinkQueueCar Wait;
int ch;
InitStack(&Enter); //初始化停车场
InitStack(&Temp); //初始化让路的临时栈
InitQueue(&Wait); //初始化通道
while(1)
5. 设计完成后提交课程设计报告
四、进度安排
资料查阅与讨论(1天)
系统分析(2天)
系统的开发与测试(5天)
编写课程设计说明书和验收(2天)
五、评分标准
1. 根据平时上机考勤、表现和进度,教师将每天点名和检查
2. 根据课程设计完成情况,必须有可运行的软件。
3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。
{
cout<<"输入错误!"<<endl;
cout<<"请重新输入到达时间的时(0-23)!"<<endl;
cin>>p->reach.hour;
}
cin>>p->reach.min;
while(p->reach.min<0||p->reach.min>59) //控制分钟输入正确
{
cout<<"输入错误!"<<endl;
}
//初始化便道(队列)
int InitQueue(LinkQueueCar *Q)
{
Q->head=(QueueNode *)malloc(sizeof(QueueNode));
if(Q->head!=NULL)
{
Q->head->next=NULL;
Q->rear=Q->head;
return(1);
第一章
1.1
1.2
以结构体类型表示停车时间和车辆信息,在此基础上借助栈完成对车辆的入场和出场操作,借助队列完成辅助停车场便道,即存放等待入场车辆或辅助车场中的某辆车出场。
设计类(或类模板)来描述栈、队列、停车场及其操作,包含必要的构造函数和析构函数,以及其他能够完成如下功能的成员函数:
压栈、退栈
入队列、出队列
int top;
}SeqStackCar;
typedef struct car
{
CarNode *data;
struct car *next;
}QueueNode;
//模拟便道
typedef struct Node
{
QueueNode *head;
QueueNode *rear;
}LinkQueueCar;
{
cout<<"※※※※@欢迎使用本停车场管理系统@※※※※"<<endl;
cout<<"**************************************************************"<<endl;
cout<<"※——1.车辆到达——※"<<endl;
cout<<"※——2.车辆离开——※"<<endl;
{
CarNode *p;
QueueNode *t;
p=(CarNode *)malloc(sizeof(CarNode));
flushall();
cout<<"请输入车牌号(例:A1234):"<<endl;
gets(p->num);
if(Enter->top<MAX) //停车场未满,车辆进入停车场
free(p);
}
3.3
int InitQueue(LinkQueueCar *Q)
{
Q->head=(QueueNode *)malloc(sizeof(QueueNode));
if(Q->head!=NULL)
{
Q->head->next=NULL;
Q->rear=Q->head;
return(1);
{
int flag,tag;
压栈、退栈
入队列、出队列
车辆到场(有车位即入场,否则入便道等待)、车辆出场(任意位置车辆均可出场)
查询车辆信息、输出停车场(包括停车位和便道的车辆)
并设计主函数测试该类。
三、设计要求及成果
1. 分析Leabharlann Baidu程设计题目的要求
2. 写出详细设计说明
3. 编写程序代码,调试程序使其能正确运行
4. 设计完成的软件要便于操作和使用
}
else return(-1);
}
2.3
表2.1:函数列表
函数
函数格式
函数功能
InitStack
InitStack(SeqStackCar *)
初始化栈
InitQueue
InitQueue(LinkQueueCar *)
初始化对列
Arrival
Arrival(SeqStackCar*,LinkQueueCar *)
break;
case 2:Leave(&Enter,&Temp,&Wait); //车辆离开
break;
case 3:List(Enter,Wait); //显示车辆信息
break;
case 4:exit(0); //退出主程序
default:
break;
}
}
}
//列表界面
void List(SeqStackCar S,LinkQueueCar W)
//时间结点
typedef struct time
{
int hour;
int min;
}Time;
//车辆信息结点
typedef struct node
{
char num[10];
Time reach;
Time leave;
}CarNode;
//模拟停车场
typedef struct NODE
{
CarNode *stack[MAX+1];
{
cout<<"输入错误!"<<endl;
cout<<"请重新输入离开的时间的分(0-59)!"<<endl;
cin>>p->leave.min;
}
cout<<endl<<"离开车辆的车牌号为:"<<endl;
puts(p->num);
cout<<"其到达时间为: "<<p->reach.hour<<":"<<p->reach.min<<endl;
}
else return(-1);
}
第四章
附录:程序代码
#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 2 //车库容量
#define price 0.01 //一辆车每分钟费用
//方法声明
void InitStack(SeqStackCar *); //初始化栈
int InitQueue(LinkQueueCar *); //初始化便道
int Arrival(SeqStackCar *,LinkQueueCar *); //车辆到达
void Leave(SeqStackCar *,SeqStackCar *,LinkQueueCar *); //车辆离开
{
Enter->top++;
cout<<"车辆在停车场第"<<Enter->top <<"号车位!"<<endl;
cout<<"请输入到达时间:(小时:分钟)"<<endl;
cin>>p->reach.hour;
while(p->reach.hour<0||p->reach.hour>23) //控制时间格式正确
t->data=p;
t->next=NULL;
W->rear->next=t;
W->rear=t;
return(1);
}
}
3.2
void PRINT(CarNode *p,int room)
{
int A1,A2,B1,B2;
cout<<"请输入离开的时间:(小时:分钟)"<<endl;
cin>>p->leave.hour;
while(p->leave.hour<0||p->leave.hour>23)
{
cout<<"输入错误!"<<endl;
cout<<"请重新输入离开的时间的时(0-23)"<<endl;
cin>>p->leave.hour;
B1=p->leave.hour;
}
cin>>p->leave.min;
while(p->leave.min<0||p->leave.min>59)
cout<<"※——3.显示信息——※"<<endl;
cout<<"※——4.退出系统——※"<<endl;
cout<<"**************************************************************"<<endl;
cout<<"!说明:请注意正确输入时间,在输入“时”后,按“ENTER”或者“空格”,在输入“分”。不要为非数字!"<<endl;
cout<<"请输入所需要的服务! (1-4)."<<endl;
while(1)
{
cin>>ch;
if(ch>=1&&ch<=4)
break;
else
cout<<"输入错误!请选择:1-4)."<<endl;
}
switch(ch)
{
case 1:Arrival(&Enter,&Wait); //车辆到达
一、教学要求
1.掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力
2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能
3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力
4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风
void List(SeqStackCar,LinkQueueCar); //显示信息
void PRINT(CarNode *p,int room); //输出离开车辆的信息清单
void List1(SeqStackCar *S); //显示停车场信息
void List2(LinkQueueCar *W); //显示便道信息
车辆到达记录
Leave
Leave(SeqStackCar*,SeqStackCar *,LinkQueueCar *)
车辆离开记录
List
List(SeqStackCar,LinkQueueCar
显示信息
2.4
第三章
3.1
int Arrival(SeqStackCar *Enter,LinkQueueCar *W)
内蒙古科技大学
本科生课程设计论文
题 目:停车场管理器设计
学生姓名:吕晓明
学 号:1176807333
专 业:计算机科学与技术
班 级:2011-3
指导教师 :康懿
2013年5月30日
内蒙古科技大学课程设计任务书
课程名称
数据结构课程设计
设计题目
停车场管理器设计
指导教师
康懿
时间
2009.6.15——2008.6.26
cout<<"请重新输入到达时间的分(0-59)!"<<endl;
cin>>p->reach.min;
}
Enter->stack[Enter->top]=p;
return(1);
}
else //停车场已满,车辆进入便道
{
cout<<"停车场已满,请在便道等待!"<<endl;
t=(QueueNode *)malloc(sizeof(QueueNode));
二、设计资料及参数
每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。
停车场管理器设计
以结构体类型表示停车时间和车辆信息,在此基础上借助栈完成对车辆的入场和出场操作,借助队列完成辅助停车场便道,即存放等待入场车辆或辅助车场中的某辆车出场。
要求设计类(或类模板)来描述栈、队列、停车场及其操作,包含必要的构造函数和析构函数,以及其他能够完成如下功能的成员函数:
cout<<"离开时间为:"<<p->leave.hour<<":"<<p->leave.min<<endl;
A1=p->reach.hour;
A2=p->reach.min;
B1=p->leave.hour;
B2=p->leave.min;
cout<<"应缴费用为:"<<(((B1-A1)*60+(B2-A2))+1440)%1440*price<<"元!"<<endl;
相关文档
最新文档