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

  • 3
  • 0
  • 约1.31万字
  • 约 12页
  • 2021-12-11 发布于河北
  • 举报
设停车场内只有一个可停放 n 辆汽车的狭长通道, 且只有一个大门可供汽车 进出。汽车在停车场内按车辆到达时间的先后顺序, 依次由北向南排列 (大门在 最南端,最先到达的第一辆车停放在车场的最北端) ,若车场内已停满 n 辆汽车, 则后来的汽车只能在门外的便道上等候, 一旦有车开走, 则排在便道上的第一辆 车即可开入; 当停车场内某辆车要离开时, 在它之后开入的车辆必须先退出车场 为它让路, 待该辆车开出大门外, 其它车辆再按原次序进入车场, 每辆停放在车 场的车在它离开停车场时必须按它停留的时间长短交纳费用。 试为停车场编制按 上述要求进行管理的模拟程序。 功能描述 以栈模拟停车场, 以队列模拟车场外的便道, 按照从终端读入的输入数据序 列进行模拟管理。 每一组输入数据包括三个数据项: 汽车“到达”或“离去”信 息、汽车牌照号码及到达或离去的时刻, 对每一组输入数据进行操作后的输出数 据为:若是车辆到达, 则输出汽车在停车场内或便道上的停车位置; 若是车离去; 则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收 费)。栈以顺序结构实现,队列以链表实现 系统设计及实现 1.头文件及宏定义 #include conio.h #include malloc.h #include stdio.h #include stdlib.h #include windows.h #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; 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;

文档评论(0)

1亿VIP精品文档

相关文档