数据结构实验报告模拟停车场管理(含代码)

数据结构实验报告模拟停车场管理(含代码)
数据结构实验报告模拟停车场管理(含代码)

模拟停车场管理

班级:物联网姓名:XXX 学号:XXXXXXX 日期:4月9日

一、需求分析

1、程序的功能描述

按照从终端输入的数据序列进行模拟管理。

1)狭道停车用栈来实现,并且用的顺序栈,等车位的便道用队列来实现,并用链式存储。

2)每一组输入信息包含三个数据项,汽车的“到达”和“离去”的信息,汽车牌照号码,汽车“到达”或“离去”的时刻。

3)对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出车辆在停车场内或便道上的停车位置;若是车子离去,则输出车辆在停车场内停留的时间和缴纳的费用。(假设在便道等车的时间不收费)

4)选作内容:(1)便道也是要收费的,仅仅比狭道收费便宜点。

(2)狭道上的车可以直接开走。

2、输入/输出的要求

首先选择操作的模块,根据提示输入车牌和到达时间,程序会告知是否停满或者停车车位。车牌为10个字符以内的字符串,时间的输入中间有冒号把时分隔开。

3、测试数据

1 苏D543 1:10

1 苏Q123 1:20

1 苏D145 1:30

二、概要设计

1、本程序所用的抽象数据类型的定义

typedef struct NODE{

CarNode *stack[MAX+1];

int top;

}SeqStackCar;//狭道的堆栈顺序存储

typedef struct car{

CarNode *data;

struct car *next;

}QueueNode;//队列的链式存储

typedef struct Node{

QueueNode *head;

QueueNode *rear;

}LinkQueueCar;//便道上等候的队列定义

2、主模块的流程及各子模块的主要功能

○1车辆到达:int Arrival(SeqStackCar *Enter,LinkQueueCar *W)首先定义一个栈和队列的结构体指针为:*p , *t 。然后申请一个车辆信息的内存空间,并把它赋给栈指针。车辆到达时就输入车牌号,并通过if(Enter->top

○2车辆离开:void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W)

定义一个整型变量room 记录要离开车辆的位置,定义两个栈指针和一个队列指针,

用个if(Enter->top>0) 确保栈不空,然后用个while(1) 确保输入的车辆离开位置的合法性。如果不和法,显示输入有误,要重新输入。通过while(Enter->top>room) 判断离开车辆的位置,如果是中间位置,就要再用一个栈前面临时开出来的车,等要开出的车开出后,再把临时栈的车看进车场内,并要调用PRINT(p,room); 这个函数计算显示费用。然后还要用if((W->head!=W->rear)&&Enter->top

3、模块之间的层次关系

主函数中包含着各个函数模块,各模块也在互相调用。比如,离开函数中要计算停车费,故要调取价格函数。价格函数计算要用到离开和进入的时间,又要调用进入和离开函数。

三、详细设计

1、采用C语言定义相关的数据类型

#define MAX 3 // 停车场最大容量为3辆,便于观察

#define price 0.05

typedef struct time{ // 定义时间结构体

int hour;

int min;

}Time;

typedef struct node{ // 定义车辆信息结构体

char num[10];

Time reach;

Time leave;

}CarNode;

2、写出各模块的伪码算法

void PRINT(CarNode *p,int room){ // 车辆收费

int A1,A2,B1,B2;

printf("\n车辆离开的时间:");

scanf("%d:%d",&(p->leave.hour),&(p->leave.min));

printf("\n离开车辆的车牌号为:");

puts(p->num);

printf("\n其到达停车位时间);

printf("\n离开停车位时间为:);

A1=p->reach.hour;

A2=p->reach.min;

B1=p->leave.hour;

B2=p->leave.min;

printf("\n应交费用为: %2.1f元",((B1-A1)*60+(B2-A2))*price+PRINTE(p,room));

free(p);

}

int Arrival(SeqStackCar *Enter,LinkQueueCar *W)//进入便道或者狭道{

CarNode *p;

QueueNode *t;

p=(CarNode *)malloc(sizeof(CarNode));

flushall();

printf("\n请输入车牌号(例:豫B1234):");

gets(p->num);

if(Enter->top

{

Enter->top++;

printf("\n车辆在车场第%d位置.",Enter->top);

printf("\n车辆到达时间:");

scanf("%d:%d",&(p->reach.hour),&(p->reach.min));

Enter->stack[top]=p;

return(1);

}

else

{

printf("\n该车须在便道等待!有车位时进入车场");

t=(QueueNode *)malloc(sizeof(QueueNode));

进入队列,调整指针;

printf("请输入进入便道的时间");

scanf("%d:%d",&(p->reach.hour),&(p->reach.min));

return(1);

}

}

void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W) { //车辆的离开int room;

CarNode *p,*t;

QueueNode *q;

if(Enter->top>0) // 判断车场是否为空

{

while(1)

{

printf("\n请输入车在车场的位置/1--%d/:",Enter->top); scanf("%d",&room);

if(room>=1&&room<=Enter->top) break;

else printf("\n 输入有误,请重输: ");

}

while(Enter->top>room) // 把要删除的车辆的前面的车开出来,进临时栈。

{

Temp->top++;

Temp->stack[Temp->top]=Enter->stack[Enter->top];

Enter->stack[Enter->top]=NULL;

Enter->top--;

}

p=Enter->stack[Enter->top]; //把要删除的车辆节点赋给p。

Enter->stack[Enter->top]=NULL;

Enter->top--;

while(Temp->top>=1) // 再把临时栈里德车辆进停车场

{

Enter->top++;

Enter->stack[Enter->top]=Temp->stack[Temp->top];

Temp->stack[Temp->top]=NULL;

Temp->top--;

}

PRINT(p,room); // 调用计费函数计费。。

if((W->head!=W->rear)&&Enter->top

{

q=W->head->next;

t=q->data;

Enter->top++;

scanf("%d:%d",&(t->reach.hour),&(t->reach.min));

// t->leave .hour =t->reach.hour;

//t->leave .min =t->reach.min;

W->head->next=q->next;

if(q==W->rear) W->rear=W->head;

Enter->stack[Enter->top]=t;

PRINTE(t,room);

free(q);

}

else printf("\n便道里没有车.\n");

}

else printf("\n车场里没有车.");

}

3、画出函数的调用关系图

|---------------->到达函数-----|

|---------------->离开函数-------->停车费用

主函数----------->显示车场里的情况

|---------------->显示便道里的情况

四、调试分析

1、调试中遇到的问题及对问题的解决方法

因为时间结构体里的小时,分钟都是用的是整型,所以如果出现1:01这个时间的话,会导致显示列表是1:1;这样的话会造成人的误解,同时会导致程序对停车缴纳的费用计算错误。

解决方法1:可以用数组和或者字符串来表示时间,但是问题来了,要是用字符串的话,算停车费有点问题,要废上一段时间的,会提高复杂度。

解决方案2:将输出用右对齐方式,缺位的用0补齐,这样最快捷啦!

2、算法的时间复杂度和空间复杂度

由于没有进行循环嵌套之类的运算,只有简单的循环语句,所以时间复杂度T(O)=O(n),在数据的存储方面,除了车牌号用的是数组以外,便道用的是顺序栈,这些是提前要申请一定的存储空间的,这样非动态分配的存储空间,在某些时候是会导致空间的浪费,增加其空间复杂度。其余的都是结构体和链式存储的队列属于动态存储。当停车场的规模较小时,空间复杂度较小,随着规模的增加,动态存储的扩充,空间复杂度也随之增加。五、使用说明及测试结果(给出程序的使用说明、注意事项及不同情况的测试结果)

时间以24进制计算,停车时间不能跨越24进制。车牌号是10个字符串以内,不可溢出。

第一个应缴费用是在便道中的费用,第二个费用是总费用。

六、源程序(要求程序简洁、清晰、主要语句带注释)代码非本人写,对其进行改进而已#include

#include

#include

#define MAX 3 // 停车场最大容量为3辆,便于观察#define price 0.05

#define pricee 0.02

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];

int top;

}SeqStackCar;

typedef struct car{

CarNode *data;

struct car *next;

}QueueNode;

typedef struct Node{

QueueNode *head;

QueueNode *rear;

}LinkQueueCar;

void InitStack(SeqStackCar *);

int InitQueue(LinkQueueCar *);

int Arrival(SeqStackCar *,LinkQueueCar *);

void Leave(SeqStackCar *,SeqStackCar *,LinkQueueCar *); void List(SeqStackCar,LinkQueueCar);

void main()

{

SeqStackCar Enter,Temp;

LinkQueueCar Wait;

int ch;

system("color 4A");

InitStack(&Enter);

InitStack(&Temp);

InitQueue(&Wait);

while(1)

{

printf("\n §※§※§※§※§※§欢迎使用停车场系统.§※§※§※§※§※§\t\n\n");

printf("\n\t################ 1. 车辆到达登记.################\t\n"); printf("\n\t################ 2. 车辆离开登记.################\t\n"); printf("\n\t################ 3. 车辆列表显示.################\t\n"); printf("\n\t################ 4. 退出系统. ################\t\n\n");

while(1)

{

printf(" 请选择: ");

scanf("%d",&ch);

if(ch>=1&&ch<=4)break;

else printf("\n 输入有误,请重新选择: 1~4: ");

}

switch(ch)

{

case 1:Arrival(&Enter,&Wait); break;

case 2:Leave(&Enter,&Temp,&Wait);break;

case 3:List(Enter,Wait);break;

case 4:exit(0);

default: break;

}

}

}

// 自定义函数

void InitStack(SeqStackCar *s){ // 栈的初始化

int i;

s->top=0;

for(i=0;i<=MAX;i++)

s->stack[s->top]=NULL;

}

int InitQueue(LinkQueueCar *Q){ // 队列的初始化

Q->head=(QueueNode *)malloc(sizeof(QueueNode));

if(Q->head!=NULL)

{

Q->head->next=NULL;

Q->rear=Q->head;

return(1);

}

else return(-1);

}

float PRINTE(CarNode *p,int room){ // 车辆收费

int A1,A2,B1,B2;

printf("\n车辆离开便道的时间:");

scanf("%d:%d",&(p->leave.hour),&(p->leave.min));

printf("\n离开车辆的车牌号为:");

puts(p->num);

printf("\n其到达便道时间为: %d:%d",p->reach.hour,p->reach.min);

printf("\n离开便道时间为: %d:%d",p->leave.hour,p->leave.min);

A1=p->reach.hour;

A2=p->reach.min;

B1=p->leave.hour;

B2=p->leave.min;

printf("\n应交费用为: %2.1f元",((B1-A1)*60+(B2-A2))*pricee);

return(((B1-A1)*60+(B2-A2))*pricee);

free(p);

}

void PRINT(CarNode *p,int room){ // 车辆收费

int A1,A2,B1,B2;

printf("\n车辆离开的时间:");

scanf("%d:%d",&(p->leave.hour),&(p->leave.min));

printf("\n离开车辆的车牌号为:");

puts(p->num);

printf("\n其到达停车位时间为: %d:%d",p->reach.hour,p->reach.min);

printf("\n离开停车位时间为: %d:%d",p->leave.hour,p->leave.min);

A1=p->reach.hour;

A2=p->reach.min;

B1=p->leave.hour;

B2=p->leave.min;

printf("\n应交费用为: %2.1f元",((B1-A1)*60+(B2-A2))*price+PRINTE(p,room)); free(p);

}

// 车辆的到达登记

int Arrival(SeqStackCar *Enter,LinkQueueCar *W){

CarNode *p;

QueueNode *t;

p=(CarNode *)malloc(sizeof(CarNode));

flushall();

printf("\n请输入车牌号(例:豫B1234):");

gets(p->num);

if(Enter->top

{

Enter->top++;

printf("\n车辆在车场第%d位置.",Enter->top);

printf("\n车辆到达时间:");

scanf("%d:%d",&(p->reach.hour),&(p->reach.min));

Enter->stack[Enter->top]=p;

return(1);

}

else

{

printf("\n该车须在便道等待!有车位时进入车场");

t=(QueueNode *)malloc(sizeof(QueueNode));

t->data=p;

t->next=NULL;

W->rear->next=t;

W->rear=t;

printf("请输入进入便道的时间");

scanf("%d:%d",&(p->reach.hour),&(p->reach.min));

return(1);

}

}

void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W) { //车辆的离开int room;

CarNode *p,*t;

QueueNode *q;

if(Enter->top>0) // 判断车场是否为空

{

while(1)

{

printf("\n请输入车在车场的位置/1--%d/:",Enter->top);

scanf("%d",&room);

if(room>=1&&room<=Enter->top) break;

else printf("\n 输入有误,请重输: ");

}

while(Enter->top>room) // 把要删除的车辆的前面的车开出来,进临时栈。

{

Temp->top++;

Temp->stack[Temp->top]=Enter->stack[Enter->top];

Enter->stack[Enter->top]=NULL;

Enter->top--;

}

p=Enter->stack[Enter->top]; //把要删除的车辆节点赋给p。

Enter->stack[Enter->top]=NULL;

Enter->top--;

while(Temp->top>=1) // 再把临时栈里德车辆进停车场

{

Enter->top++;

Enter->stack[Enter->top]=Temp->stack[Temp->top];

Temp->stack[Temp->top]=NULL;

Temp->top--;

}

PRINT(p,room); // 调用计费函数计费。。

if((W->head!=W->rear)&&Enter->top

{

q=W->head->next;

t=q->data;

Enter->top++;

printf("\n便道的%s号车进入车场第%d位置.",t->num,Enter->top);

printf("\n请输入%s号车进入车场的时间:",t->num);

scanf("%d:%d",&(t->reach.hour),&(t->reach.min));

// t->leave .hour =t->reach.hour;

//t->leave .min =t->reach.min;

W->head->next=q->next;

if(q==W->rear) W->rear=W->head;

Enter->stack[Enter->top]=t;

PRINTE(t,room);

free(q);

}

else printf("\n便道里没有车.\n");

}

else printf("\n车场里没有车.");

}

void List1(SeqStackCar *S) //显示车场里的车辆情况

{

int i;

if(S->top>0)

{

printf("\n车场:");

printf("\n 位置到达时间车牌号\n");

for(i=1;i<=S->top;i++)

{

printf(" %d ",i);

printf(" %d:%d ",S->stack[i]->reach.hour,S->stack[i]->reach.min);

puts(S->stack[i]->num);

}

}

else printf("\n车场里没有车");

}

void List2(LinkQueueCar *W) //显示便道上的车辆情况

{

QueueNode *p;

int i;

p=W->head->next;

if(W->head!=W->rear)

{

printf("\n等待车辆的号码为:");

for(i=1; (p!=NULL); i++)

{

printf("\n第 %d 车辆.",i);

puts(p->data->num);

p=p->next ;

}

}

else printf("\n便道里没有车.");

printf("\n");

}

void List(SeqStackCar S,LinkQueueCar W) //显示,遍历

{

int flag,tag;

flag=1;

while(flag)

{

printf(" 查看车辆列表显示: ");

printf("\n 1.车场列表\n 2.便道列表\n 3.返回主菜单\n"); printf("\n请选择 1~3:");

while(1)

{

scanf("%d",&tag);

if(tag>=1 && tag<=3) break;

else printf("\n 输入有误,请重新选择 1~3:");

}

switch(tag)

{

case 1:List1(&S);break;

case 2:List2(&W);break;

case 3:flag=0; system("cls"); break;

default: break;

}

}

}

数据结构实验答案1

重庆文理学院软件工程学院实验报告册 专业:_____软件工程__ _ 班级:_____软件工程2班__ _ 学号:_____201258014054 ___ 姓名:_____周贵宇___________ 课程名称:___ 数据结构 _ 指导教师:_____胡章平__________ 2013年 06 月 25 日

实验序号 1 实验名称实验一线性表基本操作实验地点S-C1303 实验日期2013年04月22日 实验内容1.编程实现在顺序存储的有序表中插入一个元素(数据类型为整型)。 2.编程实现把顺序表中从i个元素开始的k个元素删除(数据类型为整型)。 3.编程序实现将单链表的数据逆置,即将原表的数据(a1,a2….an)变成 (an,…..a2,a1)。(单链表的数据域数据类型为一结构体,包括学生的部分信息:学号,姓名,年龄) 实验过程及步骤1. #include #include #include #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define ElemType int #define MAXSIZE 100 /*此处的宏定义常量表示线性表可能达到的最大长度*/ typedef struct

{ ElemType elem[MAXSIZE]; /*线性表占用的数组空间*/ int last; /*记录线性表中最后一个元素在数组elem[ ]中的位置(下标值),空表置为-1*/ }SeqList; #include "common.h" #include "seqlist.h" void px(SeqList *A,int j); void main() { SeqList *l; int p,q,r; int i; l=(SeqList*)malloc(sizeof(SeqList)); printf("请输入线性表的长度:"); scanf("%d",&r); l->last = r-1; printf("请输入线性表的各元素值:\n"); for(i=0; i<=l->last; i++) { scanf("%d",&l->elem[i]); } px(l,i); printf("请输入要插入的值:\n");

停车场数据结构实验报告附代码

数据结构实验报告 ——实验三停车场模拟管理程序的设计与实现 本实验的目的是进一步理解线性表的逻辑结构和存储结构,进一步提高使用理论知识指导解决实际问题的能力。 一、【问题描述】 设停车场只有一个可停放几辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达的先后顺序依次排列,若车场内已停满几辆汽车,则后来的汽车只能在门外的便道上等候,一旦停车场内有车开走,则排在便道上的第一辆车即可进入;当停车场内某辆车要离开时,由于停车场是狭长的通道,在它之后开入的车辆必须先退出车场为它让路,待该车辆开出大门,为它让路的车辆再按原次序进入车场。在这里假设汽车不能从便道上开走,试设计这样一个停车场模拟管理程序。为了以下描述的方便,停车场的停车场用“停车位”进行叙述,停车场的便道用“便道”进行叙述。 二、【数据结构设计】 1、为了便于区分每辆汽车并了解每辆车当前所处的位置,需要记录汽车的牌照号码和汽车的当前状态,所以为汽车定义一个新的类型CAR,具体定义如下: typedef struct { char *license //汽车牌照号码,定义为一个字符指针类型 char state; //汽车当前状态,字符s表示停放在停车位上,//字符p表示停放在便道上,每辆车的初始状态用字符i来进行表示 } 2、①由于车位是一个狭长的通道,所以不允许两辆车同时出入停车位,当有车到来要进入停车位的时候也要顺次停放,当某辆车要离开时,比它后到的车要先暂时离开停车位,而且越后到的车就越先离开停车位,显然这和栈的“后进先出”特点相吻合,所以可以使用一个栈来描述停车位。 由于停车位只能停放有限的几辆车,而且为了便于停车场的管理,为每个车位要分配一个固定的编号,不妨设为1、2、3、4、5(可利用数组的下标),分别表示停车位的1车位、2车位、3车位、4车位。5车位,针对这种情况使用一个顺序栈比较方便。 ②当某辆车要离开停车场的时候,比它后进停车位的车要为它让路,而且当它开走之后让路的车还要按照原来的停放次序再次进入停车位的某个车位上,为了完成这项功能,再定义一个辅助栈,停车位中让路的车依次“压入”辅助栈,待提出开走请求的车开走后再从辅助栈的栈顶依次“弹出”到停车位中。对辅助栈也采用顺序栈。

(完整版)数据结构实验报告全集

数据结构实验报告全集 实验一线性表基本操作和简单程序 1 .实验目的 (1 )掌握使用Visual C++ 6.0 上机调试程序的基本方法; (2 )掌握线性表的基本操作:初始化、插入、删除、取数据元素等运算在顺序存储结构和链表存储结构上的程序设计方法。 2 .实验要求 (1 )认真阅读和掌握和本实验相关的教材内容。 (2 )认真阅读和掌握本章相关内容的程序。 (3 )上机运行程序。 (4 )保存和打印出程序的运行结果,并结合程序进行分析。 (5 )按照你对线性表的操作需要,重新改写主程序并运行,打印出文件清单和运行结果 实验代码: 1)头文件模块 #include iostream.h>// 头文件 #include// 库头文件------ 动态分配内存空间 typedef int elemtype;// 定义数据域的类型 typedef struct linknode// 定义结点类型 { elemtype data;// 定义数据域 struct linknode *next;// 定义结点指针 }nodetype; 2)创建单链表

nodetype *create()// 建立单链表,由用户输入各结点data 域之值, // 以0 表示输入结束 { elemtype d;// 定义数据元素d nodetype *h=NULL,*s,*t;// 定义结点指针 int i=1; cout<<" 建立一个单链表"<> d; if(d==0) break;// 以0 表示输入结束 if(i==1)// 建立第一个结点 { h=(nodetype*)malloc(sizeof(nodetype));// 表示指针h h->data=d;h->next=NULL;t=h;//h 是头指针 } else// 建立其余结点 { s=(nodetype*) malloc(sizeof(nodetype)); s->data=d;s->next=NULL;t->next=s; t=s;//t 始终指向生成的单链表的最后一个节点

停车场运营管理系统方案设计.doc

停车场运营管理系统方案设计1 X X 集团 停车场营运管理方案 编制: 审核: 审批: 编制日期:二0一八年三月二十六日 目录 第一章管理目的(3) 第二章岗位设置及管理架构(3) 第三章停车场收费管理制度(4) 第四章车场进出动线(6) 第五章管理人员岗位职责(6) 第六章停车场使用守则(10) 第七章车场管理工作规程(12) 第八章停车场特殊事件处理程序(15) 第九章装卸货物管理规定(20)

第十章停车场清洁服务安排(21) 第十一章停车场系统维护保养要求(22) 第十二章车场日常安全巡查及常用表格(22) 第十三章停车场运作费用预算(26) 第十四章停车场其它服务管理规定(27) 第十五章停车场常用标志样式(31) 第十六章附加《商场开业期间车场收费优惠标准》(34) 第一章管理目的 为完善停车场的安全管理,辖区交通畅顺,出入有序,规范停车场的日常经营管理,防止各项安全事故的发生,明确停车场管理的有偿保管责任,以及让现场值班人员能对各项应急突发事件的快速处理,为顾客、业主提供一个安全舒适便利的停车环境,特制定以下车场运营管理方案。 第二章岗位设置及管理架构 一、停车场主管1人,负责停车场的整体管理工作。 二、值班人员9名,早、中班负三负四层各一名,巡逻人员各一名,夜班2名,顶休一名。 三、消防中心监控岗负责停车场内监控管理,发现异常情况通知现场车管处理。

四、停车场日常管理架构图如下: 第三章停车场收费管理制度 一、停车场收费系统为车牌识别出入,微信扫码缴费系统,车场进出口不设人工收费。 二、场内停放的车辆设有月保、临保、VIP等三种形式。VIP 免费停车需经OA《免费停车申请》审批。 三、进入车场15分钟内不计时收费。 四、军车、警车、救护车及抢救车辆等特种车进入停车场执行任务,可免费通行。 五、无特殊情况进出车禁止私自抬杆,出车禁止收取现金。若遇特殊情况需抬杆处理,需按如下流程: 1、出车操作 (1)车主已缴费,系统无法正常起杆,经核实后由主管报部门经理同意后方可手动起杆,并通知信息部将系统恢复正常同时做好记录。 (2)车主未缴费,系统正常,为避免车道的堵塞可将车辆暂时引导到空置区域进行缴费后方可放行。 (3)如整套系统出现故障,人工及自动缴费无法正常进行,由主管报部门经理,经公司领导同意后,可手动起杆免费放行,并通知信息部、财物部现场跟进并清理相关记录。

《数据结构》实验报告

苏州科技学院 数据结构(C语言版) 实验报告 专业班级测绘1011 学号10201151 姓名XX 实习地点C1 机房 指导教师史守正

目录 封面 (1) 目录 (2) 实验一线性表 (3) 一、程序设计的基本思想,原理和算法描述 (3) 二、源程序及注释(打包上传) (3) 三、运行输出结果 (4) 四、调试和运行程序过程中产生的问题及采取的措施 (6) 五、对算法的程序的讨论、分析,改进设想,其它经验教训 (6) 实验二栈和队列 (7) 一、程序设计的基本思想,原理和算法描述 (8) 二、源程序及注释(打包上传) (8) 三、运行输出结果 (8) 四、调试和运行程序过程中产生的问题及采取的措施 (10) 五、对算法的程序的讨论、分析,改进设想,其它经验教训 (10) 实验三树和二叉树 (11) 一、程序设计的基本思想,原理和算法描述 (11) 二、源程序及注释(打包上传) (12) 三、运行输出结果 (12) 四、调试和运行程序过程中产生的问题及采取的措施 (12) 五、对算法的程序的讨论、分析,改进设想,其它经验教训 (12) 实验四图 (13) 一、程序设计的基本思想,原理和算法描述 (13) 二、源程序及注释(打包上传) (14) 三、运行输出结果 (14) 四、调试和运行程序过程中产生的问题及采取的措施 (15) 五、对算法的程序的讨论、分析,改进设想,其它经验教训 (16) 实验五查找 (17) 一、程序设计的基本思想,原理和算法描述 (17)

二、源程序及注释(打包上传) (18) 三、运行输出结果 (18) 四、调试和运行程序过程中产生的问题及采取的措施 (19) 五、对算法的程序的讨论、分析,改进设想,其它经验教训 (19) 实验六排序 (20) 一、程序设计的基本思想,原理和算法描述 (20) 二、源程序及注释(打包上传) (21) 三、运行输出结果 (21) 四、调试和运行程序过程中产生的问题及采取的措施 (24) 五、对算法的程序的讨论、分析,改进设想,其它经验教训 (24) 实验一线性表 一、程序设计的基本思想,原理和算法描述: 程序的主要分为自定义函数、主函数。自定义函数有 InitList_Sq、Out_List、ListInsert_Sq、ListDelete_Sq、LocateElem_Sq 、compare。主函数在运行中调用上述的自定义函数,每个自定义函数实现程序的每部分的小功能。 1.程序设计基本思想 用c语言编译程序,利用顺序存储方式实现下列功能:根据键盘输入数据建立一个线性表,并输出该线性表;然后根据屏幕菜单的选择,可以进行数据的插入、删除、查找,并在插入或删除数据后,再输出线性表;最后在屏幕菜单中选择结束按钮,即可结束程序的运行。 2.原理 线性表通过顺序表现,链式表示,一元多项式表示,其中链式表示又分为静态链表,双向链表,循环链表等,在不同的情况下各不相同,他可以是一个数字,也可以是一个符号,通过符号或数字来实现程序的运行。 3.算法描述

停车场管理系统实验报告汇总

华北水利水电学院数据结构实验报告 2011~2012学年第二学期2011级计算机专业 班级:**** 学号:***** 姓名:**** - 实验二栈和队列及其应用 一、实验目的: 1.掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。 2.掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,队列顺序存储结构、链式存储结构和循环队列的实现,以便在实际问题背景下灵活运用。 二、实验内容: 1.链栈的建立、入栈、出栈操作。 2.环形队列的建立、入队、出队操作。 3.停车场管理。设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。 实现提示:以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车离去;则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表(带头结点)实现。 需另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车,也用顺序存储结构实现。输入数据按到达或离去的时刻有序。栈中每个元素表示一辆汽车,包含两个数据项:汽车的牌照号码和进入停车场的时刻。 设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’表示输入结束。 三、实验要求: 1.C/ C++完成算法设计和程序设计并上机调试通过。 2.撰写实验报告,提供实验结果和数据。 3.写出算法设计小结和心得。 四、程序源代码: 1.#include #include typedef struct stnode { int data; stnode *next;

约瑟夫问题数据结构实验报告汇总.

中南民族大学管理学院学生实验报告 实验项目: 约瑟夫问题 课程名称:数据结构 年级: 专业:信息管理与信息系统 指导教师: 实验地点:管理学院综合实验室 完成日期: 小组成员: 2012 学年至2013 学年度第1 学期

一、实验目的 (1)掌握线性表表示和实现; (2)学会定义抽象数据类型; (3)学会分析问题,设计适当的解决方案; 二、实验内容 【问题描述】:编号为1,2,…,n的n 个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自 1 开始顺序报数,报到m 时停止报数。报m 的人出列,将他的密码作为新的m 值,从他在顺时针方向上的下一个人开始重新从1 报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。 【基本要求】:利用单向循环链表存储结构模拟此过程,按照出列的顺序印出各人的编号。 【测试数据】:m 的初值为20;密码:3,1,7,2,4,8,4(正确的结果应为6,1,4,7,2,3,5)。 三、实验步骤 (一)需求分析 对于这个程序来说,首先要确定构造链表时所用的插入方法。当数到m 时一个人就出列,也即删除这个节点,同时建立这个节点的前节点与后节点的联系。由于是循环计数,所以才采用循环列表这个线性表方式。 程序存储结构利用单循环链表存储结构存储约瑟夫数据(即n个人的编码等),模拟约瑟夫的显示过程,按照出列的顺序显示个人的标号。编号为1,2,…,n 的 n 个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值 m,从第一个人开始按顺时针方向自1 开始顺序报数,报到 m 时停止报数。报 m 的人出列,将他的密码作为新的 m 值,从他在顺时针方向上的下一个人开始重新从 1 报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。基本要求是利用单向循环链表存储结构模拟此过程,按照出列的顺序印出各人的编号。 程序执行的命令(1)构造单向循环链表。 (2)按照出列的顺序引出各个人的标号。 测试数据 m 的初值为 20;密码:3,1,7,2,4,8,4(正确的结果应为 6,1,4,7,2,3,5) (1)、插入:在把元素插入到循环链表中时,由于是采用的头插法,所以我保留了front头结点。在每加入一个节点时,都会直接连接在front后面,从而保证一开始就赋值的rear尾节点不用修改。 伪代码阐释如下:

停车场运营管理方案 (2)

阳光嘉苑小区停车运营管理方案 2014年10月17日

前言 停车管理就是物业管理工作中得一项重要工作,因存在车辆收费难、车辆管理难、服务工作难、停车工作难、停车纠纷多等诸多问题,已成为困扰物业管理公司得重要难题。根据停车场现状与未来停车发展需求,引进专业停车管理公司(专业外包)就是必然趋势,通过合理规划运营,实现车辆停放有序、专业管理到位、责任划分清晰,最大程度地满足广大车主得需求,提升物业管理公司得服务形象与水平,利用租赁经营场地资金实现企业脱困减负或再投入经营发展,进而最终实现物业增值、保值得目得。 若有幸能与贵方进行合作,我公司将结合阳光嘉苑小区停车实际情况,合理得调整解决停车位利用率,运用专业得运营管理手段,提供给车主最安全、最便捷、最贴心得泊车服务,并保证贵方在经济利益与社会效益方面得双重效益。 为了加深贵方对我方管理过程得了解,我公司现向贵方提交下列停车场管理方案,并愿就有关方面得问题进一步与贵方商椎,为最终达成合作奠定基础。 为协助河南文博物业管理有限公司做好阳光嘉苑小区停车管理工作,全面接受停车场地经营管理得委托,满足客人得停车需求,做到停车有位、停车有序、停车安全、创造良好得交通环境,方便小区业主生活,特制定以下管理方案。 一、停车场地位规模及规划 停车场地处国基路99号阳光嘉苑住宅小区,我公司对停车场地进

行了现场勘测、分析调研,根据本小区建筑得品质与居民经济层次、车场规模及效益,利用车场现有资源,科学规划建设,配置相应得停车场管理设施设备,力争打造精品停车场地,并实现三赢(物业公司、业主或使用人、我公司)之目得。 1、阳光嘉苑小区实划有效车位约481个,流动车位350个,属于居民服务区。 2、根据甲方以往得运作模式要求,阳光嘉苑小区地面停车场地位为长租与零收两种管理模式。 3、运用科技手段加强管理力度,车场内配置视频监控设备、门禁系统、挡车器等交通设施设备,各种标识、标线、指示灯箱配备齐全。 4、预留消防通道,通道内不规划车位。 二、停车场泊车管理 机动车泊车管理模式:车辆进入停车场泊车,如果就是临时停靠车辆先由进口门岗发放停车计时卡,固定停车位可自行刷卡进入,巡视引导员提示、引导车辆安全出入车位,车辆驶离时到出口门岗处交还计时卡或刷卡,临时停车按卡上计录时间收取停车费,同时付给停车场专用发票。 1、根据本车辆停车得性质划分区域,分出专用固定停车位区与临时停车区,以便于管理。 2、停车专用车位区得固定车辆,配发本车辆得专用车证。一车一证一位,车辆不准随意停放。 3、停车证就是为方便业主停车而采取得以年交停车费方式得凭

数据结构实验报告(2015级)及答案

数据结构实验报告(2015级)及答案

《数据结构》实验报告 专业__信息管理学院______ 年级__2015级___________ 学号___ _______ 学生姓名___ _ _______ 指导老师____________ 华中师范大学信息管理系编

I 实验要求 1.每次实验中有若干习题,每个学生至少应该完成其中的两道习题。 2.上机之前应作好充分的准备工作,预先编好程序,经过人工检查无误后,才能上机,以提高上机效率。 3.独立上机输入和调试自己所编的程序,切忌抄袭、拷贝他人程序。 4.上机结束后,应整理出实验报告。书写实验报告时,重点放在调试过程和小节部分,总结出本次实验中的得与失,以达到巩固课堂学习、提高动手能力的目的。 II 实验内容 实验一线性表 【实验目的】 1.熟悉VC环境,学习如何使用C语言实现线性表的两种存储结构。 2.通过编程、上机调试,进一步理解线性表的基本概念,熟练运用C语言实现线性表基本操作。 3.熟练掌握线性表的综合应用问题。 【实验内容】 1.一个线性表有n个元素(n

的顺序不变。设计程序实现。要求:采用顺序存储表示实现;采用链式存储表示方法实现;比较两种方法的优劣。 2. 从单链表中删除指定的元素x,若x在单链表中不存在,给出提示信息。 要求: ①指定的值x由键盘输入; ②程序能处理空链表的情况。 3.设有头结点的单链表,编程对表中的任意值只保留一个结点,删除其余值相同的结点。 要求: ①该算法用函数(非主函数)实现; ②在主函数中调用创建链表的函数创建一个单链表, 并调用该函数,验证算法的正确性。 LinkedList Exchange(LinkedList HEAD,p)∥HEAD是单链表头结点的指针,p是链表中的一个结点。本算法将p所指结点与其后 继结点交换。 {q=head->next;∥q是工作指针,指向链表中当前待处理结点。 pre=head;∥pre是前驱结点指针,指向q的前驱。 while(q!=null && q!=p){pre=q;q=q->next;} ∥

数据结构停车场问题实验报告汇总

数据结构课程设计 ——停车场管理问题 姓名: 学号: 问题描述 设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的

车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。 二、实现要求 要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时应交纳的费用和它在停车场内停留的时间。 三、实现提示 汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。例如,(‘A',,1,5)表示1号牌照车在5这个时刻到达,而(‘ D ',,5,20)表示5号牌照车在20这个时刻离去。整个程序可以在输入信息为(‘ E ',0,0)时结束。本题可用栈和队列来实现。 四、需求分析 停车场采用栈式结构,停车场外的便道采用队列结构(即便道就是等候队列)。停车场的管理流程如 下 ①当车辆要进入停车场时,检查停车场是否已满,如果未满则车辆进栈(车辆进入停车场);如果停车场已满,则车辆进入等候队列(车辆进入便道等候)。 ②当车辆要求出栈时,该车到栈顶的那些车辆先弹出栈(在它之后进入的车辆必须先退出车场为它让路),再让该车出栈,其他车辆再按原次序进栈(进入车场)。当车辆出栈完毕后,检查等候队列(便道) 中是否有车,有车则从队列头取出一辆车压入栈中。

数据结构实验报告-答案

数据结构(C语言版) 实验报告

专业班级学号姓名 实验1 实验题目:单链表的插入和删除 实验目的: 了解和掌握线性表的逻辑结构和链式存储结构,掌握单链表的基本算法及相关的时间性能分析。 实验要求: 建立一个数据域定义为字符串的单链表,在链表中不允许有重复的字符串;根据输入的字符串,先找到相应的结点,后删除之。 实验主要步骤: 1、分析、理解给出的示例程序。 2、调试程序,并设计输入数据(如:bat,cat,eat,fat,hat,jat,lat,mat,#),测 试程序的如下功能:不允许重复字符串的插入;根据输入的字符串,找到相应的结点并删除。 3、修改程序: (1)增加插入结点的功能。 (2)将建立链表的方法改为头插入法。 程序代码: #include"" #include"" #include"" #include"" typedef struct node . . 示意图:

head head head 心得体会: 本次实验使我们对链表的实质了解更加明确了,对链表的一些基本操作也更加熟练了。另外实验指导书上给出的代码是有一些问题的,这使我们认识到实验过程中不能想当然的直接编译执行,应当在阅读并完全理解代码的基础上再执行,这才是实验的意义所在。

实验2 实验题目:二叉树操作设计和实现 实验目的: 掌握二叉树的定义、性质及存储方式,各种遍历算法。 实验要求: 采用二叉树链表作为存储结构,完成二叉树的建立,先序、中序和后序以及按层次遍历 的操作,求所有叶子及结点总数的操作。 实验主要步骤: 1、分析、理解程序。 2、调试程序,设计一棵二叉树,输入完全二叉树的先序序列,用#代表虚结点(空指针), 如ABD###CE##F##,建立二叉树,求出先序、中序和后序以及按层次遍历序列,求 所有叶子及结点总数。 实验代码 #include"" #include"" #include"" #define Max 20 ertex=a; irstedge=NULL; irstedge; G->adjlist[i].firstedge=s; irstedge; R[i] 留在原位

数据结构实验报告

数据结构实验报告 一.题目要求 1)编程实现二叉排序树,包括生成、插入,删除; 2)对二叉排序树进行先根、中根、和后根非递归遍历; 3)每次对树的修改操作和遍历操作的显示结果都需要在屏幕上用树的形状表示出来。 4)分别用二叉排序树和数组去存储一个班(50人以上)的成员信息(至少包括学号、姓名、成绩3项),对比查找效率,并说明在什么情况下二叉排序树效率高,为什么? 二.解决方案 对于前三个题目要求,我们用一个程序实现代码如下 #include #include #include #include "Stack.h"//栈的头文件,没有用上 typedefintElemType; //数据类型 typedefint Status; //返回值类型 //定义二叉树结构 typedefstructBiTNode{ ElemType data; //数据域 structBiTNode *lChild, *rChild;//左右子树域 }BiTNode, *BiTree; intInsertBST(BiTree&T,int key){//插入二叉树函数 if(T==NULL) { T = (BiTree)malloc(sizeof(BiTNode)); T->data=key; T->lChild=T->rChild=NULL; return 1; } else if(keydata){ InsertBST(T->lChild,key); } else if(key>T->data){ InsertBST(T->rChild,key); } else return 0; } BiTreeCreateBST(int a[],int n){//创建二叉树函数 BiTreebst=NULL; inti=0; while(i

停车场经营管理方案66380

目录 1、管理目标 2、岗位设置及管理架构 3、管理人员岗位职责、纪律和职业道德 4、管理工作规程 5、停车场之保安安全程序 6、停车场承包费及其它 7、停车场特殊情况处理程序 8、停车场使用守则 9、停车场清洁服务安排 停车场经营管理方案 一、管理目标 制定及落实停车场管理规范,完善停车场的安全管理,保障车辆停放安全,辖区交通畅顺,出入有序,确保车场设施设备之运转正常安全,防止事故发生。明确停车场管理的有偿保管责

任及车位的有偿使用,并向进入停车场车主明确此关系。 二、岗位设置及管理架构 1、建议停车场之岗位设置如下: 1.1摩托车、非机动车出口各设固定收费岗; 1.2机动车入口设固定岗,出口设收费岗及固定岗; 1.3停车场内设流动巡逻岗,同时,监控中心也负责停车场内部之监控;

2、建议停车场之管理架构如下: 三、管理人员岗位职责、纪律和职业道德 1、停车场主管职责 1.1对保安主管负责,服从上级安排,听从指挥做到令行禁止,依法循章对交通、车 辆进行管理。 1.2经常视察车场、并确保各停车位正确使用,保证车道、车场出入口周围道路畅通。 1.3熟悉掌握车辆流通情况,车位情况,合理布署安排,优先保证商户使用车位,按 物价部门规定收取车位停放费。 1.4安排和调整属下人员的工作时间,合理分派所有工作给予属下员工,确使他们严 格遵照指示工作,提高工作效率。 1.5负责监督和落实员工岗位职责,对员工进行岗位职责、工作规程、车管仪器操作 等相关知识的培训和法制教育及职业道德教育,并安排定期对员工进行考核,,提高员工的工作技能及服务质素。 1.6负责每日工作检查,并做好相关记录。 1.7负责对外协调与联系,处理车辆管理方面的问题和客户投诉。 停车场主管 (根据情况确定职务,可以兼物业服务中心 收 费岗 机动车 巡逻岗 非机动车出入车场 车场 工程

数据结构实验报告-答案.doc

数据结构实验报告-答案 数据结构(C语言版)实验报告专业班级学号姓名实验1实验题目:单链表的插入和删除实验目的:了解和掌握线性表的逻辑结构和链式存储结构,掌握单链表的基本算法及相关的时间性能分析。 实验要求:建立一个数据域定义为字符串的单链表,在链表中不允许有重复的字符串;根据输入的字符串,先找到相应的结点,后删除之。 实验主要步骤:1、分析、理解给出的示例程序。 2、调试程序,并设计输入数据(如:bat,cat,eat,fat,hat,jat,lat,mat,#),测试程序的如下功能:不允许重复字符串的插入;根据输入的字符串,找到相应的结点并删除。 3、修改程序:(1)增加插入结点的功能。 (2)将建立链表的方法改为头插入法。 程序代码:#include“stdio.h“#include“string.h“#include“stdlib.h“#include“ctype. h“typedefstructnode//定义结点{chardata[10];//结点的数据域为字符串structnode*next;//结点的指针域}ListNode;typedefListNode*LinkList;//自定义LinkList单链表类型LinkListCreatListR1();//函数,用尾插入法建立带头结点的单链表LinkListCreatList(void);//函数,用头插入法建立带头结点的单链表ListNode*LocateNode();//函数,按值查找结点voidDeleteList();//函数,删除指定值的结点voidprintlist();//函数,打印链表中的所有值voidDeleteAll();//函数,删除所有结点,释放内存

数据结构实验报告—停车场问题

《计算机软件技术基础》实验报告I—数据结构 实验二:停车场管理问题 一、问题描述 1.实验题目: 设停车场是一个可停放 n 辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端)。若停车场内已经停满 n辆车,那么后来的车只能在门外的便道上等候。一旦有车开走,则排在便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场。每辆停放在车场的车在它离开停车场时必须按它停留的时间长短缴纳费用。试为停车场编制按上述要求进行管理的模拟程序。 2.基本要求: 以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入数据的序列进行模拟管理。每一组输入数据包括三个数据项:汽车的“到达”(‘A’表示)或“离去”(‘D’表示)信息、汽车标识(牌照号)以及到达或离去的时刻。对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或者便道上的停车位置;若是车辆离去,则输出汽车在停车场停留的时间和应缴纳的费用(便道上停留的时间不收费)。栈以顺序结构实现,队列以链表结构实现。 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’表示输入结束。其中:(‘A’,1,5)表示1号牌照车在5这个时刻到达,而(‘D’,1,15)表示1号牌照车在15这个时刻离去。 二、需求分析

停车场经营管理方案

停车场经营管理方案 Revised by Petrel at 2021

停车场经营管理方案 一、车场门卫服务规范 1、负责维护车场秩序,疏导交通,引导车辆入位,合理收费,文明服务。 2、指导车辆有序停放,保持车道和消防通道畅通。 3、负责做好车辆登记工作,做到出、入登记,认真填写车辆进出计时卡的时间,对入场车辆进行车况检查,如有损坏当场通知车主,并做好记录。 4、车辆进出先敬礼,使用文明用语,严格执行收发卡和验证制度,进场验发卡,出场收卡,出入卡发出时间和收回时车辆应保持一致,出入卡不得丢失。 5、负责对出场车辆进行检查校对,如发现可疑应拒绝出场,并立即报告负责人,直至校对清楚后方可放其出场,夜间车辆出入需验明“三证”(驾驶证、行驶证、车辆计时卡)。 6、负责提醒车主下车后锁好车门、窗,贵重物品不要遗留在车内。 7、禁止小商、小贩、闲杂人员进入车场或逗留。 8、禁止携带易燃、易爆等危险物品进入车场,禁止在车场内堆放杂物等。 9、严格执行交接班制度,做好值班记录及其它记录,按规定办理移交手续,交班前做好周边卫生。 二、车场巡视人员服务规范 1、按规定的路线时间进行巡视,根据具体情况进行负责车辆引导入位及引导车辆出位,在巡视终端设置签到箱进行签字,确保巡逻人员忠于职守,巡视到位。 2、对车场内可疑人员、车辆进行监视、盘问和检查,发现问题及时予以解决。 3、熟悉车场内设施设备情况,发现车辆碰撞或人为破坏立即制止并给予处理。 4、巡视停车场内车辆有无漏油及烟火,线路安全隐患,不能处理时应及时报告车场主管或值班人员协助处理。 5、检查停放车辆有无异常情况,门窗是否关好,车内有无贵重物品,有无被撬痕迹,并做好巡视记录,必要时通知车主和车场主管。 6、检查停车场内有无可疑箱包,危险物等,并及时处理。 7、遇重大紧急情况应立即报警。 8、夜班巡视人员必须保持高度警觉状态,不得脱岗或打盹睡觉,一经发现将严肃处理。 三、收费管理 (一)收费依据 (二)收费标准 按照上述规定,结合停车场实际停车情况,我公司建议将停车收费定为: 地面:小型车位:XXX元/月,货车XXX元每月,或按排气量大小 临时停车:起价XXX元/两小时、两小时以后每小时加收XXX元 (三)收费管理形式 1、以固定车位月租及临时停放形式,指定具体停车位,并保证交费的业主的车位不被他人侵占,做到专车专用。 2、对已交费的业主发放停车证,凭证进出车场。 3、对一些特定车辆可采用免费发放停车场专用通行证 4、对外来车辆发放计时卡,进门时登记时间,出门时根据停车时间计时交费。

数据结构实验报告图实验

邻接矩阵的实现 1. 实验目的 (1)掌握图的逻辑结构 (2)掌握图的邻接矩阵的存储结构 (3)验证图的邻接矩阵存储及其遍历操作的实现2. 实验内容 (1)建立无向图的邻接矩阵存储 (2)进行深度优先遍历 (3)进行广度优先遍历3.设计与编码MGraph.h #ifndef MGraph_H #define MGraph_H const int MaxSize = 10; template class MGraph { public: MGraph(DataType a[], int n, int e); ~MGraph(){ void DFSTraverse(int v); void BFSTraverse(int v); private: DataType vertex[MaxSize]; int arc[MaxSize][MaxSize]; }

int vertexNum, arcNum; }; #endif MGraph.cpp #include using namespace std; #include "MGraph.h" extern int visited[MaxSize]; template MGraph::MGraph(DataType a[], int n, int e) { int i, j, k; vertexNum = n, arcNum = e; for(i = 0; i < vertexNum; i++) vertex[i] = a[i]; for(i = 0;i < vertexNum; i++) for(j = 0; j < vertexNum; j++) arc[i][j] = 0; for(k = 0; k < arcNum; k++) { cout << "Please enter two vertexs number of edge: " cin >> i >> j; arc[i][j] = 1; arc[j][i] = 1; } }

C语言停车场管理实验报告

设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。 功能描述 以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车离去;则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表实现 系统设计及实现 1.头文件及宏定义 #include #include #include #include #include #define ClearScreen() system( "cls" ) // 清空当前屏幕 #define setcolor() system("color 2f")//设置背景前景颜色 #define Pause( szPrompt ) printf( "%s", szPrompt ),getch() 2.时间和汽车信息结构体的定义(部分代码) typedef struct carinformation // 车辆信息 { char szRegistrationMark[64]; // 车牌号 char szArrivalTime[16]; // 到达时间 char szEntranceTime[16]; // 进入停车场(开始计费)时间 char szDepartureTime[16]; // 离开时间 } TCARINFORMATION, *LPTCARINFORMATION;

数据结构实验报告及心得体会

2011~2012第一学期数据结构实验报告 班级:信管一班 学号:201051018 姓名:史孟晨

实验报告题目及要求 一、实验题目 设某班级有M(6)名学生,本学期共开设N(3)门课程,要求实现并修改如下程序(算法)。 1. 输入学生的学号、姓名和 N 门课程的成绩(输入提示和输出显示使用汉字系统), 输出实验结果。(15分) 2. 计算每个学生本学期 N 门课程的总分,输出总分和N门课程成绩排在前 3 名学 生的学号、姓名和成绩。 3. 按学生总分和 N 门课程成绩关键字升序排列名次,总分相同者同名次。 二、实验要求 1.修改算法。将奇偶排序算法升序改为降序。(15分) 2.用选择排序、冒泡排序、插入排序分别替换奇偶排序算法,并将升序算法修改为降序算法;。(45分)) 3.编译、链接以上算法,按要求写出实验报告(25)。 4. 修改后算法的所有语句必须加下划线,没做修改语句保持按原样不动。 5.用A4纸打印输出实验报告。 三、实验报告说明 实验数据可自定义,每种排序算法数据要求均不重复。 (1) 实验题目:《N门课程学生成绩名次排序算法实现》; (2) 实验目的:掌握各种排序算法的基本思想、实验方法和验证算法的准确性; (3) 实验要求:对算法进行上机编译、链接、运行; (4) 实验环境(Windows XP-sp3,Visual c++); (5) 实验算法(给出四种排序算法修改后的全部清单); (6) 实验结果(四种排序算法模拟运行后的实验结果); (7) 实验体会(文字说明本实验成功或不足之处)。

三、实验源程序(算法) Score.c #include "stdio.h" #include "string.h" #define M 6 #define N 3 struct student { char name[10]; int number; int score[N+1]; /*score[N]为总分,score[0]-score[2]为学科成绩*/ }stu[M]; void changesort(struct student a[],int n,int j) {int flag=1,i; struct student temp; while(flag) { flag=0; for(i=1;ia[i+1].score[j]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; flag=1; } for(i=0;ia[i+1].score[j]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; flag=1;

相关文档
最新文档