停车场计费函数c语言 停车场计时收费函数c语言

C语言停车场管理系统/*----------------------------------------------------------------
// Copyright (C) 2009 沈阳工程学院信息安全工作室
// 版权所有 。
//
// 文件名:模拟停车场问题.cpp
// 文件功能描述:模拟停车场问题
//
//
// 创建标识:20091214
//
// 修改标识:20091218
// 修改描述:完成编码
//----------------------------------------------------------------*/
//头文件
#include iostream
#include malloc.h
#include string
#include windows.h
//常量定义
#define MAX_STOP 4//定义停车场最大停车数
#define MAX_PLATE 10//定义车牌号最大长度
#define TIME_COUNT "秒"//定义时间单位
#define TIME_MS_TO_CONUT 1000//定义时间进制,意为由TIME_COUNT到毫秒的进制
#define UNIT_PRICE 10//定义单位时间收费标准
using namespace std;//使用std命名空间
//数据结构定义
//定义存储汽车信息的结构体
typedef struct
{
char license_plate[MAX_PLATE]; //汽车牌照号码,定义为一个字符指针类型
char state;//汽车当前状态 , 字符p表示停放在停车位上,字符s表示停放在便道上,每辆车的初始状态用字符i来进行表示
int time;//汽车停入停车场时的时间,用来计时收费
}CAR;
//定义模拟停车场的栈结构
typedef struct
{
CAR STOP[MAX_STOP];//汽车信息的存储空间
int top;//用来指示栈顶位置的静态指针
}SeqStack;
//定义模拟便道的队列结构
typedef struct node
{
CAR WAIT;//汽车信息的存储空间
struct node *next;//用来指示队列位置的动态指针
}QNode;//链队列节点的类型
//定义链队列的收尾指针
typedef struct
{
QNode *front,*rear;
}LQueue;//将头尾指针封装在一起的链队
//函数声明
int Empty_LQueue(LQueue *q);//判队空
int LeaveCheck(SeqStack parking , char *license_plate);//检查离开的车是否在停车场中
int QueueLength(LQueue *q);//判队长度
int Out_LQueue(LQueue *sidewalk , char *license_plate); //出队操作
int StackEmpty(SeqStack parking);//判断栈是否为空
int StackFull(SeqStack parking);//判断栈是否为满
int StackPop(SeqStack parking);//出栈操作
int StackTop(SeqStack parking , char *license_plate , int time);//取栈顶元素
void Car_come(SeqStack parking , LQueue *sidewalk);//有车到来时的操作
void Car_leave(SeqStack parking , LQueue *sidewalk);//有车离开的操作
void Display(SeqStack parking);//显示停车场内的所有信息 调试时用
void InitStack(SeqStack parking);//初始化栈
void InitList(LQueue *sidewalk);//初始化队列
void In_LQueue(LQueue *sidewalk , char *license_plate); //进队操作
void Input_Check(char *license_plate);////检验输入的车牌是否合法
void StackPush(SeqStack parking , char *license_plate , int stop_time);//进栈操作
void main()
{
//定义变量
SeqStack parking;
LQueue *sidewalk = NULL;
char *choice = new char;
int flag = 1;//定义一个变量 判断是否退出
//初始化一个为空的停车场
InitStack(parking);
//初始化一个为空的便道
InitList(sidewalk);
//运行界面及功能选择
while(flag)
{
cout"\n\t停车场模拟管理系统\n\n";
cout"\t|--------------------------------------------------|\n\n";
cout"\t|本程序为停车场的模拟管理系统,有车到来时请按C键 。|\n\n";
cout"\t|然后根据屏幕提示进行相关操作 , 有车要走时请按l键 。|\n\n";
cout"\t|然后根据屏幕提示进行相关操作,查看停车场请按D键 。|\n\n";

推荐阅读