【数据结构】停车场问题(代码有少量问题,正在修改,故计2天)

这是一个设计型实验,旨在让学生熟悉线性表的顺序存储和链式存储,通过模拟停车场管理来实践。实验要求包括车辆到达后的停车位置、离场时的费用计算、查看停车场和便道状态等功能。建议使用静态链表作为存储结构,通过C语言实现。目前代码存在一些问题,正在进行修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【实验类别】设计型实验

【实验目的】

1.熟悉线性表的顺序存储和链式存储各自的特点及运算;
2.熟练掌握线性表的基本操作在不同存储结构中实现算法;
3.通过本次实验帮助学生加深对C语言的使用(特别是函数的参数调用、指针类型的应用和链表的建立等各种基本操作)
4.对一个实际的问题能够进行合理的需求分析,选择合适的存储结构,设计完成符合实际需要的功能。

【实验学时】4学时

【实验组人数】1人。

【实验设备环境】计算机,VC++6.0,C-Free等

【实验内容】

1、停车场的管理(4学时)
【问题描述】设有一个可以停放n辆汽车的停车场,它有二个大门可以供车辆进出,其中一个进,一个出。车辆到达停车场后任意选择空闲停车位停放,每个停车位按顺序编号。如果停车场已放满n辆车,则后来的车辆只能停在停车场大门外的便道上等待,一旦停车场里有车开走,则排在便道上的第一辆车就进入停车场。每辆车离开停车场时,都应根据其在停车场的逗留时间交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆顺序。编制一程序模拟停车场的管理。

[基本要求] 1、要求程序输出每辆车到达后的停车位置(停车场或便道上);
2、某辆车离开停车场时应交纳的费用和停留时间;
3、可以随时查看停车场及便道的状态。
4、可以随时查看空闲停车位。4、可以随时查看空闲停车位。
【实现提示】
1.本题可以用静态链表作为存储结构
2.汽车模拟输入格式为:(到达\ 离去, 汽车牌照号码,到达\离去的时刻), 例如: (‘A’,1,5) 表示1号车在5时刻到达;(‘D’, 5,20) 表示5号车在20时刻离开;结束标志为: (‘E’,0,0)。
说明:以上题目除了要求的基本功能以外,可以根据实际调研的需求自由发挥,增加可行功能,使系统的功能应用更加完善。

 
#include "stdio.h"
#include "malloc.h"
#define MAX 3 //停车站所能容纳的最大车数量
#define SIZE_INIT_LANE 100
#define INCREASE 10 //没次增量
#define PRICE 10; //单价
typedef int Elemtype;//汽车号变量类型
typedef struct
{
Elemtype Car_license; //汽车号码
int Car_Inbound; //入站时刻
int Car_Outbound; //出站时刻
int flag; //是否有车标志
struct Stop_car* next;
}Stop_car;//停车场用静态链表
typedef struct
{
Elemtype* Car_license;
int num;
int size;
}Lane;//便车道动态数组
//全局变量
int Stop_car_Num;//停车站车数量
//函数声明
int Init_Stop_car(Stop_car* s);
int Init_Lane(Lane* L);
int push_car(Elemtype carNum, int time, Stop_car* s, Lane* L);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值