程序設(shè)計綜合設(shè)計汽車租賃管理系統(tǒng)_第1頁
程序設(shè)計綜合設(shè)計汽車租賃管理系統(tǒng)_第2頁
程序設(shè)計綜合設(shè)計汽車租賃管理系統(tǒng)_第3頁
程序設(shè)計綜合設(shè)計汽車租賃管理系統(tǒng)_第4頁
程序設(shè)計綜合設(shè)計汽車租賃管理系統(tǒng)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、武漢工程大學(xué) 計算機科學(xué)與工程學(xué)院綜合設(shè)計報告設(shè)計名稱: 程序設(shè)計綜合設(shè)計 設(shè)計題目: 汽車租賃管理系統(tǒng) 學(xué)生學(xué)號: 專業(yè)班級: 學(xué)生姓名: 學(xué)生成績: 指導(dǎo)教師(職稱): 課題工作時間: 2011-12-26 至 2012-1-6 說明:1、報告中的第一、二、三項由指導(dǎo)教師在綜合設(shè)計開始前填寫并發(fā)給每個學(xué)生;四、五兩項(中英文摘要)由學(xué)生在完成綜合設(shè)計后填寫。2、學(xué)生成績由指導(dǎo)教師根據(jù)學(xué)生的設(shè)計情況給出各項分值及總評成績。3、指導(dǎo)教師評語一欄由指導(dǎo)教師就學(xué)生在整個設(shè)計期間的平時表現(xiàn)、設(shè)計完成情況、報告的質(zhì)量及答辯情況,給出客觀、全面的評價。4、所有學(xué)生必須參加綜合設(shè)計的答辯環(huán)節(jié),凡不參加答辯

2、者,其成績一律按不及格處理。答辯小組成員應(yīng)由2人及以上教師組成。5、報告正文字?jǐn)?shù)一般應(yīng)不少于5000字,也可由指導(dǎo)教師根據(jù)本門綜合設(shè)計的情況另行規(guī)定。6、平時表現(xiàn)成績低于6分的學(xué)生,其綜合設(shè)計成績按不及格處理。7、此表格式為武漢工程大學(xué)計算機科學(xué)與工程學(xué)院提供的基本格式(適用于學(xué)院各類綜合設(shè)計),各教研室可根據(jù)本門綜合設(shè)計的特點及內(nèi)容做適當(dāng)?shù)恼{(diào)整,并上報學(xué)院批準(zhǔn)。成績評定表學(xué)生姓名: 學(xué)號: 班級: 類別合計分值各項分值評分標(biāo)準(zhǔn)實際得分合計得分備注平時表現(xiàn)1010按時參加綜合設(shè)計,無曠課、遲到、早退、違反實驗室紀(jì)律等情況。完成情況3020按設(shè)計任務(wù)書的要求完成了全部任務(wù),能完整演示其設(shè)計內(nèi)容,

3、符合要求。10能對其設(shè)計內(nèi)容進(jìn)行詳細(xì)、完整的介紹,并能就指導(dǎo)教師提出的問題進(jìn)行正確的回答。報告質(zhì)量3510報告文字通順,內(nèi)容翔實,論述充分、完整,立論正確,結(jié)構(gòu)嚴(yán)謹(jǐn)合理;報告字?jǐn)?shù)符合相關(guān)要求,工整規(guī)范,整齊劃一。5課題背景介紹清楚,綜述分析充分。5設(shè)計方案合理、可行,論證嚴(yán)謹(jǐn),邏輯性強,具有說服力。5符號統(tǒng)一;圖表完備、符合規(guī)范要求。5能對整個設(shè)計過程進(jìn)行全面的總結(jié),得出有價值的結(jié)論或結(jié)果。5參考文獻(xiàn)數(shù)量在3篇以上,格式符合要求,在正文中正確引用。答辯情況2510在規(guī)定時間內(nèi)能就所設(shè)計的內(nèi)容進(jìn)行闡述,言簡意明,重點突出,論點正確,條理清晰。15在規(guī)定時間內(nèi)能準(zhǔn)確、完整、流利地回答教師所提出的問

4、題??傇u成績: 分 補充說明: 指導(dǎo)教師: (簽字)日 期: 年 月 日答辯記錄表學(xué)生姓名: 學(xué)號: 班級: 答辯地點: 答辯內(nèi)容記錄:答辯成績合計分值各項分值評分標(biāo)準(zhǔn)實際得分合計得分備注2510在規(guī)定時間內(nèi)能就所設(shè)計的內(nèi)容進(jìn)行闡述,言簡意明,重點突出,論點正確,條理清晰。15在規(guī)定時間內(nèi)能準(zhǔn)確、完整、流利地回答教師所提出的問題。答辯小組成員(簽字): 年 月 日指導(dǎo)教師評語指導(dǎo)教師: (簽字)日 期: 年 月 日一、綜合設(shè)計目的、條件、任務(wù)和內(nèi)容要求:某汽車租賃公司提供租車服務(wù),需要系統(tǒng)提供以下功能。1.可出租的車有兩種,小轎車和貨車。小轎車按天計算租賃費用,貨車可按小時(也可按天)計算租賃

5、費用。小轎車每天租賃費用為100元,貨車每小時租賃費用為30元,若按天租則每天300元。小轎車和貨車租賃的天數(shù)若超過3天,則按8折計算租車費用。2.系統(tǒng)需提供車輛的基本管理功能,如:添加車輛,修改車輛信息、刪除車輛。3.系統(tǒng)提供車輛租賃的基本服務(wù)功能,如:租車,還車,費用計算等。4.系統(tǒng)需提供車輛的基本查詢功能,如:車輛的租賃情況。車輛每月租賃情況按以下格式顯示: 車輛租賃情況一覽表車號 車輛類型 租賃情況c0001 car xxx-xxxx-xxxxxx-o-t0001 truck hxx-hhhx-hhhxxxhhh-hhhxxx.說明:對于小轎車x表示租出狀態(tài)、-表示空閑狀態(tài),對于貨車x

6、表示按天租出狀態(tài)、h表示按小時租出狀態(tài)、o表示車輛已出租,還沒有還、-表示空閑狀態(tài)。通過本設(shè)計可以使學(xué)生在掌握c 語言及c+語言的的基礎(chǔ)上,進(jìn)行實際應(yīng)用,設(shè)計一個小型的軟件。可以鞏固已經(jīng)學(xué)過的基礎(chǔ)課及專業(yè)課知識,開闊學(xué)生的視野,鍛煉學(xué)生的自學(xué)能力及獨立動手能力。 指導(dǎo)教師簽字: 年 月 日二、進(jìn)度安排:2011-12-26:明確所選課題的具體要求,按要求閱讀相關(guān)的參考文獻(xiàn)及資料2011-12-27至2012-1-5:課題代碼實現(xiàn)、課程設(shè)計報告書寫2012-1-6:課程設(shè)計答辯3、 應(yīng)收集資料及主要參考文獻(xiàn):1 張俊.c+面象對象程序設(shè)計m. 北京:中國鐵道出版社,2008. 90-100.2姬

7、濤.計算機程序設(shè)計基礎(chǔ)m.北京:中國傳媒大學(xué)出版社.2010. 157-301.3田魯懷.數(shù)據(jù)結(jié)構(gòu)m.北京:電子工業(yè)出版社.2006.100-200.四、綜合設(shè)計(課程設(shè)計)摘要(中文):在經(jīng)濟快速發(fā)展的今天,計算機已經(jīng)成為人們?nèi)粘I畈豢扇鄙俚牟糠?。每個公司都有自己的管理系統(tǒng),汽車租賃系統(tǒng)是現(xiàn)代汽車租賃公司不可缺少的工具,公司要擁有一個完整的車輛管理體系,能夠提供用戶租車和還車、實現(xiàn)添加車輛、查找車輛信息、刪除車輛、以及修改車輛信息的基本功能,才能使公司正常運行。我們用最簡單程序設(shè)計語言c+面象對象的程序設(shè)計實現(xiàn)公司內(nèi)部的基本服務(wù)和面象用戶的租賃服務(wù),可以讓用戶的查看所有車輛的信息,方便租車

8、和還車。程序完成后手動將數(shù)據(jù)保存到文件中,方便下次啟動租賃系統(tǒng)的時候直接將文件中的數(shù)據(jù)導(dǎo)入到內(nèi)存中,繼續(xù)使用。完成添加、查找、刪除、修改、租車和還車的基本功能和數(shù)據(jù)存儲。五、綜合設(shè)計(課程設(shè)計)abstract(英文):in todays rapid economic development, the computer has become indispensable part of daily life. every company has its own management system, car rental system is the modern car rental compan

9、ies indispensable tools, companies need to have a complete vehicle management system, to provide users with car rental, realize add vehicles, search vehicles messages, deleting vehicles, and modify the basic functions of the vehicle information, can make the company to normal operation. we use the m

10、ost simple programming language c+ oo programming realize the companys internal basic services like the user and rental service, to allow the user to view all of the vehicle information, convenient and ar rental. after the completion of the program manual will save to file data, so start next time w

11、hen the lease system directly in the file data import into memory, continue to use. complete add, delete, modify, search, rental car and the basic functions and data storage.武漢工程大學(xué)計算機科學(xué)與工程學(xué)院 綜合設(shè)計報告目 錄摘 要iabstractii第一章 課題背景11.1 基本理論依據(jù)11.1.1程序設(shè)計構(gòu)思1第二章 設(shè)計簡介及設(shè)計方案論述32.1 設(shè)計簡介32.1.1 設(shè)計方案3第三章 詳細(xì)設(shè)計53.1 菜單設(shè)計5

12、3.1.1 程序詳細(xì)設(shè)計5第四章 設(shè)計結(jié)果及分析74.1 測試結(jié)果74.1.1 結(jié)果分析8總 結(jié)9致 謝10參考文獻(xiàn)11附錄12摘 要關(guān)鍵詞:計算機;汽車租憑系統(tǒng);c+面向?qū)ο蟪绦蛟O(shè)計;數(shù)據(jù)存儲在經(jīng)濟快速發(fā)展的今天,計算機已經(jīng)成為人們?nèi)粘I畈豢扇鄙俚牟糠?。每個公司都有自己的管理系統(tǒng),汽車租賃系統(tǒng)是現(xiàn)代汽車租賃公司不可缺少的工具,公司要擁有一個完整的車輛管理體系,能夠提供用戶租車和還車、實現(xiàn)添加車輛、查找車輛信息、刪除車輛、以及修改車輛信息的基本功能,才能使公司正常運行。我們用最簡單程序設(shè)計語言c+面象對象的程序設(shè)計實現(xiàn)公司內(nèi)部的基本服務(wù)和面象用戶的租賃服務(wù),可以讓用戶的查看所有車輛的信息,方

13、便租車和還車。程序完成后手動將數(shù)據(jù)保存到文件中,方便下次啟動租賃系統(tǒng)的時候直接將文件中的數(shù)據(jù)導(dǎo)入到內(nèi)存中,繼續(xù)使用。完成添加、查找、刪除、修改、租車和還車的基本功能和數(shù)據(jù)存儲。abstract in todays rapid economic development, the computer has become indispensable part of daily life. every company has its own management system, car rental system is the modern car rental companies indispens

14、able tools, companies need to have a complete vehicle management system, to provide users with car rental, realize add vehicles, search vehicles messages, deleting vehicles, and modify the basic functions of the vehicle information, can make the company to normal operation. we use the most simple pr

15、ogramming language c+ oo programming realize the companys internal basic services like the user and rental service, to allow the user to view all of the vehicle information, convenient and car rental. after the completion of the program manual will save to file data, so start next time when the leas

16、e system directly in the file data import into memory, continue to use. complete add, delete, modify, search, rental car and the basic functions and data storage.- 32 -第一章 課題背景 本課題以汽車租憑管理系統(tǒng)為背景,要求學(xué)生寫出一個提供車輛的基本管理功能;車輛的基本查詢功能和車輛租賃的基本服務(wù)功能的系統(tǒng)。汽車租賃系統(tǒng)的程序設(shè)計,需要考察的不僅僅是簡單的課本上的那些程序設(shè)計語法,平時的課本上說的一些都是簡單的計算之類的問題,用程

17、序設(shè)計語言編寫出來,考察的多數(shù)只是算法和語法,并沒有涉及到現(xiàn)實生活中的問題。正好,汽車租賃系統(tǒng)這個程序設(shè)計和平時的生活問題關(guān)系緊密,不是簡單的語法和算法可以解決的。通過汽車租憑系統(tǒng)程序讓同學(xué)們認(rèn)識自己所學(xué)的程序設(shè)計語言在實踐中的運用,使我們在課本上學(xué)習(xí)的知識和日常生活相結(jié)合,讓同學(xué)們加深理解。1.1 基本理論依據(jù)汽車租憑管理西系統(tǒng)用面向?qū)ο蟪绦蛟O(shè)計c+來完成,首先,用一個vehicle的基類,其次就是又構(gòu)造了一個date類和time類進(jìn)行費用的計算。在寫文件的的時候,需要把數(shù)據(jù)從文件中讀出和讀入,用鏈表或?qū)ο髷?shù)組來存儲數(shù)據(jù),并進(jìn)行文件的讀寫。1.1.1程序設(shè)計構(gòu)思這一章應(yīng)說明本設(shè)計課題的背景、

18、目的、意義、應(yīng)解決的主要問題及應(yīng)達(dá)到的技術(shù)要求;本設(shè)計的基本理論依據(jù)和主要工作內(nèi)容。 鑒于車輛在歸還和租賃時復(fù)雜的過程和工作量,應(yīng)用程序?qū)崿F(xiàn)整個過程就可方便進(jìn)行租賃和歸還的操作而不用去進(jìn)行手動重復(fù)繁雜地操作過程,節(jié)省了一定的時間,也得到了較高的效率.在該操作的整個過程中,始終用一個文件來保存用戶輸入和系統(tǒng)計算出來的信息,從而在下次程序被執(zhí)行時,我們就可以輕易地調(diào)出以前的信息記錄,以免要將上次的信息要進(jìn)行重復(fù)地錄入,在文件的操作過程中,需要以統(tǒng)一的方式將節(jié)點中的信息往文件中寫入,從而在我們下一次提取文件中的信息時,我們也可以以統(tǒng)一的同一個模式將以前的信息正確無誤地提取出來保存到一個節(jié)點中,有效地

19、進(jìn)行對應(yīng)地計算和保存,這樣我們就能使整個操作的過程順利無誤的進(jìn)行.在整個程序的實現(xiàn)過程之前,一點我們必須知道,就是在整個操作過程中,就是整個租賃和歸還的具體流程和基本的功能操作.整個租賃和歸還的過程分為12個基本的操作功能:添加車輛,修改車輛信息,刪除車輛信息,租車,還車,費用計算,查詢車輛的租賃情況,查詢每月租賃情況,退出,保存本次租車和還車的記錄,導(dǎo)入以前的租車數(shù)據(jù)記錄和相關(guān)信息,顯示車輛的信息.將程序的編寫過程則順理成章地將整個任務(wù)過程分為這幾個大的模塊,用函數(shù)予以實現(xiàn)和完善即可.在函數(shù)的實現(xiàn)過程中,其實也是較為復(fù)雜的一個過程,必須用到正確的變量和一些方法去實現(xiàn)它的整個流程,在整個程序的

20、實現(xiàn)過程中,我們需要盡量用到效率較高的計算方法,這樣可以大大地簡化代碼量和計算的過程,便于程序地順利執(zhí)行.本程序基本上可以以較高地效率實現(xiàn)租車系統(tǒng)中的一系列相關(guān)的操作問題,對于一些處理的細(xì)節(jié),本程序也有考慮到,如跨年問題的處理,跨月問題的處理,等較為細(xì)碎的問題細(xì)節(jié)也將關(guān)乎到程序的成敗,否則在租賃的過程中會出現(xiàn)較大的問題處理.甚至?xí)?dǎo)致程序在讀寫文件時的信息對應(yīng)錯誤,從而影響到以后的執(zhí)行過程和一些重要的信息保存,那樣將會產(chǎn)生較為嚴(yán)重的后果,更不用去談能夠?qū)崿F(xiàn)租賃車輛和歸還車輛的一系列操作過程。第二章 設(shè)計簡介及設(shè)計方案論述2.1 設(shè)計簡介針對于車輛在租賃和歸還中的復(fù)雜性和計費的冗余性,對整個過程

21、由了大致的了解后,編寫出科學(xué)地符合該操作整個流程的程序段.對每輛車的全部有效信息保存于一個鏈表的節(jié)點中,生成一個鏈表頭將各個車輛的信息串聯(lián)起來,從而能夠用鏈表的方式將整個租賃和歸還過程中所要求的信息記錄得以保存.在計費的過程中就能夠?qū)?yīng)地找到該輛車對應(yīng)的鏈表上的信息,對需要的信息進(jìn)行適當(dāng)?shù)卣{(diào)用就可方便地提供給用戶和客戶信息.實現(xiàn)整個操作的基本過程.2.1.1 設(shè)計方案 本程序采用c+語言編寫,整個課題的功能實現(xiàn)可以按照幾個功能模塊的函數(shù)編寫來完成。依據(jù)以上的目的和做法,可將整個菜單一共設(shè)置為添加車輛,刪除車輛,租賃車輛,歸還車輛,查詢每一輛車的租用記錄,查詢每個月內(nèi)的租用記錄,保存上次的錄入車

22、輛信息和租車的記錄,還車的記錄,從文件中提取以前的相關(guān)信息并將其導(dǎo)入到程序中,從而保證上次錄入的車輛信息和車輛租用記錄,還車的記錄日期等重要信息,退出等幾個功能模塊。在整個程序的設(shè)計中,最為重要的也就是如何用有效的記錄保存機制將整個車輛的信息和記錄保存起來。最為有效的方法就是用鏈表的方式,每輛車的車輛信息和租用歸還記錄都用鏈表中對應(yīng)的一個節(jié)點予以表示,再將各個鏈表對應(yīng)的串聯(lián)起來,也就保存了本次的信息。在每次運行程序以前,先將文件中的信息導(dǎo)出來,再導(dǎo)出來的同時,由于存儲文件時是按一個一個節(jié)點的存儲的,所以每次把信息讀出來的時候也就是按照這個順序,順序地讀出來也就是一個節(jié)點的信息,將這些信息用一個

23、新生成的節(jié)點保存起來,每次將這個新生成的節(jié)點連接到表頭上去從而將以前的信息提取了出來并且保存到了鏈表中。所以以前的信息仍然還在里面以便下一次的查詢和調(diào)用。在每次向文件里面寫入節(jié)點信息之前,必須先清空文件上一次的內(nèi)容,否則讀出來的信息將會是從第一次保存的信息開始往外讀出,直到本次之前的信息。由于后一次向文件中寫入數(shù)據(jù)時都會將本次以前所有的信息寫入。如果按照這種讀出方式,會導(dǎo)致同一個信息被讀幾次出來,影響了文件信息的讀出效果,保存文件時也會導(dǎo)致出現(xiàn)重復(fù)保存,也就不符合程序應(yīng)用文件的作用了。在構(gòu)造簡單框架的時候,我將它們分為了四個部分,下面我將這四個部分中的內(nèi)容做一簡單介紹。在菜單信息中定義了三個函

24、數(shù):showallinformation() 、showmenuinformation() 和operatorvehicle() 。其中showallinformation() 顯示所有信息;showmenuinformation() 用以顯示所要操作的信息;operatorvehicle() 是與顯示信心想關(guān)聯(lián)的操作。另外加進(jìn)來一個stand() 函數(shù),定義的是車位,也就是車庫對車的編號。在操作函數(shù)中定義了addvehicle() 、searchvehicle() 、deletevehicle() 、changevehicle() 、rentvehicle() 、returnvehicle(

25、)函數(shù)。分別用來添加車輛、查找車輛、刪除車輛、修改車輛、租車和還車。文件中定義了madetxt() 、inputtxtinformation() 和outputinformation() 三個函數(shù)。分別用來創(chuàng)建文件,導(dǎo)入文件和導(dǎo)出文件。最后一部分就是對vehicle的輸入和輸出運算符的重載。第三章 詳細(xì)設(shè)計3.1 菜單設(shè)計可將整個菜單一共設(shè)置為添加車輛,刪除車輛,租賃車輛,歸還車輛,查詢每一輛車的租用記錄,查詢每個月內(nèi)的租用記錄,保存上次的錄入車輛信息和租車的記錄,還車的記錄,從文件中提取以前的相關(guān)信息并將其導(dǎo)入到程序中,從而保證上次錄入的車輛信息和車輛租用記錄,還車的記錄日期等重要信息,退出

26、等幾個功能模塊。3.1.1 程序詳細(xì)設(shè)計在整個程序的設(shè)計中,最為重要的也就是如何用有效的記錄保存機制將整個車輛的信息和記錄保存起來。最為有效的方法就是用鏈表的方式,每輛車的車輛信息和租用歸還記錄都用鏈表中對應(yīng)的一個節(jié)點予以表示,再將各個鏈表對應(yīng)的串聯(lián)起來,也就保存了本次的信息。在每次運行程序以前,先將文件中的信息導(dǎo)出來,再導(dǎo)出來的同時,由于存儲文件時是按一個一個節(jié)點的存儲的,所以每次把信息讀出來的時候也就是按照這個順序,順序地讀出來也就是一個節(jié)點的信息,將這些信息用一個新生成的節(jié)點保存起來,每次將這個新生成的節(jié)點連接到表頭上去從而將以前的信息提取了出來并且保存到了鏈表中。所以以前的信息仍然還在

27、里面以便下一次的查詢和調(diào)用。在每次向文件里面寫入節(jié)點信息之前,必須先清空文件上一次的內(nèi)容,否則讀出來的信息將會是從第一次保存的信息開始往外讀出,直到本次之前的信息。由于后一次向文件中寫入數(shù)據(jù)時都會將本次以前所有的信息寫入。如果按照這種讀出方式,會導(dǎo)致同一個信息被讀幾次出來,影響了文件信息的讀出效果,保存文件時也會導(dǎo)致出現(xiàn)重復(fù)保存,也就不符合程序應(yīng)用文件的作用了。對于本程序,在保存租賃信息的同時,是否能將租賃的借和還的信息對應(yīng)的保存起來,從而以備車輛的收費計算和車輛信息的查詢,因此我們可以定義兩個日期的結(jié)構(gòu)體數(shù)組,在車輛每被借出去一次后,它必須被相應(yīng)的還回去一次,并且在同一輛車被租賃出去以后在該

28、車未被歸還之前它是不能被租賃出去的,所以只能是借一次還一次的重復(fù)的進(jìn)行。所以將一輛車租出去的時間保存到結(jié)構(gòu)體數(shù)組的第幾個元素中,那么它對應(yīng)的還車時間記錄在歸還的時候也就必將被保存到另外一個結(jié)構(gòu)體數(shù)組的第幾個元素中,那么在查詢和計算費用的時候,只需要提取兩個結(jié)構(gòu)體數(shù)組中同一個位置上的元素再進(jìn)行計算和查詢即可。對于車輛的刪除操作,由于每次都要把以前的信息保存到鏈表中,在保存之前會把文件中之前的信息予以清空,則只需要將對應(yīng)鏈表中的對應(yīng)的節(jié)點信息刪除出鏈表,然后保存鏈表的節(jié)點信息時也就不會保存刪除的節(jié)點信息,該車輛的信息也就被刪除了。對于添加車輛的操作實際上也就是在鏈表中增加一個節(jié)點然后在節(jié)點中保存該

29、車的信息,將該鏈表保存到鏈表中即可。對于查詢字符串的表示,我們可以為每一個節(jié)點定義一個字符數(shù)組域,每次該車輛被租出時,就將對應(yīng)的狀態(tài)x保存到該字符數(shù)組中,從而該字符對應(yīng)的棧頂指針和租賃日期的棧頂指針是同一個位置的地方。在輸出該車輛的租賃記錄時,光輸出x的狀態(tài)是不行的,在每次輸出x的狀態(tài)之后,檢查對應(yīng)的本次租車的歸還時間和下一次租車的租車時間是不是一致的,如果不是一致的,那么說明在本次租車的歸還時間和下次租車的租車時間的間隔時間內(nèi)該車是空閑的,這個狀態(tài)也就必須要表示出來。故在每次執(zhí)行該檢查操作之后,對應(yīng)的輸出空閑的狀態(tài),如沒有空閑的狀態(tài)則就不會輸出該狀態(tài),繼續(xù)下次的輸出操作。還有一個問題需要考慮

30、的是,如果該車被租賃出去后沒有還,在查詢狀態(tài)時,需要對應(yīng)的輸出0的狀態(tài),則可以檢查該車的輸出表示,因為在每次租車的時候,狀態(tài)都被改為了x。第四章 設(shè)計結(jié)果及分析4.1 測試結(jié)果 整個程序段是按照課題的要求進(jìn)行的具體設(shè)計,基本能夠?qū)崿F(xiàn)課題所要求的各個功能,將各個功能付諸了較為詳細(xì)的實現(xiàn)過程,但實現(xiàn)的代碼量較為大,實現(xiàn)的過程較為繁瑣, 沒有能夠應(yīng)用很好的計算方法去逐步地實現(xiàn)每個要求解決的功能菜單,影響了程序的執(zhí)行效率的進(jìn)一步飛躍式提升.圖1 菜單界面figure 1 menu interface圖2費用計算figure 2 cost calculation4.1.1 結(jié)果分析 從上面運行的結(jié)果顯示

31、,基本完成了添加車輛、查找車輛信息、刪除車輛、租車、還車和導(dǎo)入文件等操作,且能夠正確的顯示運行結(jié)果。整個程序段還是基本的實現(xiàn)了課題所要求的基本功能要求.總 結(jié)完成了這次計算器的程序設(shè)計,我收獲很多,也體會很多,要學(xué)好一門學(xué)科,沒有刻苦鉆研的精神是不行的,只有在不斷的嘗試中,不斷經(jīng)歷失敗,然后又不斷的嘗試才能獲得成功。要完成一個優(yōu)秀的程序,必須熟練掌握各種語句的特點及用法,要學(xué)會舉一反三,充分實現(xiàn)c程序的靈活性。在平時的學(xué)習(xí)實踐中,要不斷開動腦筋,活學(xué)活用。要發(fā)揚團(tuán)體合作的精神,互幫互助,共同進(jìn)步。善于發(fā)問,善于思考。剛開始接觸c程序,就覺得有一種似曾相識的感覺,因為以前學(xué)過vb.說實話,我對編

32、程挺感興趣,一個程序編寫完成運行成功之后的喜悅真的讓人難忘,就像次的課程設(shè)計,一開始畫圖,計算器有許多數(shù)字鍵,要一個一個方框的畫很麻煩,我就試著能不能找到一個簡單的方法能一下子畫完。我聯(lián)想到了二維數(shù)組,每一個方框就好象數(shù)組中的每一個元素。于是我就試著用兩個for嵌套的方法,經(jīng)過反復(fù)嘗試,終于成功了,你說的沒錯,當(dāng)時的感覺真的比游戲打通關(guān)了還要好。在寫程序的過程中,我又碰到了一些難題,比如按鍵的閃爍問題,按鍵不能直接運行的問題,不能連續(xù)運行問題,還有數(shù)字不能成串顯示問題。其中有些是問你的,有些是我自己解決的。比如連續(xù)運行,閃爍做好后,我發(fā)現(xiàn)每次運行只能按一個數(shù)字,按第二個數(shù)字的時候就跳出了,后來

33、我想到了在switch之前加for的辦法,這樣就可以用循環(huán)的辦法達(dá)到我想達(dá)到的目的。至于數(shù)字成串問題,其實我是不成功的,因為計算器數(shù)字顯示從顯示條的右邊開始,而我的是從左邊開始。我在switch前的for前給b附值為0,然后在最后一個case后寫b+,再把每一個case中數(shù)字輸出的橫坐標(biāo)都寫成“140+b*10”,這樣,我就達(dá)到了成串輸出的目的。要學(xué)好c程序,光有知識是不夠的,還得有經(jīng)驗,上機操作的經(jīng)驗,只有大腦中有了經(jīng)驗,在碰到問題的時候才有許多解決的方案,然后才能去嘗試。致 謝在本課題設(shè)計過程中得到指導(dǎo)老師劉黎志老師的悉心指導(dǎo)。論文行文過程中,劉黎志老師老師多次幫助我分析思路,開拓視角,在

34、我遇到困難想放棄的時候給予我最大的支持和鼓勵。在此,謹(jǐn)向劉黎志老師致以誠摯的謝意和崇高的敬意。 感謝大學(xué)兩年來,計算機系所有老師對我學(xué)習(xí)上的幫助和生活上的關(guān)懷,正是您們的辛勤工作,才使我得以順利地完成這個程序設(shè)計。 同時感謝實驗室的老師,他們給我們提供了必要的實驗器材,提供了很大的方便 感謝我的室友們,尤其是劉偉,感謝他們在我無法解決問題的時候能夠在我身旁幫助我完成這些問題,感謝那些替我運行程序。最后,感謝各位評委能在百忙之中對我的論文進(jìn)行審察,由于本人知識有限,不足之處在所難免,還請各位評委指正。參考文獻(xiàn)1 張俊.c+面象對象程序設(shè)計m. 北京:中國鐵道出版社,2008. 90-100.2姬

35、濤.計算機程序設(shè)計基礎(chǔ)m.北京:中國傳媒大學(xué)出版社.2010. 157-301.3田魯懷.數(shù)據(jù)結(jié)構(gòu)m.北京:電子工業(yè)出版社.2006.100-200.附錄#include#include#includetypedef struct node1int year,month,day,hour;date;typedef struct nodechar flag;char vehiclenumber20;char kind10;char zulin100;int i;int j;date in100;date out100;struct node* next;float fee100;vehicle;

36、class linkprivate:vehicle* head,* tail;public:link()head=tail=new vehicle;void baocun()int i1,j1;ofstream ofs;ofs.open(c:documents and settingsadministrator桌面my.txt,ios:trunc|ios:out);if(!ofs)cout文件打開失敗next!=null;p=p-next)p-next-zulinp-next-i=0;ofsnext-flagtnext-itnext-jtnext-kindtnext-zulintnext-ve

37、hiclenumbert;for(i1=0;i1next-i;i1+)ofsnext-ini1).yeartnext-ini1).monthtnext-ini1).daytnext-ini1).hourt;for(j1=0;j1next-j;j1+)ofsnext-outj1).yeartnext-outj1).monthtnext-outj1).daytnext-outj1).hourt;for(j1=0;j1next-j;j1+)ofsnext-feej1t;ofse;ofs.close();cout文件保存成功!endl;void add()char vehiclenumber120,k

38、ind110;vehicle* p;cout請錄入車輛的相關(guān)信息(車牌號碼,車輛類型)endl;cout請輸入你要添加的車輛的車牌號碼vehiclenumber1;cout請輸入你要添加的車輛的車輛類型kind1;p=new vehicle;strcpy(p-vehiclenumber,vehiclenumber1);strcpy(p-kind,kind1);p-next=null;tail-next=p;tail=tail-next;p-flag=-;p-i=0;p-j=0;cout添加車輛信息成功endl;void modify()char vehiclenumber120,vehicle

39、number220,kind110;vehicle* p;cout請錄入你要修改車輛信息的車牌號碼vehiclenumber1;cout請輸入你要修改的信息(車牌號碼,車輛類型)endl;cout請輸入車牌號碼vehiclenumber2;cout請輸入車輛類型kind1;for(p=head;p-next!=null;p=p-next)if(strcmp(p-next-vehiclenumber,vehiclenumber1)=0)strcpy(p-next-vehiclenumber,vehiclenumber2);strcpy(p-next-kind,kind1);break;cout修

40、改車輛信息成功endl;void deletes()char vehiclenumber120;vehicle* p;cout請輸入你要刪除的車輛的車牌號碼vehiclenumber1;for(p=head;p-next!=null;p=p-next)if(strcmp(p-next-vehiclenumber,vehiclenumber1)=0)p-next=p-next-next;break;cout刪除車輛信息成功endl;void zuche()char vehiclenumber120;vehicle* p;cout請輸入你要租車的車牌號碼vehiclenumber1;for(p=h

41、ead;p-next!=null;p=p-next)if(strcmp(p-next-vehiclenumber,vehiclenumber1)=0)if(p-next-flag=-)if(strcmp(p-next-kind,car)=0)cout請輸入起點的時間(年月日時,并且本車只按天出租)p-next-outp-next-i.yearp-next-outp-next-i.monthp-next-outp-next-i.dayp-next-outp-next-i.hour;p-next-zulinp-next-i=x;p-next-flag=x;(p-next-i)+;elsechar

42、flag1;cout你是要按小時租賃貨車車嗎?(y代表是,n代表不是)flag1;if(flag1=y)cout請輸入起點時間(年月日時)p-next-outp-next-i.yearp-next-outp-next-i.monthp-next-outp-next-i.dayp-next-outp-next-i.hour;p-next-zulinp-next-i=h;p-next-flag=h;(p-next-i)+;elsecout請輸入起點時間(年月日時)p-next-outp-next-i.yearp-next-outp-next-i.monthp-next-outp-next-i.da

43、yp-next-outp-next-i.hour;p-next-zulinp-next-i=x;p-next-flag=x;(p-next-i)+;cout租車成功endl;elsecout該車已被租賃next=null)cout車庫中沒有該車endl;void returns()char vehiclenumber120;vehicle* p;cout請輸入你還車的車牌號碼vehiclenumber1;for(p=head;p-next!=null;p=p-next)if(strcmp(p-next-vehiclenumber,vehiclenumber1)=0)p-next-flag=-;

44、cout請輸入還車的時間,年,月,日,時p-next-inp-next-j.yearp-next-inp-next-j.monthp-next-inp-next-j.dayp-next-inp-next-j.hour;(p-next-j)+;cout還車成功next=null)cout查無此車0;m-)if(m=4|m=6|m=9|m=11)counter1+=30;else if(m=1|m=3|m=5|m=7|m=8|m=10)counter1+=31;else if(m=2)if(a.year%4=0)counter1+=29;elsecounter1+=28;else coutinpu

45、t errora.year;y-)if(y%4=0)counter+=366;else counter+=365;return counter;void count()float sum1=1;char a110;strcpy(a1,car);char vehiclenumber120;cout請輸入你所租賃車的車牌號碼vehiclenumber1;vehicle* p;for(p=head;p-next!=null;p=p-next)if(strcmp(p-next-vehiclenumber,vehiclenumber1)=0)if(strcmp(p-next-kind,a1)=0)sum1=(distances(p-next-outp-ne

溫馨提示

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

評論

0/150

提交評論