停车场收费管理 C语言 实验报告,C语言停车场管理实验报告(12页)-原创力文档...

学 海 无 涯

设停车场内只有一个可停放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;

1

学 海 无 涯

3.栈和队列的定义(部分代码)

typedef struct carqueue // 链队

{

LPTCARNODE lpHead; // 头结点

LPTCARNODE lpRear; // 指向当前队尾的指针

int nEffectiveSize; // 当前队中元素个数

} TCARQUEUE, *LPTCARQUEUE;

4.栈和队列的初始化(部分代码)

void InitQueue( LPTCARQUEUE &lpCarQueue )

{

lpCarQueue = ( LPTCARQUEUE ) malloc( sizeof( TCARQUEUE ) );

lpCarQueue->lpHead = ( LPTCARNODE) malloc( sizeof( TCARNODE ) );

lpCarQueue->lpHead->lpNext = NULL;

lpCarQueue->lpRear = lpCarQueue->lpHead;

lpCarQueue->nEffectiveSize = 0;

}

实现过程

1.开始界面:输入车库容量

2.输入车辆到达信息

2

学 海

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值