最新停车场系统代码Word格式.docx
《最新停车场系统代码Word格式.docx》由会员分享,可在线阅读,更多相关《最新停车场系统代码Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
LPTCARINFORMATIONlpCarInformation;
//车辆信息
intnTop;
//栈顶元素下标
intnStackSize;
//栈容量
}TCARSTACK,*LPTCARSTACK;
//初始化栈lpCarStack,将其容量设置为nSize
voidInitStack(LPTCARSTACK&
lpCarStack,intnSize)
lpCarStack=(LPTCARSTACK)malloc(sizeof(TCARSTACK));
lpCarStack->
lpCarInformation=(LPTCARINFORMATION)malloc(
nSize*sizeof(TCARINFORMATION)
);
nTop=-1;
nStackSize=nSize;
}
//车辆信息carinfo入栈lpCarStack
voidPush(LPTCARSTACK&
lpCarStack,TCARINFORMATIONcarinfo)
nTop++;
lpCarInformation[lpCarStack->
nTop]=carinfo;
//车辆信息从栈lpCarStack中弹出并存入carinfo
voidPop(LPTCARSTACK&
lpCarStack,TCARINFORMATION&
carinfo)
carinfo=lpCarStack->
nTop];
nTop--;
//若栈lpCarstack空,返回TRUE;
否则,返回FALSE
BOOLIsStackEmpty(LPTCARSTACKlpCarStack)
returnlpCarStack->
nTop==-1;
//若栈lpStackFull满,返回TRUE;
BOOLIsStackFull(LPTCARSTACKlpCarStack)
nTop==(lpCarStack->
nStackSize-1);
//销毁栈lpCarStack,将指针lpCarStack置为NULL
voidDestroyStack(LPTCARSTACK&
lpCarStack)
free(lpCarStack->
lpCarInformation);
free(lpCarStack);
lpCarStack=NULL;
typedefstructcarnode//链队结点信息
TCARINFORMATIONcarinfo;
//车辆信息
structcarnode*lpNext;
//指向下一个元素的指针
}TCARNODE,*LPTCARNODE;
typedefstructcarqueue//链队
LPTCARNODElpHead;
//头结点
LPTCARNODElpRear;
//指向当前队尾的指针
intnEffectiveSize;
//当前队中元素个数
}TCARQUEUE,*LPTCARQUEUE;
//初始化链队lpCarQueue
voidInitQueue(LPTCARQUEUE&
lpCarQueue)
lpCarQueue=(LPTCARQUEUE)malloc(sizeof(TCARQUEUE));
lpCarQueue->
lpHead=(LPTCARNODE)malloc(sizeof(TCARNODE));
lpHead->
lpNext=NULL;
lpRear=lpCarQueue->
lpHead;
nEffectiveSize=0;
//车辆信息carinfo入队lpCarQueue
voidEnQueue(LPTCARQUEUE&
lpCarQueue,TCARINFORMATIONcarinfo)
LPTCARNODElpCarNode=(LPTCARNODE)malloc(sizeof(carnode));
lpCarNode->
carinfo=carinfo;
lpRear->
lpNext=lpCarNode;
lpNext;
nEffectiveSize++;
//队头元素从链队lpCarQueue中出队并存入carinfo
voidDeQueue(LPTCARQUEUE&
lpCarQueue,TCARINFORMATION&
LPTCARNODElpTemp=lpCarQueue->
carinfo=lpTemp->
carinfo;
lpNext=lpTemp->
free(lpTemp);
nEffectiveSize--;
//若链队lpCarQueue为空,返回TRUE;
BOOLIsQueueEmpty(LPTCARQUEUElpCarQueue)
returnlpCarQueue->
nEffectiveSize==0;
//销毁链队lpCarQueue
voidDestroyQueue(LPTCARQUEUE&
LPTCARNODElpNextCarNode=NULL;
for(LPTCARNODElpCarNode=lpCarQueue->
lpCarNode!
=NULL;
lpCarNode=lpNextCarNode)
{
lpNextCarNode=lpCarNode->
free(lpCarNode);
}
free(lpCarQueue);
lpCarQueue=NULL;
//将字符串时间格式转换为数字(分钟)格式,例如12:
36将被转换为756(12*60+36)
intConvertTimeFormat(char*lpTime)
intnHour=0;
intnMinute=0;
sscanf(lpTime,"
%d:
%d"
&
nHour,&
nMinute);
returnnHour*60+nMinute;
//根据在停车场内的停留时间nContinuanceMinutes(分钟)计算费用
doubleCalculateExpense(intnContinuanceMinutes)
returnnContinuanceMinutes*(5.0/60);
intmain(void)
//setcolor();
intnParkCapability=0;
//停车场容量
putchar('
\n'
printf("
请输入停车场容量:
"
scanf("
nParkCapability);
LPTCARSTACKlpCarStack=NULL;
//停车场,用栈模拟豫
InitStack(lpCarStack,nParkCapability);
LPTCARQUEUElpCarQueue=NULL;
//便道,用链队模拟
InitQueue(lpCarQueue);
charcCommandType=NULL;
//命令类型
charszUserInput[128]={NULL};
//用户输入
do
ClearScreen();
//setcolor();
puts("
--------------------"
[命令类型]"
A-车辆到达"
D-车辆离开"
E-停止输入"
O-显示当前停车场和便道使用情况"
例:
A,鄂A3926,13:
33"
D,鄂A3926,14:
44"
E"
O"
请输入命令:
szUserInput);
charszCarInformation[128]={NULL};
sscanf(szUserInput,//将命令类型与车辆信息分开存放
"
%c,%s"
&
cCommandType,//用户输入的前半部分,即命令类型
szCarInformation//用户输入的后半部分,即车辆信息
char*lpCommaLocation=NULL;
//车辆信息字符串中的逗号位置
for(lpCommaLocation=szCarInformation;
*lpCommaLocation!
='
\0'
;
lpCommaLocation++)
if(*lpCommaLocation=='
'
break;
*lpCommaLocation='
TCARINFORMATIONcarinfo={NULL};
//存储本次用户输入的车辆信息
strcpy(carinfo.szRegistrationMark,szCarInformation);
if(cCommandType=='
A'
strcpy(carinfo.szArrivalTime,lpCommaLocation+1);
if(FALSE==IsStackFull(lpCarStack))
strcpy(carinfo.szEntranceTime,carinfo.szArrivalTime);
Push(lpCarStack,carinfo);
已进入停车场第%d个车位\n"
nTop+1
车牌号:
\t\t%s\n"
carinfo.szRegistrationMark);
进入时间:
\t%s\n"
carinfo.szEntranceTime);
是否收费:
\t是"
else
EnQueue(lpCarQueue,carinfo);
停车场已满,已停放在便道的第%d个车位\n"
nEffectiveSize
停放时间:
carinfo.szArrivalTime);
\t否"
elseif(cCommandType=='
D'
strcpy(carinfo.szDepartureTime,lpCommaLocation+1);
LPTCARSTACKlpTempCarStack=NULL;
InitStack(lpTempCarStack,nParkCapability);
TCARINFORMATIONcarinfoOut={NULL};
BOOLbIsCarFound=FALSE;
while(FALSE==IsStackEmpty(lpCarStack))
Pop(lpCarStack,carinfoOut);
if(0!
=strcmp(carinfoOut.szRegistrationMark,carinfo.szRegistrationMark))
Push(lpTempCarStack,carinfoOut);
bIsCarFound=TRUE;
while(FALSE==IsStackEmpty(lpTempCarStack))
TCARINFORMATIONtempcarinfo={NULL};
Pop(lpTempCarStack,tempcarinfo);
Push(lpCarStack,tempcarinfo);
if(FALSE==bIsCarFound)
车牌号为%s的车未进入停车场.\n"
Pause("
--------------------\n按任意键输入下一条信息...\n"
continue;
strcpy(carinfoOut.szDepartureTime,carinfo.szDepartureTime);
intnEntranceTime=ConvertTimeFormat(carinfoOut.szEntranceTime);
intnDepartureTime=ConvertTimeFormat(carinfoOut.szDepartureTime);
intnContinuanceMinutes=nDepartureTime-nEntranceTime;
计费时段:
\t%s-%s(共%d分钟)\n"
carinfoOut.szEntranceTime,
carinfoOut.szDepartureTime,
nContinuanceMinutes
doublerExpense=CalculateExpense(nContinuanceMinutes);
应交纳的费用:
\t%.1lf元\n"
rExpense);
if(FALSE==IsQueueEmpty(lpCarQueue))
DeQueue(lpCarQueue,tempcarinfo);
strcpy(tempcarinfo.szEntranceTime,carinfoOut.szDepartureTime);
停放在便道的第1个车位,车牌号为%s的车已进入停车场\n"
tempcarinfo.szRegistrationMark
E'
********************"
姓名:
吴远彦\n"
学号:
20101003346\n"
O'
[停车场使用情况]\n"
[车位]\t[车牌号]\t[到达时间]\t[进入(开始计费)时间]\n"
);
for(inti=0;
i<
=lpCarStack->
nTop;
i++)
%d\t%s\t\t%s\t\t%s\n"
i+1,
lpCarInformation[i].szRegistrationMark,
lpCarInformation[i].szArrivalTime,
lpCarInformation[i].szEntranceTime
[便道使用情况]\n"
intnNum=0;
lpCarNode=lpCarNode->
lpNext)
nNum++;
nNum,
carinfo.szRegistrationMark,
carinfo.szArrivalTime,
carinfo.szEntranceTime
输入信息有误.第一个字符只能为'
或'
(区分大小写)."
--------------------\n按任意键输入下一条信息.\n"
}while(TRUE);
DestroyStack(lpCarStack);
DestroyQueue(lpCarQueue);
\n按任意键退出程序...\n"
return0;
}2004年一级建造师建设工程法规及相关知识真题及答案
一、单项选择题(共70题,每题1分。
每题的备选项中,只有一个最符合题意)
1国家-级建造师执业资格的注册管理机构是(d )。
A.省级建设行政主管部门
B.人事部或其授权机构
C.建设行业协会
D.建设部或其授权机构
2国家一级建造师的主要执业范围是(a )。
A.担任建设工程项目施工的项目经理
B.担任建设工程项目评估人员
C.从事建设工程项目咨询工作
D.从事建设工程项目预算工作
3民事活动中,当事人意思表示真实是指行为人(d )。
A.言行要有法律根据
B.作出承诺
C.语言规范
D.表现于外部的表示与其内在的真实意志相一致
4以下关于时效中止的正确表述是(a )。
A.因法定事由的出现,权利人不能行使请求权的,诉讼时效中止
B.因原告起诉,诉讼时效中止
C.因被告应诉,诉讼时效中止
D.因证人要求,诉讼时效中止
5大中型建设工程项目立项批准后,建设单位应按(b )顺序办理相应手续。
A.工程发包--报建登记--签订施工承包合同--申领施工许可证
B.报建登记--申领施工许可证--工程发包--签订施工承包合同
C.申领施工许可证--工程发包--签订施工承包合同--报建登记
D.报建登记--工程发包--签订施工承包合同--申领施工许可证
6.从事建筑活动的经济组织应当具备的条件是符合国家规定的( )。
A.注册资本.专业技术人员和技术装备
B.流动资金.专业技术人员和突出业绩
C.注册资本.专业管理人员并依法设立
D.流动资金.专业管理人员和资格证书
7.施工总承包单位与分包单位依法签订了"
幕墙工程分包协议"
,在建设单位组织竣工验收时发现幕墙工程质量不合格。
下列表述正确的是( )。
A.分包单位就全部工程对建设单位承担法律责任
B.分包单位可以不承担法律责任
C.总包单应就分包工程对建设单位承担全部法律责任
D.总包单位和分包单位就分包工程对建设单位承担连带责任。
8.下列各项,符合《建