1、 LPTCARINFORMATION lpCarInformation; / 车辆信息 int nTop; / 栈顶元素下标 int nStackSize; / 栈容量 TCARSTACK, *LPTCARSTACK;/ 初始化栈 lpCarStack, 将其容量设置为 nSizevoid InitStack( LPTCARSTACK &lpCarStack, int nSize ) lpCarStack = ( LPTCARSTACK ) malloc( sizeof ( TCARSTACK ) ); lpCarStack-lpCarInformation = ( LPTCARINFORMA
2、TION ) malloc( nSize * sizeof ( TCARINFORMATION ) );nTop = -1;nStackSize = nSize;/ 车辆信息 carinfo 入栈 lpCarStackvoid Push( LPTCARSTACK &lpCarStack, TCARINFORMATION carinfo )nTop+;lpCarInformationlpCarStack-nTop = carinfo;/ 车辆信息从栈 lpCarStack 中弹出并存入 carinfovoid Pop( LPTCARSTACK &lpCarStack, TCARINFORMATI
3、ON &carinfo ) carinfo = lpCarStack-nTop;nTop-;/ 若栈 lpCarstack 空,返回 TRUE;否则,返回 FALSEBOOL IsStackEmpty( LPTCARSTACK lpCarStack ) return lpCarStack-nTop = -1;/ 若栈 lpStackFull 满,返回 TRUE;BOOL IsStackFull( LPTCARSTACK lpCarStack )nTop = ( lpCarStack-nStackSize - 1 );/ 销毁栈 lpCarStack,将指针 lpCarStack 置为 NULL
4、void DestroyStack( LPTCARSTACK &lpCarStack ) free( lpCarStack-lpCarInformation ); free( lpCarStack ); lpCarStack = NULL;typedef struct carnode / 链队结点信息 TCARINFORMATION carinfo; / 车辆信息 struct carnode *lpNext; / 指向下一个元素的指针 TCARNODE, *LPTCARNODE;typedef struct carqueue / 链队 LPTCARNODE lpHead; / 头结点 LPT
5、CARNODE lpRear; / 指向当前队尾的指针 int nEffectiveSize; / 当前队中元素个数 TCARQUEUE, *LPTCARQUEUE;/ 初始化链队 lpCarQueuevoid InitQueue( LPTCARQUEUE &lpCarQueue ) lpCarQueue = ( LPTCARQUEUE ) malloc( sizeof( TCARQUEUE ) ); lpCarQueue-lpHead = ( LPTCARNODE) malloc( sizeof( TCARNODE ) );lpHead-lpNext = NULL;lpRear = lpCa
6、rQueue-lpHead;nEffectiveSize = 0;/ 车辆信息 carinfo 入队 lpCarQueuevoid EnQueue( LPTCARQUEUE &lpCarQueue, TCARINFORMATION carinfo ) LPTCARNODE lpCarNode = ( LPTCARNODE ) malloc( sizeof( carnode ) ); lpCarNode-carinfo = carinfo;lpRear-lpNext = lpCarNode;lpNext;nEffectiveSize+;/ 队头元素从链队 lpCarQueue 中出队并存入 ca
7、rinfovoid DeQueue( LPTCARQUEUE &lpCarQueue, TCARINFORMATION & LPTCARNODE lpTemp = lpCarQueue- carinfo = lpTemp-carinfo;lpNext = lpTemp- free( lpTemp );nEffectiveSize-;/ 若链队 lpCarQueue 为空,返回 TRUE;BOOL IsQueueEmpty( LPTCARQUEUE lpCarQueue ) return lpCarQueue-nEffectiveSize = 0;/ 销毁链队 lpCarQueuevoid De
8、stroyQueue( LPTCARQUEUE & LPTCARNODE lpNextCarNode = NULL; for ( LPTCARNODE lpCarNode = lpCarQueue- lpCarNode != NULL; lpCarNode = lpNextCarNode ) lpNextCarNode = lpCarNode- free( lpCarNode ); free( lpCarQueue ); lpCarQueue = NULL;/ 将字符串时间格式转换为数字(分钟)格式,例如 12:36 将被转换为 756 ( 12 * 60 + 36 )int ConvertT
9、imeFormat( char *lpTime ) int nHour = 0; int nMinute = 0; sscanf( lpTime, %d:%d, &nHour, &nMinute ); return nHour * 60 + nMinute;/ 根据在停车场内的停留时间 nContinuanceMinutes (分钟)计算费用double CalculateExpense( int nContinuanceMinutes ) return nContinuanceMinutes * ( 5.0 / 60 );int main( void )/ setcolor(); int n
10、ParkCapability = 0; / 停车场容量 putchar( n printf( 请输入停车场容量: scanf( nParkCapability ); LPTCARSTACK lpCarStack = NULL; / 停车场,用栈模拟豫 InitStack( lpCarStack, nParkCapability ); LPTCARQUEUE lpCarQueue = NULL; / 便道,用链队模拟 InitQueue( lpCarQueue ); char cCommandType = NULL; / 命令类型 char szUserInput128 = NULL ; / 用
11、户输入 do ClearScreen(); /setcolor(); puts( -命令类型A - 车辆到达D - 车辆离开E - 停止输入O - 显示当前停车场和便道使用情况例:A,鄂A3926,13:33D,鄂A3926,14:44EO请输入命令:, szUserInput ); char szCarInformation128 = NULL ; sscanf( szUserInput, / 将命令类型与车辆信息分开存放 %c,%s, &cCommandType, / 用户输入的前半部分,即命令类型 szCarInformation / 用户输入的后半部分,即车辆信息 char *lpCo
12、mmaLocation = NULL; / 车辆信息字符串中的逗号位置 for ( lpCommaLocation = szCarInformation; *lpCommaLocation != 0; lpCommaLocation+ ) if ( *lpCommaLocation = , break; *lpCommaLocation = TCARINFORMATION carinfo = NULL ; / 存储本次用户输入的车辆信息 strcpy( carinfo.szRegistrationMark, szCarInformation ); if ( cCommandType = A s
13、trcpy( carinfo.szArrivalTime, lpCommaLocation + 1 ); if ( FALSE = IsStackFull( lpCarStack ) ) strcpy( carinfo.szEntranceTime, carinfo.szArrivalTime ); Push( lpCarStack, carinfo );已进入停车场第 %d 个车位nnTop + 1车牌号:tt%sn, carinfo.szRegistrationMark );进入时间:t%sn, carinfo.szEntranceTime );是否收费:t是 else EnQueue(
14、lpCarQueue, carinfo );停车场已满,已停放在便道的第 %d 个车位nnEffectiveSize停放时间:, carinfo.szArrivalTime );t否 else if ( cCommandType = D strcpy( carinfo.szDepartureTime, lpCommaLocation + 1 ); LPTCARSTACK lpTempCarStack = NULL; InitStack( lpTempCarStack, nParkCapability ); TCARINFORMATION carinfoOut = NULL ; BOOL bIs
15、CarFound = FALSE; while ( FALSE = IsStackEmpty( lpCarStack ) ) Pop( lpCarStack, carinfoOut ); if ( 0 != strcmp( carinfoOut.szRegistrationMark, carinfo.szRegistrationMark ) ) Push( lpTempCarStack, carinfoOut ); bIsCarFound = TRUE; while ( FALSE = IsStackEmpty( lpTempCarStack ) ) TCARINFORMATION tempc
16、arinfo = NULL ; Pop( lpTempCarStack, tempcarinfo ); Push( lpCarStack, tempcarinfo ); if ( FALSE = bIsCarFound )车牌号为 %s 的车未进入停车场.n Pause( -n按任意键输入下一条信息.n continue; strcpy( carinfoOut.szDepartureTime, carinfo.szDepartureTime ); int nEntranceTime = ConvertTimeFormat( carinfoOut.szEntranceTime ); int nD
17、epartureTime = ConvertTimeFormat( carinfoOut.szDepartureTime ); int nContinuanceMinutes = nDepartureTime - nEntranceTime;计费时段:t%s - %s (共 %d 分钟)n carinfoOut.szEntranceTime, carinfoOut.szDepartureTime, nContinuanceMinutes double rExpense = CalculateExpense( nContinuanceMinutes );应交纳的费用:t%.1lf 元n, rEx
18、pense ); if ( FALSE = IsQueueEmpty( lpCarQueue ) ) DeQueue( lpCarQueue, tempcarinfo ); strcpy( tempcarinfo.szEntranceTime, carinfoOut.szDepartureTime );停放在便道的第 1 个车位,车牌号为 %s 的车已进入停车场n tempcarinfo.szRegistrationMarkE* 姓名: 吴远彦 n学号:20101003346 nO停车场使用情况n车位t车牌号t到达时间t进入(开始计费)时间n); for ( int i = 0; i nTop
19、; i+ )%dt%stt%stt%sn i + 1,lpCarInformationi.szRegistrationMark,lpCarInformationi.szArrivalTime,lpCarInformationi.szEntranceTime便道使用情况n int nNum = 0; lpCarNode = lpCarNode-lpNext ) nNum+; nNum,carinfo.szRegistrationMark,carinfo.szArrivalTime,carinfo.szEntranceTime输入信息有误.第一个字符只能为 或 (区分大小写).-n按任意键输入下一
20、条信息.n while ( TRUE ); DestroyStack( lpCarStack ); DestroyQueue( lpCarQueue );n按任意键退出程序.n return 0; 2004年一级建造师建设工程法规及相关知识真题及答案一、单项选择题(共70题,每题1分。每题的备选项中,只有一个最符合题意)1 国家-级建造师执业资格的注册管理机构是( d)。A省级建设行政主管部门B人事部或其授权机构C建设行业协会D建设部或其授权机构2 国家一级建造师的主要执业范围是( a)。A担任建设工程项目施工的项目经理B担任建设工程项目评估人员C从事建设工程项目咨询工作D从事建设工程项目预算
21、工作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下列各项,符合建
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1