停車場管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁
停車場管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第2頁
停車場管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第3頁
停車場管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第4頁
停車場管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

停車場管理系統(tǒng)課程設(shè)計(jì)報(bào)告PAGEPAGE14重慶科技學(xué)院《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)報(bào)告學(xué)院:_電氣與信息工程學(xué)院_專業(yè)班級(jí):計(jì)科12-04學(xué)生姓名:田園學(xué)號(hào):2012442095設(shè)計(jì)地點(diǎn)(單位)________計(jì)算機(jī)自主學(xué)習(xí)中心________

設(shè)計(jì)題目:______停車場管理系統(tǒng)______完成日期:2013年1月18日指導(dǎo)教師評語:___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________成績(五級(jí)記分制):________________

指導(dǎo)教師(簽字):________________ 摘要當(dāng)今社會(huì),停車場管理電腦化已經(jīng)成為了停車場管理的不可缺少的一項(xiàng)重要內(nèi)容,隨著停車車輛的不斷增加,停車場對停車的管理越來越復(fù)雜,所以要實(shí)現(xiàn)對停車的正確管理是必不可少的。本次課程設(shè)計(jì)就是為了對停車基本的信息及其停車費(fèi)用的管理做一個(gè)簡單的表現(xiàn),主要實(shí)現(xiàn)對停車的信息錄入,修改,刪除,顯示,添加,查找等幾個(gè)方面的功能。而要實(shí)現(xiàn)這些功能,首先要建一個(gè)數(shù)組,將所有停車的信息都統(tǒng)籌起來,而且通過C++建立類的方式完成這些過程,并且能準(zhǔn)確明顯的顯示每輛停車的基本信息和對其資費(fèi)的管理。通過如此對停車的管理,可以達(dá)到對停車信息的準(zhǔn)確管理。關(guān)鍵詞:停車場管理數(shù)組C++類

重慶科技學(xué)院課程設(shè)計(jì)任務(wù)書設(shè)計(jì)題目:停車場管理系統(tǒng)設(shè)計(jì)學(xué)生姓名課程名稱程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)專業(yè)班級(jí)計(jì)科11地點(diǎn)I304/I306起止時(shí)間2013年1月7日~1月18日設(shè)計(jì)內(nèi)容及要求1)問題描述定義車輛類,屬性有車牌號(hào)、顏色、車型(小汽車、小卡、中卡和大卡)、到達(dá)的時(shí)間和離開的時(shí)間等信息和相關(guān)的對屬性做操作的行為。定義一個(gè)管理類,完成對停車場的管理。停車場的具體要求:設(shè)停車場是一個(gè)可停放n輛汽車的狹長通道,且只有一個(gè)大門可供汽車進(jìn)出。汽車在停車場內(nèi)按車輛到達(dá)時(shí)間的先后順序,依次由北向南排列(大門在最南端,最先到達(dá)的第一輛車停放在車場的最北端),若車場內(nèi)已停滿n輛汽車,則后來的汽車只能在門外的便道上等待,一旦有車開走,則排在便道上的第一輛車即可開入;每輛停放在車場的車在它離開停車場時(shí)必須按它停留的時(shí)間長短交納費(fèi)用。2)功能要求(1)添加功能:程序能夠添加到達(dá)停車場的車輛信息,要求車輛的車牌號(hào)要唯一,如果添加了重復(fù)編號(hào)的記錄時(shí),則提示數(shù)據(jù)添加重復(fù)并取消添加。(2)查詢功能:可根據(jù)車牌號(hào)、車型等信息對已添加的停車場中的車輛信息進(jìn)行查詢,如果未找到,給出相應(yīng)的提示信息,如果找到,則顯示相應(yīng)的記錄信息;(3)顯示功能:可顯示當(dāng)前系統(tǒng)中所有車輛的信息,每條記錄占據(jù)一行。(4)編輯功能:可根據(jù)查詢結(jié)果對相應(yīng)的記錄進(jìn)行修改,修改時(shí)注意車牌號(hào)的唯一性。(5)刪除功能:主要實(shí)現(xiàn)對已添加的車輛記錄進(jìn)行刪除。如果當(dāng)前系統(tǒng)中沒有相應(yīng)的人員記錄,則提示“記錄為空!”并返回操作。(6)統(tǒng)計(jì)功能:能統(tǒng)計(jì)停車場中車輛的總數(shù)、按車型、按到達(dá)時(shí)間進(jìn)行統(tǒng)計(jì)等。3)問題的解決方案根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟:(1)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);(2)分析系統(tǒng)中的各個(gè)實(shí)體及它們之間的關(guān)系;(3)根據(jù)問題描述,設(shè)計(jì)系統(tǒng)的類層次;(4)完成類層次中各個(gè)類的描述;(5)完成類中各個(gè)成員函數(shù)的定義;(6)完成系統(tǒng)的應(yīng)用模塊;(7)功能調(diào)試;(8)完成系統(tǒng)總結(jié)報(bào)告。根據(jù)題目要求,運(yùn)用所學(xué)知識(shí),完成設(shè)計(jì)和實(shí)現(xiàn)工作,并按照書寫規(guī)范,撰寫課程設(shè)計(jì)報(bào)告。設(shè)計(jì)參數(shù)(1)系統(tǒng)分析、設(shè)計(jì)正確。(2)結(jié)果以圖表方式顯示。(3)界面簡潔、美觀。(4)報(bào)告格式規(guī)范。進(jìn)度要求周一:明確設(shè)計(jì)任務(wù),學(xué)習(xí)相關(guān)基礎(chǔ)知識(shí)周二:熟悉各知識(shí)點(diǎn),進(jìn)行基礎(chǔ)練習(xí)周三:根據(jù)題目要求,進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)周四:根據(jù)題目要求,進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)周五:程序測試參考資料[1]RichardJohnsonbaugh.MartinKalin.《面向?qū)ο蟪绦蛟O(shè)計(jì)—C++語言描述》.機(jī)械工業(yè)出版社.2009年[2]錢能.《C++語言程序設(shè)計(jì)教程》.清華大學(xué)出版社.2005年其它說明1.本表應(yīng)在每次實(shí)施前一周由負(fù)責(zé)教師填寫二份,院系審批后交院系辦備案,一份由負(fù)責(zé)教師留用。2.若填寫內(nèi)容較多可另紙附后。3.一題多名學(xué)生共用的,在設(shè)計(jì)內(nèi)容、參數(shù)、要求等方面應(yīng)有所區(qū)別。教研室主任:指導(dǎo)教師:裴仰軍/伍建全/焦曉軍/陳應(yīng)祖2013目錄

1.軟件需求分析說明書主要介紹該軟件具有哪些詳細(xì)的功能,及軟件的界面要求、數(shù)據(jù)結(jié)構(gòu)要求等(要把軟件的所有的功能全部寫在該部分)

1.課程設(shè)計(jì)的目的和要求

1.1綜合要求和目的:

C++語言課程設(shè)計(jì)的主要目的是培養(yǎng)學(xué)生綜合運(yùn)用C++語言程序設(shè)計(jì)課程所學(xué)到的知識(shí),編寫C++程序解決實(shí)際問題的能力,以及嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度和良好的程序設(shè)計(jì)習(xí)慣。通過課程設(shè)計(jì)的訓(xùn)練,學(xué)生應(yīng)該能夠了解程序設(shè)計(jì)的基本開發(fā)過程,掌握編寫、調(diào)試和測試C++語言程序的基本技巧,充分理解結(jié)構(gòu)化程序設(shè)計(jì)的基本方法。

C++語言程序設(shè)計(jì)的主要任務(wù)是要求學(xué)生遵循軟件開發(fā)過程的基本規(guī)范,運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的方法,按照課程設(shè)計(jì)的題目要求,分析、設(shè)計(jì)、編寫、調(diào)試和測試C++語言程序及編寫設(shè)計(jì)報(bào)告。

1.2本課程設(shè)計(jì)的目標(biāo):

鞏固和加深學(xué)生對C++語言課程的基本知識(shí)的理解和掌握

掌握C++語言編程和程序調(diào)試的基本技能

掌握利用C++語言進(jìn)行軟件設(shè)計(jì)的方法

提高書寫程序設(shè)計(jì)說明文檔的能力

5.

提高運(yùn)用C++語言解決實(shí)際問題的能力

1.3基本要求:

1.

分析課程設(shè)計(jì)題目的要求

2.

對系統(tǒng)功能模塊進(jìn)行分析,寫出詳細(xì)的設(shè)計(jì)說明文檔

編寫程序代碼,代碼量要求不少于300行,調(diào)試程序使其能正確運(yùn)行

設(shè)計(jì)完成的軟件要便于操作和使用

5.

設(shè)計(jì)完成后提交課程設(shè)計(jì)報(bào)告1.4設(shè)計(jì)要求停車場是一個(gè)可停放n輛汽車的狹長通道,且只有一個(gè)大門可供汽車進(jìn)出。汽車在停車場內(nèi)按車輛到達(dá)時(shí)間的先后順序,依次由北向南排列(大門在最南端,最先到達(dá)的第一輛車停放在車場的最北端),若車場內(nèi)已停滿n輛汽車,則后來的汽車只能在門外的便道上等待,一旦有車開走,則排在便道上的第一輛車即可開入;每輛停放在車場的車在它離開停車場時(shí)必須按它停留的時(shí)間長短交納費(fèi)用。車進(jìn)入停車場需要輸入該車的車牌信息,車的顏色,車的型號(hào)和車進(jìn)入停車場的準(zhǔn)確時(shí)間。其中車牌信息是一輛車的標(biāo)志,只有通過車牌信息才能準(zhǔn)確的確認(rèn)該車;車的顏色是每輛的共有屬性。車的型號(hào)一共分為四種,包括小汽車,小卡,中卡,大卡。這四種車型是用來統(tǒng)計(jì)車輛信息的利器,停車場管理員可以根據(jù)四輛車的型號(hào)來統(tǒng)計(jì)這四種車分別有多少輛。這樣才能更好的管理停車場中的所有停車。車進(jìn)入停車場的準(zhǔn)確時(shí)間包括車進(jìn)停車場的年,車進(jìn)停車場的月,車進(jìn)停車場的日,車進(jìn)停車場的小時(shí),車進(jìn)停車場的分鐘,車進(jìn)停車場的秒。只有準(zhǔn)確的記錄這些信息才能對停車的信息把握的更充分,更到位。而且必須根據(jù)車進(jìn)入停車場的時(shí)間才能在車開出停車場的時(shí)候計(jì)算出該車在停車場中所停的時(shí)間,才能通過停車時(shí)間來計(jì)算車輛應(yīng)該繳納的停車費(fèi)用。只有完全精確地輸入所有的信息各種車輛才能有條不紊的進(jìn)出停車場,完成停車,停車場管理員才能更加更好的完成工作。

2.系統(tǒng)分析與設(shè)計(jì)2.1軟件界面設(shè)計(jì)畫出軟件全部輸入、輸出數(shù)據(jù)的界面,并對每一個(gè)界面進(jìn)行詳細(xì)的操作說明首頁:圖2.1-0這是首頁,接下來輸入選擇的操作的序號(hào)輸入1:圖2.1-1選擇1接下來輸入進(jìn)入停車場的車的車牌號(hào),輸完了車牌號(hào)之后會(huì)有Color、CheXing、year、mouth、day、hour、minute、second的信息輸入。輸入2:圖2.1-2選擇2接下來輸入要離開停車場的車的車牌號(hào),根據(jù)車牌號(hào)可以讓車輛離開停車場,并且會(huì)在確認(rèn)停車場之內(nèi)有該輛車之后輸入離開時(shí)間,用以計(jì)算停車費(fèi)用。輸入3:圖2.1-3選擇3接下來輸入車牌號(hào)就可以查詢停車場中是否存在該車,如果沒有有兩種選擇,一是車輛入庫,二是返回首頁,接下來輸入相應(yīng)的操作序號(hào),就可以達(dá)到相應(yīng)效果,如果輸入錯(cuò)誤會(huì)有提示,并給出返回首頁的操作。如果停車場中有該輛車,程序就會(huì)輸出該車的所有信息,并給出三種選項(xiàng):一是刪除該給信息,二是修改該車信息,三是返回首頁,輸入相應(yīng)序號(hào)可以完成相應(yīng)操作,如果輸入錯(cuò)誤會(huì)有提示,并給出返回首頁的操作。輸入4:圖2.1-4接下來程序就會(huì)顯示出停車場中的所有車輛信息,并且這些車輛信息會(huì)每輛汽車的信息站一列顯示,這樣就可以很輕松的對信息進(jìn)行觀察。信息顯示完了之后會(huì)有:1.返回首頁的選擇操作,如果輸入1就會(huì)返回首頁,果輸入錯(cuò)誤會(huì)有提示,并給出返回首頁的操作。輸入5:圖2.1-5輸入了5,就會(huì)程序就會(huì)顯示出按總數(shù)統(tǒng)計(jì)和按車型統(tǒng)計(jì)兩種選擇統(tǒng)計(jì)方法,如果接著輸入1,選擇按總數(shù)統(tǒng)計(jì),程序就會(huì)自動(dòng)的統(tǒng)計(jì)出停車場中現(xiàn)有的停車數(shù)量。接下來就會(huì)給出返回首頁的操作,如果選擇怎卻就會(huì)返回首頁,如果錯(cuò)誤會(huì)有提示,并繼續(xù)給出返回首頁的操作。如果輸入2,選擇按車型統(tǒng)計(jì),程序就會(huì)自動(dòng)的將四種車型在停車場中的數(shù)量分別統(tǒng)計(jì)其輛數(shù),并且顯示出來。接下來就會(huì)給出返回首頁的操作,如果選擇怎卻就會(huì)返回首頁,如果錯(cuò)誤會(huì)有提示,并繼續(xù)給出返回首頁的操作。輸入其它:圖2.1-6如果輸入的不是1、2、3、4、5種選項(xiàng)中的其中一種,二是隨意亂輸?shù)囊粋€(gè)數(shù)值,程序就會(huì)顯示無此選項(xiàng)!的操作并且給出返回首頁重新選擇的操作。如果繼續(xù)輸入錯(cuò)誤就會(huì)繼續(xù)提示。2.2軟件的數(shù)據(jù)(結(jié)構(gòu))設(shè)計(jì)對整個(gè)軟件使用的文件功能、文件內(nèi)部的數(shù)據(jù)格式進(jìn)行說明圖2.2-1在本課程設(shè)計(jì)中我一個(gè)用了一個(gè)txt文本來存儲(chǔ)車輛信息,在該文本中,第一行是一個(gè)整形的數(shù)值,它的作用是顯示該文本中一共存放了多少來輛車。2.3軟件的算法設(shè)計(jì)畫出整個(gè)軟件的模塊圖、并對每一個(gè)模塊圖的算法用程序流程圖、功是偽代碼來實(shí)現(xiàn)四種車型分別數(shù)量全部車輛數(shù)車牌號(hào)入場時(shí)間車型車色車牌汽車信息統(tǒng)計(jì)顯示所有汽車汽車信息查詢汽車出停車場汽車進(jìn)停車場首頁四種車型分別數(shù)量全部車輛數(shù)車牌號(hào)入場時(shí)間車型車色車牌汽車信息統(tǒng)計(jì)顯示所有汽車汽車信息查詢汽車出停車場汽車進(jìn)停車場首頁車牌號(hào)車牌號(hào)圖2.3-1軟件的實(shí)現(xiàn)與測試3.1軟件的實(shí)現(xiàn)3.1.1車的類型車的屬性,車包括車牌號(hào),車色,車型,入停車場時(shí)間等屬性。車的方法,包括Set()、show()兩個(gè)方法。車的屬性中車牌具有唯一性,是用來分辨各輛車的唯一標(biāo)準(zhǔn),所以輸入時(shí)一定要小心別輸入錯(cuò)誤;色車在各種車中是可以相同的,不具有唯一性;車型一共就只有四種,分別是xiaoqiche,xiaoka,zhognka,daka,輸入時(shí)一定要注意車型;汽車進(jìn)入停車場時(shí)間用來在后面計(jì)算汽車費(fèi)用是必不可少的,所以以上四種屬性多很重要。車的方法是Set(),show()其中Set()的作用是用來給車的屬性賦值用的,而show()的作用是用來展示車的各種屬性的。classChe{public: stringID; stringColor; stringCheXing; TimeaTime; Che*Next; Che(){} voidSet() { cout<<"ID="; cin>>ID; cout<<"Color="; cin>>Color; cout<<"CheXing=(xiaoqichexiaokazhongkadaka)"<<endl; cin>>CheXing; aTime.setTime(); } voidshow() { cout<<ID; cout<<Color; cout<<CheXing; aTime.showTime(); } ~Che(){}};3.1.2時(shí)間類型時(shí)間屬性,包括year,mouth,day,hour,minute,second等屬性。時(shí)間方法,包括setTime(),showTime()兩種方法。此程序中的時(shí)間類型一共就有year,mouth,day,hour,minute,second,其中year,mouth,day,hour,minute是用來計(jì)算停車時(shí)間必不可少的因素,而second是用來確定準(zhǔn)確時(shí)間的,所以都很重要,不容有錯(cuò)!時(shí)間的方法就是setTime(),showTime()其中setTime()使用來給時(shí)間賦值的,而showTime()是用來展示時(shí)間屬性的!classTime{public: intyear; intmouth; intday; inthour; intminute; intsecond; voidsetTime() { cout<<"Time"<<endl; cout<<"year:"; cin>>year; cout<<"mouth:"; cin>>mouth; cout<<"day:"; cin>>day; cout<<"hour:"; cin>>hour; cout<<"minute:"; cin>>minute; cout<<"second:"; cin>>second; } voidshowTime() { cout<<year<<mouth<<day<<hour<<minute<<second; }};3.1.3首頁函數(shù)首頁是一個(gè)軟件的門戶,首頁不好看,該程序就會(huì)在客戶心中有一個(gè)不好的影響,如果首頁很好,那即使你的內(nèi)容差一點(diǎn),我相信客戶也是會(huì)首先考慮你的產(chǎn)品的,就因?yàn)槟愕氖醉?,比別的更美觀,更好看,這就是一個(gè)很大的優(yōu)勢了,在當(dāng)今社會(huì)中有時(shí)候門面就比內(nèi)容更重要,好的門面就是好的開始,而首頁就是這個(gè)軟件的門面。所以好的軟件不能沒有好的首頁,接下來就是我的首頁函數(shù)。voidShouye()//首頁{ inti; cout<<"**************************\n"; cout<<"\t"<<"1.汽車進(jìn)停車場\n"; cout<<"\t"<<"2.汽車出停車場\n"; cout<<"\t"<<"3.汽車信息查詢\n"; cout<<"\t"<<"4.顯示所有汽車\n"; cout<<"\t"<<"5.汽車信息統(tǒng)計(jì)\n"; cout<<"\t"<<"選擇操作:"; cin>>i; switch(i) { case1: { system("cls"); Input(); break; } break; case2: { system("cls"); Output(); break; } break; case3: { system("cls"); Chaxun(); break; } break; case4: { system("cls"); Xianshi(); break; } break; case5: { system("cls"); Tongji(); break; } break; default: { cout<<"無此選項(xiàng)!"<<endl; cout<<"1.返回首頁從新選擇"<<endl; stringh; cin.clear(); cin>>h; if(h=="1") { system("cls"); Shouye(); } else{ Cuo1(); } } }}3.1.4車輛進(jìn)入停車場在我的課程設(shè)計(jì)中車輛進(jìn)入停車場我采用了數(shù)組存放車輛數(shù)據(jù)的方式,數(shù)組中每一個(gè)空間單元存放一輛車。在輸入停車信息之前先從text文本中把其存儲(chǔ)的車輛信息取出來放入p[]數(shù)組中,如果文本中存放的車輛數(shù)目以達(dá)到極限,則提示停車場已滿。如果文本中存放的車輛數(shù)目沒到極限,則輸入進(jìn)入停車場的車的信息。之后再把更新了的數(shù)組在輸入到text文本中保存。voidInput()//車輛進(jìn)入停車場{ ifstreamfin("text.txt",ios::in); if(!fin) { cout<<"文件打開失敗!"<<endl; } inti; fin>>i; cout<<"停車場中已有車"<<i<<"輛"<<endl; Chep[MaxChe]; for(intj=0;j<i;j++) { fin>>p[j].ID>>p[j].Color>>p[j].CheXing>>p[j].aTime.year>>p[j].aTime.mouth >>p[j].aTime.day>>p[j].aTime.hour>>p[j].aTime.minute>>p[j].aTime.second; cout<<p[j].ID<<"\t"<<p[j].Color<<"\t"<<p[j].CheXing<<"\t"<<p[j].aTime.year<<"-"<<p[j].aTime.mouth<<"-" <<p[j].aTime.day<<"--"<<p[j].aTime.hour<<":"<<p[j].aTime.minute<<":"<<p[j].aTime.second<<endl; } fin.close(); if(i<MaxChe) { cout<<"車輛可以進(jìn)入停車場"<<endl; p[i].Set(); ofstreamfout("text.txt",ios::out); fout<<i+1<<endl; for(intj=0;j<i+1;j++) { fout<<p[j].ID<<"\t"<<p[j].Color<<"\t"<<p[j].CheXing<<"\t"<<p[j].aTime.year<<"\t"<<p[j].aTime.mouth <<"\t"<<p[j].aTime.day<<"\t"<<p[j].aTime.hour<<"\t"<<p[j].aTime.minute<<"\t"<<p[j].aTime.second<<"\n"; } fout.close(); cout<<"***************************************************"<<endl; cout<<"1.繼續(xù)停車"<<endl; cout<<"2.返回首頁"<<endl; inth; cin>>h; if(h==1) Input(); if(h==2) { system("cls"); Shouye(); } if(h!=1&&h!=2) Cuo1(); } else { cout<<"****************************************************"; cout<<"停車場已滿!"<<endl; cout<<"1.返回首頁"<<endl; inth; cin>>h; if(h==1) { system("cls"); Shouye(); } else Cuo1(); }}3.1.5車輛離開停車場在我的課程設(shè)計(jì)中車輛離開停車場我采用了數(shù)組存放車輛數(shù)據(jù)的方式,數(shù)組中每一個(gè)空間單元存放一輛車。車輛要離開停車場,需要輸入離開停車場的車輛的車牌號(hào),在輸入車牌號(hào)之前程序會(huì)先從text文本中把其存儲(chǔ)的車輛信息取出來放入p[]數(shù)組中,如果文本中存放的車輛數(shù)目為0,則提示停車場中沒有停車。否則,則輸入離開停車場的車的車牌號(hào)。之后會(huì)用數(shù)組中的車的車牌號(hào)與輸入的對比若有這輛車,則輸出該車的信息,若都對不上,則提示停車場中沒有該車。最后再把更新了的數(shù)組在輸入到text文本中保存。voidOutput()//車輛離開停車場并計(jì)算停車費(fèi)用{ ifstreamfin("text.txt",ios::in); if(!fin) { cout<<"文件打開失敗!"<<endl; } inti; fin>>i; cout<<"停車場中已有車"<<i<<"輛"<<endl; Chep[MaxChe]; for(intj=0;j<i;j++) { fin>>p[j].ID>>p[j].Color>>p[j].CheXing>>p[j].aTime.year>>p[j].aTime.mouth >>p[j].aTime.day>>p[j].aTime.hour>>p[j].aTime.minute>>p[j].aTime.second; cout<<p[j].ID<<"\t"<<p[j].Color<<"\t"<<p[j].CheXing<<"\t"<<p[j].aTime.year<<"-"<<p[j].aTime.mouth<<"-" <<p[j].aTime.day<<"--"<<p[j].aTime.hour<<":"<<p[j].aTime.minute<<":"<<p[j].aTime.second<<endl; } fin.close(); if(i!=0) { stringcp; cout<<"按車牌查詢"<<endl; cout<<"離開停車場車牌:"; cin>>cp; cout<<"出場時(shí)間"<<endl; TimebTime; bTime.setTime(); ofstreamfout("text.txt",ios::out); fout<<i-1<<endl; for(j=0;j<i;j++) { if(p[j].ID==cp) { cout<<"*************************************************************"<<endl; cout<<"該車進(jìn)入停車場時(shí)間為:"; cout<<p[j].aTime.year<<"-"<<p[j].aTime.mouth<<"-"<<p[j].aTime.day<<"--" <<p[j].aTime.hour<<":"<<p[j].aTime.minute<<":"<<p[j].aTime.second<<endl; cout<<"每分鐘"<<Chefei<<"元錢"<<endl; intmoney; money=(bTime.year-p[j].aTime.year)*12*31*24*60+(bTime.mouth-p[j].aTime.mouth)*31*24*60+(bTime.day-p[j].aTime.day)*24*60+(bTime.hour-p[j].aTime.hour)*60+(bTime.minute-p[j].aTime.minute)*10; cout<<"共計(jì):"<<money<<"元錢"<<endl; } } for(j=0;j<i;j++) { if(p[j].ID==cp) { inta; a=j; for(j=0;j<a;j++) { fout<<p[j].ID<<"\t"<<p[j].Color<<"\t"<<p[j].CheXing<<"\t"<<p[j].aTime.year<<"\t"<<p[j].aTime.mouth<<"\t" <<p[j].aTime.day<<"\t"<<p[j].aTime.hour<<"\t"<<p[j].aTime.minute<<"\t"<<p[j].aTime.second<<endl; } for(intj=a+1;j<i;j++) { fout<<p[j].ID<<"\t"<<p[j].Color<<"\t"<<p[j].CheXing<<"\t"<<p[j].aTime.year<<"\t"<<p[j].aTime.mouth<<"\t" <<p[j].aTime.day<<"\t"<<p[j].aTime.hour<<"\t"<<p[j].aTime.minute<<"\t"<<p[j].aTime.second<<endl; } cout<<"離場成功*******************"<<endl; cout<<"1.返回首頁"; inth; cin>>h; if(h==1) { system("cls"); Shouye(); } else Cuo1(); break; } } fout.close(); } else { cout<<"停車場中無車"<<endl; cout<<"1.車輛進(jìn)入停車場"<<endl; cout<<"2.返回首頁"<<endl; inth; cin>>h; if(h==1) Input(); if(h==2) { system("cls"); Shouye(); } if(h!=1&&h!=2) Cuo1(); }}3.1.6其它功能在本軟件中還有車輛信息的查詢,車輛信息的刪除,車輛信息的修改,顯示所有信息,車輛信息的統(tǒng)計(jì)等功能。但這些功能都與以上兩種大同小異。車輛信息的查詢,類似于車輛離開停車場,輸入編號(hào)查找到有該車后直接輸出該車信息就完成,不在出庫,就是車輛信息的查詢。stringcx;cout<<"按車牌查詢"<<endl;cout<<"車牌號(hào):";cin>>cx;for(j=0;j<i;j++){ if(p[j].ID==cx) { cout<<"*************************************************************"<<endl; cout<<p[j].ID<<"\t"<<p[j].Color<<"\t"<<p[j].CheXing<<"\t"<<p[j].aTime.year<<"-"<<p[j].aTime.mouth<<"-"<<p[j].aTime.day<<"--"<<p[j].aTime.hour<<":"<<p[j].aTime.minute<<":"<<p[j].aTime.second<<endl;}}車輛信息的刪除,是在車輛離開停車場的基礎(chǔ)上不統(tǒng)計(jì)消費(fèi)直接離開,就是車輛信息的刪除。if(h==1){ ofstreamfout("text.txt",ios::out); inta; a=j; fout<<i-1<<endl; for(j=0;j<a;j++) { fout<<p[j].ID<<"\t"<<p[j].Color<<"\t"<<p[j].CheXing<<"\t"<<p[j].aTime.year<<"\t"<<p[j].aTime.mouth<<"\t"<<p[j].aTime.day<<"\t"<<p[j].aTime.hour<<"\t"<<p[j].aTime.minute<<"\t"<<p[j].aTime.second<<endl; } for(intj=a+1;j<i;j++) { fout<<p[j].ID<<"\t"<<p[j].Color<<"\t"<<p[j].CheXing<<"\t"<<p[j].aTime.year<<"\t"<<p[j].aTime.mouth<<"\t"<p[j].aTime.day<<"\t"<<p[j].aTime.hour<<"\t"<<p[j].aTime.minute<<"\t"<<p[j].aTime.second<<endl; } fout.close(); cout<<"刪除成功!"<<endl;}車輛信息的修改,是在車輛信息的查詢的基礎(chǔ)上,在數(shù)組輸入文件之前把要改的信息改掉,在把數(shù)組輸入文本中。if(h==2){ cout<<"******************************"<<endl; cout<<"1.修改單種信息"<<endl; cout<<"2.修改多種信息"<<endl; inth; cin>>h; if(h==1) { cout<<"******************************"<<endl; cout<<"1.修改車牌"<<endl; cout<<"2.修改車色"<<endl; cout<<"3.修改車型"<<endl; cout<<"4.修改車輛入場時(shí)間"<<endl; into; cin>>o; if(o==1) { cout<<"ID:"; cin>>p[j].ID; } if(o==2) { cout<<"Color"; cin>>p[j].Color; } if(o==3) { cout<<"CheXing"; cin>>p[j].CheXing; } if(o==4) { P[j].setTime(); } if(o!=1&&o!=2&&o!=3&&o!=4) Cuo1(); break; } if(h==2) {p[j].Set(); } if(h!=1&&h!=2&&h!=3) Cuo1(); ofstreamfout("text.txt",ios::out); inta; a=j; fout<<i-1; for(j=0;j<i;j++) { fout<<p[j].ID<<"\t"<<p[j].Color<<"\t"<<p[j].CheXing<<"\t"<<p[j].aTime.year<<"\t"<<p[j].aTime.mouth<<"\t"<<p[j].aTime.day<<"\t"<<p[j].aTime.hour<<"\t"<<p[j].aTime.minute<<"\t"<<p[j].aTime.second<<endl; } fout.close();}顯示所有信息,是等從文本中的車輛信息全部讀入到數(shù)組后,把數(shù)組中的信息輸出,就是顯示所有信息。voidXianshi()//顯示車庫中的車輛信息{ ifstreamfin("text.txt",ios::in); if(!fin) { cout<<"文件打開失敗!"<<endl; } inti; fin>>i; cout<<"停車場中已有車"<<i<<"輛"<<endl; Chep[MaxChe]; for(intj=0;j<i;j++) { fin>>p[j].ID>>p[j].Color>>p[j].CheXing>>p[j].aTime.year>>p[j].aTime.mouth >>p[j].aTime.day>>p[j].aTime.hour>>p[j].aTime.minute>>p[j].aTime.second; cout<<p[j].ID<<"\t"<<p[j].Color<<"\t"<<p[j].CheXing<<"\t"<<p[j].aTime.year<<"-"<<p[j].aTime.mouth<<"-" <<p[j].aTime.day<<"--"<<p[j].aTime.hour<<":"<<p[j].aTime.minute<<":"<<p[j].aTime.second<<endl; } fin.close(); cout<<"1.返回首頁"<<endl; inth; cin>>h; if(h==1) { system("cls"); Shouye(); } else Cuo1();}車輛信息的統(tǒng)計(jì),有兩種計(jì)算方法,一是計(jì)算停車場中的車輛總數(shù),該種計(jì)算是直接讀取文本中的第一個(gè)整形,并給予輸出;二是按照車輛的四種列別xiaoqiche、xiaoka、zhongka、daka分別來輸出它們的數(shù)量,即在文本信息讀入后,用遍歷的方法,定義a、b、c、d都為0,如果數(shù)組中的其中一輛為這四種類型中的一種,則a、b、c、d中對應(yīng)的自加1,最后輸出結(jié)果,就是車輛信息的統(tǒng)計(jì)。voidTongji()/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論