- 相關(guān)推薦
VB畢業(yè)課程設(shè)計報告
課程設(shè)計對我們每個人來說都是一個挑戰(zhàn),下面是VB畢業(yè)課程設(shè)計報告,為大家提供參考。
課程設(shè)計題目:個人收支管理
難度:☆☆☆
姓名:***
學(xué)號:913*****0633
隨著社會生活步調(diào)的不斷加快,人們越來越繁忙。也因此各項收入和支出名目繁多,如果不善于管理常會出現(xiàn)入不敷出,工資感覺沒怎么用到月底就已經(jīng)全光了。所以對自己在日常生活中的收入和支出進(jìn)行記錄和管理是十分必要的。這也正是設(shè)計這個程序的初衷,給人們的生活帶來便利。
一、題目介紹
個人收支管理是一款簡單家庭理財軟件,主要為用戶提供每日的收支記錄和查詢服務(wù),還能統(tǒng)計總收入和總支出。
功能要求
。1) 運行程序,首先進(jìn)入的是登錄窗口,因收支涉及個人隱私,因此該程序要求密碼驗證。如果密碼輸入連續(xù)三次錯誤,程序自動退出。程序的初始密碼為空,即不必輸入密碼,直接單擊“確定”按鈕進(jìn)入。
。2) 當(dāng)用戶輸入正確密碼后,則進(jìn)入程序界面。
。3) 單擊“參數(shù)設(shè)置”按鈕,進(jìn)入“參數(shù)設(shè)置”窗口。該窗口有三個選項卡。
1 “收入類別””和“支出類別”選項卡主要對日常收支進(jìn)行分類,可對類別進(jìn)行添加,修改,刪除等處理,并將處理后的類別信息保存到文件夾中以供本程序的其他窗口使用。這兩個選項卡的初始狀態(tài)為:“添加”和“返回”按鈕可用,另外兩個按鈕不可用,同時文本框亦不能進(jìn)行文字輸入。單擊“添加”按鈕后,文本框才能編輯,并清空原有的內(nèi)容。在文本框中輸入新類別后選擇“確定”即可添加。單擊列表框中的某一項時,其內(nèi)容顯示在文本框中,同時“刪除”和“修改”按鈕才可用。單擊“修改”按鈕后,在文本框中進(jìn)行修改,“確定”后修改操作完成。單擊“刪除”按鈕時,從列表框中刪除所選類別。
2 通過“密碼修改”選項卡可以修改密碼。若“新密碼”和“再輸入一次”中的輸入密碼不一致,則會提示用戶重新輸入。
(4) 單擊程序主界面上的“日常流水賬”按鈕,進(jìn)入日常收支的原始資料輸入窗口。該窗口主要由“收入記賬”和“支出記賬”兩個選項卡組成。考慮到流水賬的內(nèi)容可能較多,因此進(jìn)入該窗體時,窗口底部的列表中只顯示已收入的本月的收支情況。“收入類別”和“支出類別”使用了組合框,其中顯示了“參數(shù)設(shè)置”窗體所設(shè)置的收入和支出類別,用戶只須從中選擇即可。添加新的收支信息時,先在“日期”,“金額”,“收入類型”和“備注”中輸入或選擇適當(dāng)內(nèi)容,然后單擊“保存”按鈕
即可,窗口底部列表框中顯示已輸入的信息。單擊“取消”按鈕則會清空文本框中的內(nèi)容。添加完畢,單擊“流水賬”窗口右上角的“返回”按鈕可返回主界面。
。5) 從主界面上選擇“查詢統(tǒng)計”,進(jìn)入“查詢統(tǒng)計”窗口。該窗口由三張選項卡組成,既可以單獨統(tǒng)計收入或支出的情況,也可以查詢某一段時間內(nèi)總的收入和支出情況!笆杖氩樵儭焙汀爸С霾樵儭备鶕(jù)實際需要共設(shè)置兩種查詢方式:一種是查詢某個時間段內(nèi)的總收入和支出,另一種是查詢某一時間段內(nèi)某一收入和支出類別的收支情況。通過“請選擇查詢方式”中的兩個單選框來選擇這兩種模式!笆杖胫С鰧Ρ取边x項卡顯示某一時間段內(nèi)總的收入和支出情況。
二、課程設(shè)計的詳細(xì)說明
本程序由一個標(biāo)準(zhǔn)模塊和五個窗體模塊frmland 、frmmain 、frmbill、 frmquery、 frmset構(gòu)成。同時有三個文本文件分別用于保存收入類型(Inputtype.txt)、支出類型(Outputtype.txt)和收支賬目(Balance.txt),一個文件(Balance.pas)保存加密后的密碼。
Frmland為啟動窗體,供用戶輸入密碼并檢驗,如果正確就顯示主窗體進(jìn)入程序,如果三次輸入均不正確就關(guān)閉程序。
Frmmain為主窗體,用于各個窗體的連接和退出程序,它有四個按鈕單擊后分別顯示窗體frmbill、窗體 frmquery、窗體 frmset。
窗體frmbill供用戶輸入每日的收支帳目,即收支類型、收支時間、金額和備注。每次加載窗體frmbill時從Inputtype.txt讀出收入類型,從Outputtype.txt讀出支出類型給控件初始化,便于用戶選擇相應(yīng)的類型輸入日常流水賬。為實現(xiàn)數(shù)據(jù)逐條讀寫采用do loop循環(huán) EOF()文件函數(shù)和input語句。利用If語句判斷data的int1取值,確定數(shù)據(jù)是收入還是支出,利用month()函數(shù)獲得帳目時間time1的月份,只將本月的帳目顯示在列表框里。
窗體 frmquery供用戶進(jìn)行查詢,它提供三個選項卡,分別支持收入查詢,支出查詢和收支對比查詢。用戶還可以對查詢方式進(jìn)行選擇:按時間或按類型 ,為提供這2個選擇,運行時對框架控件的Visible 屬性進(jìn)行設(shè)置。
窗體 frmset 可以由用戶自己添加收入支出類型和修改密碼,設(shè)置后將寫入文件保存。收入支出類型經(jīng)修改后利用For循環(huán)遍歷列表框中的條目,將每一條寫進(jìn)Inputtype.txt或Outputtype.txt。
密碼的加密按如下變換(0—A,1—B,9—J )。將密碼的每一個數(shù)字加上65后按Ascaii碼轉(zhuǎn)換為相應(yīng)的字母。
用到Mid() ,Asc (),Len()函數(shù)和For循環(huán)。 標(biāo)準(zhǔn)模塊用來聲明自定義數(shù)據(jù)類型 data ,它有5個元素:
int1 As Integer (取2個值,1表示收入,0表示支出)
time1 As Date (儲存收支時間)
moneytype As String(儲存收支類型)
money As String(儲存金額)
addition As String(儲存?zhèn)渥ⅲ?/p>
標(biāo)準(zhǔn)模塊中聲明全局變量 password 和 password2 分別保存原始數(shù)字密碼和經(jīng)過加密后的密碼。
三、截圖
略
四、調(diào)試程序的過程
問題一:調(diào)試時找不到文件路徑,在查閱了幾本參考書后,見書中用了App.path函數(shù)來打開文件讀入或讀出。于是我按照書上的例子,在程序中用App.path函數(shù)找到了文件。 問題二:調(diào)試時數(shù)據(jù)從文件中讀入時,出現(xiàn)“輸入超出文件尾”。發(fā)現(xiàn)程序沒有什么錯誤,在打開文本文件Balance.txt時發(fā)現(xiàn)光標(biāo)與文本之隔著幾行空白,當(dāng)刪除后,程序運行良好。說明光標(biāo)的最后位置應(yīng)緊鄰上次輸入的內(nèi)容。
問題二:我一開始試圖用write #1 ,newdata語句一次性寫入自定義類型的所有元素,但是VB只支持隨機(jī)讀取文件使用它,對于文本文件,處理自定義數(shù)據(jù)類型并不方便。改寫為write #1, newdata.int1 , newdata.time1, newdata.moneytype, newdata.money , newdata.addition后才實現(xiàn)寫入功能。
問題三:當(dāng)用戶輸入的數(shù)據(jù)類型與我設(shè)置的變量類型不統(tǒng)一時,會出現(xiàn)許多錯誤,為了方便用戶,必須添加顯式轉(zhuǎn)換語句避免錯誤
五、課程設(shè)計總結(jié)
這次課程設(shè)計雖然課題只有三顆星,但由于基礎(chǔ)薄弱還是費了不少功夫。我從中體會到了許多。比如一項任務(wù)開始前要有一個整體規(guī)劃,將各個模塊和它們的功能想清楚,然后才能具體動手,此外還要步步優(yōu)化,慢慢調(diào)試才能最終完成程序設(shè)計,不能急功近利,也不能粗心大意。編寫程序的過程讓我意識到的圖書館的巨大作用,不是課堂所學(xué)都能有所用,也不是所用要用的都學(xué)習(xí)過,學(xué)會自學(xué),學(xué)會使用圖書館是那么重要。還有要有知難而上的勇氣和必勝的信念,遇到調(diào)試錯誤不能灰心失望,要找到原因,積極改正。
【VB畢業(yè)課程設(shè)計報告】相關(guān)文章:
vb課程設(shè)計心得體會12-07
vb課程設(shè)計的心得體會04-04
vb課程設(shè)計心得體會8篇02-24
vb課程設(shè)計心得體會15篇04-28
vb課程設(shè)計心得體會12篇05-18
課程設(shè)計報告07-23
課程設(shè)計報告09-11
vb實訓(xùn)報告心得體會07-02
關(guān)于系統(tǒng)的課程設(shè)計報告08-05
課程設(shè)計報告(15篇)03-28