




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、交通與汽車工程學(xué)院課程設(shè)計(jì)說明書課 程 名 稱: 程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì) 課 程 代 碼: 8234580 題 目: 簡(jiǎn)易計(jì)算器程序設(shè)計(jì) 年級(jí)/專業(yè)/班: 2009級(jí)/熱能與動(dòng)力工程(汽車發(fā)動(dòng)機(jī))/ 3班 學(xué) 生 姓 名: 魏學(xué)行 學(xué) 號(hào):開 始 時(shí) 間: 2010 年 4 月 26 日完 成 時(shí) 間: 2010 年 5 月 21 日課程設(shè)計(jì)成績(jī):學(xué)習(xí)態(tài)度及平時(shí)成績(jī)(30)技術(shù)水平與實(shí)際能力(20)創(chuàng)新(5)說明書(計(jì)算書、圖紙、分析報(bào)告)撰寫質(zhì)量(45)總 分(100)指導(dǎo)教師簽名: 年 月 日目 錄摘要 - 2 -1 引言 - 3 -1.1 選題背景 - 3 -1.2 任務(wù)與分析 - 3 -
2、2 方案設(shè)計(jì) - 4 -3 界面設(shè)計(jì) - 4 -4 代碼設(shè)計(jì)及程序調(diào)試 - 5 -5 軟件使用說明 - 6 -總結(jié)與體會(huì) - 12 -致謝 - 14 -參考文獻(xiàn) - 15 -摘 要 隨著計(jì)算機(jī)的不斷更新發(fā)展,計(jì)算器扮演著極為重要的角色, Windows環(huán)境下的Visual Basic提供了豐富的圖形功能。本文主要通過對(duì)方案設(shè)計(jì)、界面設(shè)計(jì)、代碼編寫及調(diào)試以及軟件使用說明等的介紹,介紹了作者利用Visual Basic對(duì)“簡(jiǎn)易計(jì)算器”應(yīng)用軟件的開發(fā)設(shè)計(jì)過程,并分析了所開發(fā)軟件系統(tǒng)的優(yōu)點(diǎn)和不足。關(guān)鍵詞:Visual Basic 簡(jiǎn)易計(jì)算器 程序設(shè)計(jì) 1 引 言 1.1 選題背景 通過一年來(lái)對(duì)Visu
3、al Basic 高級(jí)語(yǔ)言程序設(shè)計(jì)的學(xué)習(xí),我已經(jīng)掌握了一些常用的控件的使用方法,對(duì)簡(jiǎn)單的程序設(shè)計(jì)的常用算法也有了一定的了解,還掌握了對(duì)圖形和動(dòng)畫的一些基本操作。為了進(jìn)一步加深理解、驗(yàn)證、鞏固課堂教學(xué)內(nèi)容,加深對(duì)可視化編程思想的理解,強(qiáng)化Visual Basic對(duì)程序流程控制、常用控件的屬性、事件、方法的理解和使用;為了進(jìn)一步提高編程能力、程序的調(diào)試能力,理論聯(lián)系實(shí)際的能力;鞏固所學(xué)的這些程序設(shè)計(jì)的方法,為了達(dá)到后續(xù)課程對(duì)實(shí)際編程計(jì)算能力的要求,特選定“簡(jiǎn)易計(jì)算器”這個(gè)小題目作為課程設(shè)計(jì)實(shí)踐教學(xué)環(huán)節(jié)的題目,有助于培養(yǎng)綜合運(yùn)用所學(xué)知識(shí)解決實(shí)際問題的能力,可以充分發(fā)揮想象力和創(chuàng)新能力;有助于提高獨(dú)立
4、思考能力,和自學(xué)能力。1.2 任務(wù)與分析 本軟件應(yīng)具有運(yùn)算加減乘除四則基本運(yùn)算,其中涉及到了VB的很多知識(shí)點(diǎn),例如:在界面設(shè)計(jì)中應(yīng)熟悉掌握各個(gè)控件的屬性,各種循環(huán)語(yǔ)句,選擇語(yǔ)句,控件組等等。有助于培養(yǎng)綜合運(yùn)用所學(xué)知識(shí)解決實(shí)際問題的能力,可以充分發(fā)揮想象力和創(chuàng)新能力;有助于提高獨(dú)立思考能力,和自學(xué)能力。2 方案設(shè)計(jì) 本軟件按照一般計(jì)算器的界面以及功能設(shè)計(jì),具有最為基礎(chǔ)的加減乘除四則運(yùn)算。先建立一個(gè)新的項(xiàng)目文件,里面包含一個(gè)Form1的窗體。然后,添加控件,包括一個(gè)Text框(Text1)。一個(gè)控件數(shù)組,包含17個(gè)按鈕,這17個(gè)按鈕使用的名稱都是Command1,只是Index屬性不同。按下數(shù)字鍵
5、在液晶屏上會(huì)出現(xiàn)數(shù)字,這是最基本的功能。第一次按下運(yùn)算鍵,再按下數(shù)字鍵,將重新輸入第二個(gè)數(shù)字,再次按下運(yùn)算鍵,將算出前兩個(gè)數(shù)的結(jié)果,然后按下數(shù)字鍵,將又重新輸入新的數(shù)字。輸入數(shù)字后,按下“等于鍵”將仍輸出原來(lái)的數(shù)字,輸入運(yùn)算符和第二個(gè)數(shù)字后在按下“等于”,將得到二者的結(jié)果。然后又重復(fù)第二、三步。 按下“清除”,數(shù)據(jù)被全部清除。所以還將運(yùn)用到賦值。3 界面設(shè)計(jì)控件名稱屬性控件名稱屬性控件名稱屬性Command1(00Command1(11Command1(22Command1(33Command1(44Command1(55Command1(66Command1(77Command1(88Com
6、mand1(88Command1(10.Command1(11=Command1(12+Command1(13-Command1(14*Command1(15/Command1(16ACText1“”Image4 代碼設(shè)計(jì)及程序調(diào)試1. 先在General里聲明窗體級(jí)全局變量: Dim Num1, Num2 As SingleDim StrNum1, StrNum2 As StringDim FirstNum As Boolean '判斷是否是數(shù)字開頭2. 字符型變量轉(zhuǎn)變?yōu)閷?shí)型變量因?yàn)門ext1里是存放字符串的,所以要把輸入的數(shù)據(jù)進(jìn)行運(yùn)算,必須把字符型變量轉(zhuǎn)變?yōu)閷?shí)型變量,分別用Num1
7、、Num2和StrNum1、StrNum2進(jìn)行存放。 在Form_Load事件里給變量初賦值: Num1 = 0Num2 = 0StrNum1 = ""StrNum2 = ""FirstNum = True3. Select Case語(yǔ)句區(qū)分各個(gè)按鈕因?yàn)?7個(gè)按鈕使用的是同一事件,所以我們用一個(gè)Select Case語(yǔ)句區(qū)分各個(gè)按鈕,雙擊任意按鈕輸入代碼: Private Sub Command1_Click(Index As IntegerSelect Case IndexCase 0 To 9If FirstNum ThenStrNum1 = Str
8、(Index實(shí)型轉(zhuǎn)字符型FirstNum = False初賦值為假Else非初賦值StrNum1 = StrNum1 + Str(IndexEnd IfText1.Text = StrNum1顯示<還有其他語(yǔ)句,等待插入>End SelectEnd Sub4. 處理小數(shù)點(diǎn)。 在General里聲明新的變量: Dim PointFlag As Boolean '判斷是否已有小數(shù)點(diǎn)在Form_Load里進(jìn)行初賦值:PointFlag = False在Command的單擊事件里接著上面輸入新的代碼:Case 10If Not PointFlag Then如果沒有小數(shù)點(diǎn)If Fir
9、stNum Then如果是第一個(gè)字符StrNum1 = "0."FirstNum = FalseElseStrNum1 = StrNum1 + "."End IfElse已有小數(shù)點(diǎn)Exit Sub則退出單擊事件End IfPointFlag = TrueText1.Text = StrNum15. 處理四則運(yùn)算:先在General里聲明新變量:Dim Runsign As Integer '儲(chǔ)存運(yùn)算符號(hào)Dim SignFlag As Boolean '判斷是否已有運(yùn)算符號(hào)然后在Form_Load中進(jìn)行初賦值:Runsign = 0Sign
10、Flag = False在接下的Command1_Click中繼續(xù)輸入代碼:Case 12 To 15FirstNum = True使下一次可以輸入新數(shù)據(jù)PointFlag = False'還原標(biāo)記值If SignFlag Then前面已有運(yùn)算符未運(yùn)算Call RunElseSignFlag = TrueStrNum2 = StrNum1把字符串1復(fù)制給字符串2StrNum1 = ""字符串1清空End IfRunsign = Index - 11 儲(chǔ)存鍵入的運(yùn)算符里面運(yùn)算的部分我用了一個(gè)過程,是因?yàn)樵诎聪碌忍?hào)時(shí)還會(huì)調(diào)用到運(yùn)算過程,這樣可以減少代碼的輸入,也使程序便
11、于瀏覽。建立過程(Procedure),可以在General部分直接輸入,也可以通過菜單里的“Add Procedure”添加。Run的代碼如下:Sub Run(Num1 = Val(StrNum2Num2 = Val(StrNum1Select Case RunsignCase 1加equal = Num1 + Num2Case 2減equal = Num1 - Num2Case 3乘equal = Num1 * Num2Case 4除equal = Num1 / Num2End SelectStrNum2 = Str(equalStrNum1 = StrNum2Text1.Text = S
12、trNum2End Sub6. 下面是其余的代碼:(在Command1_Click事件里,接著寫Case 11If Not SignFlag ThenText1.Text = StrNum1equal = Val(StrNum1FirstNum = TruePointFlag = FalseElseCall RunSignFlag = FalseEnd IfCase Else清除按鈕Call ClearData里面又用到了一個(gè)ClearData過程,實(shí)際上就是Form_Load里的變量初賦值,代碼如下:Sub ClearData(Num1 = 0Num2 = 0StrNum1 = "
13、"StrNum2 = ""FirstNum = TruePointFlag = FalseRunsign = 0SignFlag = FalseText1.Text = "0."End Sub下面給出完整的程序代碼:Dim Num1, Num2 As SingleDim StrNum1, StrNum2 As StringDim FirstNum As Boolean '判斷是否是數(shù)字開頭Dim PointFlag As Boolean '判斷是否已有小數(shù)點(diǎn)Dim Runsign As Integer '儲(chǔ)存運(yùn)算符號(hào)Di
14、m SignFlag As Boolean '判斷是否已有運(yùn)算符號(hào)Sub ClearData(Num1 = 0Num2 = 0StrNum1 = ""StrNum2 = ""FirstNum = TruePointFlag = FalseRunsign = 0SignFlag = FalseText1.Text = "0."End SubSub Run(Num1 = Val(StrNum2Num2 = Val(StrNum1Select Case RunsignCase 1equal = Num1 + Num2Case 2eq
15、ual = Num1 - Num2Case 3equal = Num1 * Num2Case 4equal = Num1 / Num2End SelectStrNum2 = Str(equalStrNum1 = StrNum2Text1.Text = StrNum2End SubPrivate Sub Command1_Click(Index As IntegerSelect Case IndexCase 0 To 9If FirstNum ThenStrNum1 = Str(IndexFirstNum = FalseElseStrNum1 = StrNum1 + Str(IndexEnd I
16、fText1.Text = StrNum1Case 10If Not PointFlag ThenIf FirstNum ThenStrNum1 = "0."FirstNum = FalseElseStrNum1 = StrNum1 + "."End IfElseExit SubEnd IfPointFlag = TrueText1.Text = StrNum1Case 12 To 15FirstNum = TruePointFlag = False'還原標(biāo)記值If SignFlag ThenCall RunElseSignFlag = True
17、StrNum2 = StrNum1StrNum1 = ""End IfRunsign = Index - 11Case 11If Not SignFlag ThenText1.Text = StrNum1equal = Val(StrNum1FirstNum = TruePointFlag = FalseElseCall RunSignFlag = FalseEnd IfCase ElseCall ClearDataEnd SelectEnd SubPrivate Sub Form_Load(Call ClearDataEnd Sub5 軟件使用說明本軟件使用十分簡(jiǎn)單,按照
18、普通計(jì)算器的使用方法即可。先按下需要計(jì)算的第一個(gè)數(shù)字,再按下運(yùn)算符號(hào),再按下第二個(gè)計(jì)算數(shù)字,最后按下等號(hào)即可得到運(yùn)算結(jié)果??偨Y(jié)與體會(huì)本段具體內(nèi)容為本次課程設(shè)計(jì)整體上的總結(jié)與體會(huì),可包含所設(shè)計(jì)軟件的優(yōu)點(diǎn)和不足的分析,遇到的困難及解決方法等。例如:在這個(gè)系統(tǒng)課設(shè)創(chuàng)作的過程中,我學(xué)會(huì)了基本的VB編程技能,對(duì)軟件制作也有了初步的了解。同時(shí)也遇到了種種困難,體驗(yàn)到了編程的艱辛。在實(shí)現(xiàn)“車次查詢”的過程中,語(yǔ)句格式不清楚,無(wú)法與數(shù)據(jù)庫(kù)實(shí)現(xiàn)鏈接。點(diǎn)擊“查詢”后,無(wú)法顯示車站序列名。后來(lái),我們通過相互討論及查詢相關(guān)資料,細(xì)心檢查語(yǔ)句。不斷使邏輯和格式趨于完善。最終,問題得以解決。軟件的制作是一件辛苦而費(fèi)力的工
19、作,但在老師和同學(xué)的幫助下,我不但按時(shí)完成,而且從中學(xué)到了許多課本上沒有的東西,首先是團(tuán)隊(duì)的合作精神?,F(xiàn)代軟件的制作不是一個(gè)人可以完成的,個(gè)人始終需要集體的支持。在遇到困難時(shí),大家集中在一起進(jìn)行分析討論,共同解決。其次是學(xué)習(xí)與實(shí)踐的關(guān)系。在課本上學(xué)到了VB程序的基礎(chǔ)知識(shí)。但在實(shí)踐中,需要大量的拓展知識(shí)。我們?cè)诶斫鈺局R(shí)的基礎(chǔ)上,查閱了大量的書籍,不僅找到了問題的解決方法,而且優(yōu)中取優(yōu),盡量選取最簡(jiǎn)方法,從而促進(jìn)了我們VB知識(shí)的提高?;蛘撸涸谠O(shè)計(jì)過程中,我通過查閱大量有關(guān)資料,與同學(xué)交流經(jīng)驗(yàn)和自學(xué),并向老師請(qǐng)教等方式,使自己學(xué)到了不少知識(shí),也經(jīng)歷了不少艱辛,但收獲同樣巨大。在整個(gè)設(shè)計(jì)中我懂得了許多東西,大大提高了自己的動(dòng)手能力,使我充分體會(huì)到了在創(chuàng)造過程中探索的艱難和成功時(shí)的喜悅。雖然這個(gè)設(shè)計(jì)做的也不太好,但是在設(shè)計(jì)過程中所學(xué)到的東西是這次畢業(yè)設(shè)計(jì)的最大收獲和財(cái)富,使我終身受益。當(dāng)然,我也深刻地體會(huì)到從理論到實(shí)踐是很難的過程,每一個(gè)參數(shù)的選擇都需要仔細(xì)地思考,稍微差一點(diǎn)就會(huì)使計(jì)算的結(jié)果相差很遠(yuǎn)。還有就是在編程的過程中,需要學(xué)習(xí)很多以前沒有學(xué)過的有關(guān)知識(shí)。在設(shè)計(jì)中會(huì)遇到很多
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)高壓清洗車數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年電爐控制柜項(xiàng)目可行性研究報(bào)告
- 智能照明系統(tǒng)調(diào)試記錄
- 2025年熱軋片項(xiàng)目可行性研究報(bào)告
- 2025年景泰藍(lán)座蛋項(xiàng)目可行性研究報(bào)告
- 2025年02月大方縣面向社會(huì)事業(yè)單位工作人員302人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 25挑山工 教學(xué)設(shè)計(jì)2024-2025學(xué)年統(tǒng)編版語(yǔ)文四年級(jí)下冊(cè)
- 2025至2030年中國(guó)液壓平面磨床數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- Mitotane-13C12-2-4-DDD-sup-13-sup-C-sub-12-sub-生命科學(xué)試劑-MCE
- 2025至2030年中國(guó)改性長(zhǎng)油醇酸樹脂數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 出版物網(wǎng)絡(luò)零售備案表
- 云南省昭通市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 國(guó)家留學(xué)基金委國(guó)外大學(xué)邀請(qǐng)函
- QES三體系內(nèi)審檢查表 含審核記錄
- 信息論與編碼 自學(xué)報(bào)告
- 二年級(jí)乘除法口訣專項(xiàng)練習(xí)1000題-推薦
- 貸款項(xiàng)目資金平衡表
- 唯美動(dòng)畫生日快樂電子相冊(cè)視頻動(dòng)態(tài)PPT模板
- 設(shè)計(jì)文件簽收表(一)
- 義務(wù)教育語(yǔ)文課程標(biāo)準(zhǔn)2022年版
- 公務(wù)員入職登記表
評(píng)論
0/150
提交評(píng)論