版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計報告</b></p><p> 題 目 計算器的設(shè)計與實現(xiàn) </p><p> 專業(yè)班級 信息管理101</p><p> 學(xué) 號 </p><p><b> 計算器的設(shè)計與實現(xiàn)</b></
2、p><p> 摘要:通過學(xué)習(xí)VISUAL BASIC語言應(yīng)用VB開發(fā)工具,利用響應(yīng)鼠標(biāo)事件即可制作簡易計算器,響應(yīng)鼠標(biāo)事件即:當(dāng)用戶想要進行運算時,可以用鼠標(biāo)直接點擊界面的數(shù)字鍵、運算符以及各功能的按鈕(清除,退出,鼠標(biāo)位置)。具體操作如下:用鼠標(biāo)按動界面上第一個數(shù)字,然后按動運算符,再按動界面上的第二個數(shù)字,最后按等于即可運算出結(jié)果。</p><p><b> 1.界面設(shè)計:&
3、lt;/b></p><p> 應(yīng)用 VISUAL BASIC開發(fā)工具,根據(jù)WINDOWS計算器界面模型,修改后制作計算器界面。新建一個窗體,添加一個文本框用于顯示運算數(shù)字和結(jié)果,添加若干按鈕包括(數(shù)字0—9,+,-,*,/,=,CE, C, Back,%,1/x , sqrt)。</p><p> 當(dāng)單擊數(shù)字按鈕時輸入運算數(shù)時,單擊運算符按鈕,再單擊“=”按鈕,則再文本框中顯示
4、計算結(jié)果。具體如下圖所示:</p><p> 圖1 計算器界面設(shè)計示意圖</p><p><b> 2.程序設(shè)計:</b></p><p> (1)新建框體和按鍵模型后定義變量:輸入的操作數(shù),Dim Op1, Op2。小數(shù)點是否仍然存在,Dim DecimalFlag As Integer。操作數(shù)個數(shù),Dim NumOps As Int
5、eger。指示上一次按鍵事件的類型,Dim LastInput。指示未完成的操作,Dim OpFlag。定義文本框輸出,Dim TempReadout。窗體的初始化過程,設(shè)置所有變量為其初始值:DecimalFlag = False</p><p> NumOps = 0</p><p> LastInput = "NONE"</p><p>
6、; OpFlag = " "</p><p> Readout = Format(0, "0.")</p><p> 'Decimal.Caption = Format(0, ".")。</p><p> ?。?)輸入數(shù)字鍵(0-9)的Click事件過程,向顯示中的數(shù)追加新數(shù):
7、調(diào)用format函數(shù)強制定義始終在第一位添加一個”.”,并在顯示數(shù)中追加新數(shù),如果顯示數(shù)小于零,則添加負號。</p><p> If LastInput <> "NUMS" Then</p><p> Readout = Format(0, ".")</p><p> DecimalFlag = False&
8、lt;/p><p><b> End If</b></p><p> If DecimalFlag Then</p><p> Readout = Readout + Number(Index).Caption</p><p><b> Else</b></p><p>
9、 Readout = Left(Readout, InStr(Readout, Format(0, ".")) - 1) + Number(Index).Caption + Format(0, ".")</p><p><b> End If</b></p><p> If LastInput = "NEG&qu
10、ot; Then Readout = "-" & Readout</p><p> LastInput = "NUMS"</p><p> (3)運算符(+, -, x, /, =)的Click 事件過程如果接下來的按鍵是數(shù)字鍵,增加NumOps如果有一個操作數(shù),則設(shè)置Op1如果有兩個操作數(shù),則將Op1 設(shè)置為Op1與當(dāng)前
11、輸入字符串的運算結(jié)果,并顯示結(jié)果(以其中加法部分為例):</p><p> If LastInput = "NUMS" Then</p><p> NumOps = NumOps + 1</p><p><b> End If</b></p><p> elect Case NumOps<
12、;/p><p><b> Case 0</b></p><p> If Operator(Index).Caption = "-" And LastInput <> "NEG" Then</p><p> Readout = "-" & Readout</p
13、><p> LastInput = "NEG"</p><p><b> End If</b></p><p><b> Case 1</b></p><p> Op1 = Readout</p><p> If Operator(Index).Ca
14、ption = "-" And LastInput <> "NUMS" And OpFlag <> "=" Then</p><p> Readout = "-"</p><p> LastInput = "NEG"</p><p><
15、;b> End If</b></p><p> elect Case OpFlag</p><p><b> Case "+"</b></p><p> Op1 = CDbl(Op1) + CDbl(Op2)</p><p> Readout = Op1</p>
16、<p> NumOps = 1</p><p> End Select</p><p> ?。?)%,sqrt,1/X,等的Click事件過程以1/X為例舉出:以倒數(shù)1 / Readout</p><p> 輸出,在輸出結(jié)果中調(diào)用format函數(shù)強制定義添加“0.”,并可進行連續(xù)運算</p><p> Readout =
17、 1 / Readout</p><p> Readout.Text = Format(Readout.Text, "0.####################")</p><p> LastInput = "Ops"</p><p> OpFlag = "1/x"</p><p
18、> NumOps = NumOps + 1</p><p> DecimalFlag = True</p><p> ?。?)C, CE, Back,”.”等Click事件過程以C和”.”為例,C按鈕的Click事件過程,重新設(shè)置顯示并初始化變量:清零操作數(shù),并在顯示結(jié)果中定義一個“0.”</p><p> Readout = Format(0, &qu
19、ot;0.")</p><p><b> Op1 = 0</b></p><p><b> Op2 = 0</b></p><p><b> Form_Load</b></p><p> ?。?)小數(shù)點(.)按鈕的Click事件過程, 如果上一次按鍵為運算符,初
20、始化readout為"0."否則顯示時追加一個小數(shù)點:</p><p> Private Sub Decimal_Click()</p><p> If LastInput = "NEG" Then</p><p> Readout = Format(0, "-0.")</p><
21、p> ElseIf LastInput <> "NUMS" Then</p><p> Readout = Format(0, "0.")</p><p><b> End If</b></p><p> DecimalFlag = True</p><p&g
22、t; LastInput = "NUMS"</p><p><b> End Sub</b></p><p> (7)Back按鈕的Click事件過程:定義一個變量cd,并且用LEN函數(shù)求出當(dāng)前字符串長度,調(diào)用Mid函數(shù)使字符串整體右移一位顯示。</p><p> Dim cd As Integer</p>
23、;<p> cd = Len(Readout.Text) </p><p> Readout.Text = "" & Mid(Readout.Text, 1, cd - 1)</p><p><b> 3.調(diào)試:</b></p><p> 調(diào)試計算器功能+,-,*,/,sqrt,1/x,%等功能
24、,如圖所示:圖1:0.2+0.3=結(jié)果如圖,圖2:2-3=結(jié)果如圖,圖3:3*6=結(jié)果如圖,圖4:9/3=結(jié)果如圖,圖5:16 sqrt 結(jié)果如圖,圖6:6%5= 結(jié)果如圖,圖7:2 1/x 結(jié)果如圖。</p><p> 圖2 加法調(diào)試結(jié)果 圖3 減法調(diào)試結(jié)果</p><p> 圖4 乘法調(diào)試結(jié)果 圖5 除
25、法調(diào)試結(jié)果</p><p> 圖6 sqrt調(diào)試結(jié)果 圖7 %調(diào)試結(jié)果</p><p> 圖8 1/x調(diào)試結(jié)果</p><p><b> 4.結(jié)論:</b></p><p> 經(jīng)過二周的學(xué)習(xí)與編制調(diào)試等一系列的過程,完成了如題所示的簡易計算器,包括數(shù)字0—9,+,-,*
26、,/,=,CE, C, Back,%,1/x , sqrt等按鍵,可實現(xiàn)基本+,-,*,/運算以及開方,取余,求倒數(shù)等功能,符合計算器的基本要求。調(diào)試過程中不可避免的出現(xiàn)不少錯誤,經(jīng)過修改后,基本解決如取余,小數(shù)點左右添加減少零,科學(xué)計數(shù)法,等一些問題?;就瓿蓪W(xué)習(xí)和實踐的要求和目的。</p><p><b> 參考文獻:</b></p><p> [1]王珊.V
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 簡易計算器vb課程設(shè)計報告
- 簡易計算器vb課程設(shè)計報告報告
- vb課程設(shè)計簡易計算器
- vb課程設(shè)計--簡單計算器
- vb-計算器-課程設(shè)計
- vb-股市計算器課程設(shè)計報告書
- 計算器課程設(shè)計報告
- 課程設(shè)計報告---計算器設(shè)計
- java計算器課程設(shè)計報告---模擬科學(xué)計算器
- java課程設(shè)計報告—計算器
- 簡單計算器課程設(shè)計報告
- 簡易計算器課程設(shè)計報告
- 硬件課程設(shè)計報告--計算器
- java計算器課程設(shè)計報告
- mfc計算器課程設(shè)計報告
- 簡單計算器課程設(shè)計報告
- java課程設(shè)計報告--計算器設(shè)計
- 課程設(shè)計-計算器
- 計算器java課程設(shè)計--簡單計算器
- 自解析計算器課程設(shè)計報告
評論
0/150
提交評論