资源描述:
《源程序。个人信息管理系统.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#include#include#include//常量定义#defineMAX_STOP4//定义停车场最大停车数#defineMAX_PLATE10//定义车牌号最大长度#defineTIME_COUNT"秒"//定义时间单位#defineTIME_MS_TO_CONUT1000//定义时间进制,意为由TIME_COUNT到毫秒的进制#defineUNIT_PRICE10//定义单位时间收费标准usingnamespacestd;
2、//使用std命名空间//数据结构定义//定义存储汽车信息的结构体typedefstruct{charlicense_plate[MAX_PLATE];//汽车牌照号码,定义为一个字符指针类型charstate;//汽车当前状态,字符p表示停放在停车位上,字符s表示停放在便道上,每辆车的初始状态用字符i来进行表示inttime;//汽车停入停车场时的时间,用来计时收费}CAR;//定义模拟停车场的栈结构typedefstruct{CARSTOP[MAX_STOP];//汽车信息的存储空间inttop;//用来指示栈顶位置的静态
3、指针}SeqStack;//定义模拟便道的队列结构typedefstructnode{CARWAIT;//汽车信息的存储空间structnode*next;//用来指示队列位置的动态指针}QNode;//链队列节点的类型//定义链队列的收尾指针typedefstruct{QNode*front,*rear;}LQueue;//将头尾指针封装在一起的链队//函数声明intEmpty_LQueue(LQueue*q);//判队空intLeaveCheck(SeqStackparking,char*license_plate);//
4、检查离开的车是否在停车场中intQueueLength(LQueue*q);//判队长度intOut_LQueue(LQueue*&sidewalk,char*license_plate);//出队操作intStackEmpty(SeqStackparking);//判断栈是否为空intStackFull(SeqStackparking);//判断栈是否为满intStackPop(SeqStack&parking);//出栈操作intStackTop(SeqStackparking,char*license_plate,int
5、&time);//取栈顶元素voidCar_come(SeqStack&parking,LQueue*&sidewalk);//有车到来时的操作voidCar_leave(SeqStack&parking,LQueue*&sidewalk);//有车离开的操作voidDisplay(SeqStackparking);//显示停车场内的所有信息调试时用voidInitStack(SeqStack&parking);//初始化栈voidInitList(LQueue*&sidewalk);//初始化队列voidIn_LQueue(
6、LQueue*&sidewalk,char*license_plate);//进队操作voidInput_Check(char*license_plate);//检验输入的车牌是否合法voidStackPush(SeqStack&parking,char*license_plate,intstop_time);//进栈操作voidmain(){//定义变量SeqStackparking;LQueue*sidewalk=NULL;char*choice=newchar;intflag=1;//定义一个变量判断是否退出//初始化一
7、个为空的停车场InitStack(parking);//初始化一个为空的便道InitList(sidewalk);//运行界面及功能选择while(flag){cout<<"t停车场模拟管理系统";cout<<"t
8、--------------------------------------------------
9、";cout<<"t
10、本程序为停车场的模拟管理系统,有车到来时请按C键。
11、";cout<<"t
12、然后根据屏幕提示进行相关操作,有车要走时请按l键。
13、";cout<<"t
14、
15、然后根据屏幕提示进行相关操作,查看停车场请按D键。
16、";cout<<"t
17、然后根据屏幕提示进行相关操作,要退出系统请按Q键。
18、";cout<<"t
19、--------------------------------------------------
20、