![《軟件設計基礎(VB)》簡單科學計算器課程設計報告書_第1頁](http://file4.renrendoc.com/view/5040e1bd25ef4f3c6d0ae7fd6e8b2288/5040e1bd25ef4f3c6d0ae7fd6e8b22881.gif)
![《軟件設計基礎(VB)》簡單科學計算器課程設計報告書_第2頁](http://file4.renrendoc.com/view/5040e1bd25ef4f3c6d0ae7fd6e8b2288/5040e1bd25ef4f3c6d0ae7fd6e8b22882.gif)
![《軟件設計基礎(VB)》簡單科學計算器課程設計報告書_第3頁](http://file4.renrendoc.com/view/5040e1bd25ef4f3c6d0ae7fd6e8b2288/5040e1bd25ef4f3c6d0ae7fd6e8b22883.gif)
![《軟件設計基礎(VB)》簡單科學計算器課程設計報告書_第4頁](http://file4.renrendoc.com/view/5040e1bd25ef4f3c6d0ae7fd6e8b2288/5040e1bd25ef4f3c6d0ae7fd6e8b22884.gif)
![《軟件設計基礎(VB)》簡單科學計算器課程設計報告書_第5頁](http://file4.renrendoc.com/view/5040e1bd25ef4f3c6d0ae7fd6e8b2288/5040e1bd25ef4f3c6d0ae7fd6e8b22885.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、河北聯(lián)合大學 ?軟件設計根底VB?課程設計報告設計名稱: 簡易科學計算器 姓 名: 學 號: 專業(yè)班級: 學 院: 設計時間: 設計地點: 成績:指導教師評語: 指導教師簽字: 年 月 日目 錄1.課程設計目的32.課程設計任務與要求33.課程設計說明書44.課程設計成果205.程序調(diào)試過程236.設計問題的缺乏和改良方案237.課程設計心得248.附錄249.參考文獻 241課程設計目的?軟件設計根底VB?課程設計是這門課程的實踐性教學環(huán)節(jié)之一,本次設計結合實際應用的要求,使課程設計既覆蓋VB的知識點,又接近工程實際需要。目的是通過課程設計的綜合訓練,培養(yǎng)學生實際分析問題、解決問題的能力,以
2、及編程和動手能力,最終目標是通過課程設計這種形式,幫助學生系統(tǒng)掌握VB這門課程的主要內(nèi)容,養(yǎng)成良好的編程習慣,更好的完成教學任務。2課程設計任務與要求:要求:本次課程設計利用?軟件設計根底VB?課程中所學到的編程知識和編程技巧,完成具有一定難度和工作量的程序設計題目,幫助學生掌握編程、調(diào)試的根本技能,獨立完成所布置的任務。要求:1、對系統(tǒng)進行功能需求分析2、設計合理的數(shù)據(jù)結構和系統(tǒng)框架3、界面設計美觀、清楚、合理4、編程簡練,程序功能齊全,能正確運行5、具有一定的創(chuàng)新性6、說明書、流程圖要清楚7、課題完成后必須按要求提交課程設計報告任務:能夠完成數(shù)字的連續(xù)運算和函數(shù)的求值根本要求:1能夠完成數(shù)
3、值常數(shù)的四那么運算,不要求支持運算符的優(yōu)先級。2能夠進行如下函數(shù)的求值運算,包括sin, cos, tan, exp, log, ln, sqr, 1/x,以及常數(shù)e和園周率。3設置5個存貯鍵,以便將中間運算結果存入,在需要的時候取出參與運算。4支持鍵盤快捷運算僅要求數(shù)字及運算符。5ON進行初始化,去除內(nèi)存中的數(shù),OFF退出,CE去除顯示。6因為控件數(shù)目較多,要求采用控件數(shù)組,以減少事件處理的復雜程度,使程序簡潔高效。7出錯處理:操作數(shù)如果不符合數(shù)學上的定義,應該給出錯誤信息。例:0做除數(shù),負數(shù)或0做真數(shù)等情況。創(chuàng)新要求:如支持運算符的優(yōu)先級,或者增加新的函數(shù)等。3課程設計說明書 = 1 *
4、GB2 功能描述窗體通過窗體命令按鈕或鍵盤輸入數(shù)字實現(xiàn)根本的數(shù)學運算,使用窗體的功能按鈕計算某些特殊函數(shù)概要設計模塊結構圖: 根據(jù)功能分析,建立系統(tǒng)的體系結構,即將整個系統(tǒng)分解成假設干子模塊,用框圖表示各功能模塊之間的接口關系如下列圖。輸入數(shù)字賦值給變量輸入運算符及num2,由功能函數(shù)求值求值 簡易科學計算器功能框圖詳細設計 總體流程圖:開始 輸入num1輸入運算符opttype輸入num2判斷是否有足夠的數(shù)運算,有那么運算并賦值給num1,無那么取出num2輸出結果結束各功能模塊流程圖:開始1.數(shù)字按鈕:輸入數(shù)字結束開始2功能函數(shù):計算函數(shù)結束開始3.運算符結束輸入并存儲運算符開始4.存儲鍵
5、結束取出數(shù)值代碼實現(xiàn)詳細說明各功能模塊的實現(xiàn)過程,所用到的算法、技巧等附上代碼。如:本系統(tǒng)總共1個窗體:form1詳細如下:form1作用:“進入應用程序。所用控件:1個文本框,2個框架,數(shù)個命令按鈕,2個單項選擇按鈕和1個菜單項設計思路:用文本框顯示輸入的數(shù)字并將結果顯示在文本框中,用命令按鈕來計算和輸入數(shù)字。詳細內(nèi)容: command1(0-9)為數(shù)字的控件數(shù)組,command2(0-7)為功能函數(shù)的控件數(shù)組,command5(0-4)為記憶按鈕,command6(0-3)為運算符的控件數(shù)組。代碼如下:Dim lastinput As String 定義輸入標志 Dim num1 As D
6、ouble 第一個數(shù)Dim num2 As Double 第二個數(shù)Dim opttype As Integer 運算符Dim optnum As Integer 點擊運算符次數(shù)Dim i(5) As DoubleDim eqvnum As Integer 點擊等號次數(shù)Function calc(num1, opttype, num2) As Double自定義運算過程Select Case opttypeCase 0選擇/運算If num2 = 0 Then除數(shù)為0提示出錯 Text1.Text = Error 程序設計界面MsgBox 0不能做除數(shù), 48, 提示Elsecalc = num
7、1 / num2End IfCase 1 選擇*運算calc = num1 * num2Case 2 選擇-運算calc = num1 - num2Case 3 選擇+運算calc = num1 + num2End SelectIf Text1.Text Error Then Text1.Text = Trim(Str(calc)除數(shù)為0重新輸入num1 = 0num2 = 0lastinput = eqvopttype = -1End FunctionPrivate Sub Command1_Click(Index As Integer)0-9運算數(shù)的輸入If Len(Text1.Text)
8、 16 Then Exit Sub num1的輸入If Text1.Text = 0 Or lastinput = eqv Then Text1.Text = Text1.Text = Text1.Text & Indexlastinput = numIf lastinput = opt Then num2的輸入Text1.Text = Text1.Text = Text1.Text & Indexlastinput = numEnd IfCommand1(0).SetFocus0獲得焦點End SubPrivate Sub Command10_Click()OFF按鈕,關閉程序EndEnd
9、SubPrivate Sub Command11_Click()CE按鈕,去除If Len(Text1.Text) = 1 ThenText1.Text = Left(Text1.Text, Len(Text1.Text) - 1)ElseMsgBox 已經(jīng)是最后一位, 48, 提示 End IfEnd SubPrivate Sub Command12_Click()-/+按鈕Text1.Text = Trim(-Val(Text1.Text)End SubPrivate Sub Command13_Click()x2按鈕Text1.Text = Text1.Text 2End SubPriv
10、ate Sub Command14_Click()八進制按鈕Text1.Text = Oct(Text1.Text)End SubPrivate Sub Command2_Click(Index As Integer)功能函數(shù)按鈕Const pi As Single = 3.14159265358979 將x轉化為角度制Dim x As Doublex = Val(Text1.Text) If Option2.Value = ture Then x = x * pi / 180 計算三角函數(shù)時判斷條件Select Case IndexCase 0 計算sin ,以特定格式輸出Text1.Tex
11、t = Format(Sin(x), 0.#)lastinput = numCase 1 計算expText1.Text = 10 Text1.Text lastinput = numCase 2 計算sqr If Text1.Text 0 ThenText1.Text = Format(Sqr(Val(Text1.Text), #.#)lastinput = numElseMsgBox 被開方數(shù)不能為負數(shù), 48, 提示Text1.Text = Text1.SetFocusEnd IfCase 3 計算cosText1.Text = Format(Cos(x), 0.#)lastinput
12、= numCase 4 計算logText1.Text = Log(text1.text) / Log(10)lastinput = num Case 5 計算1/x If x = 0 ThenMsgBox 數(shù)據(jù)輸入不正確, 48, 提示ElseText1.Text = 0 & 1 / Val(x)lastinput = numEnd IfCase 6 計算tanText1.Text = Format(Tan(x), 0.#)lastinput = numCase 7 計算lnText1.Text = Log(Text1.Text)lastinput = numEnd SelectEnd Su
13、bPrivate Sub Command3_Click() 按鈕Text1.Text = 3.1415926 直接輸出lastinput = numEnd SubPrivate Sub Command4_Click()e按鈕 Dim e As Double, i As Integer, j As Integer j作為內(nèi)循環(huán)的循環(huán)變量 Dim dblFact As Double 存放階乘結果的變量 e = 2 i = 1 Do i = i + 1 dblFact = 1 初始化階乘結果變量 For j = 1 To i 內(nèi)嵌套循環(huán),求階乘 dblFact = dblFact * j Next
14、e = e + 1 / dblFact Loop Until 1 / dblFact 1 / 10 16 直至第i項的值 16 Or InStr(1, Text1.Text, .) 0 And lastinput eqv Then Exit SubIf lastinput = opt Or lastinput = eqv Or lastinput = neg ThenText1.Text = Text1.Text + 0.ElseText1.Text = Text1.Text + .End Iflastinput = numEnd SubPrivate Sub Command9_Click()
15、初始化Call Form_Loadoptnum = 0End SubPrivate Sub copy_Click()菜單項的代碼Clipboard.Clear 清空剪貼板Clipboard.SetText Text1.Text 將文本框內(nèi)容放入剪貼板End SubPrivate Sub form_KeyPress(KeyAscii As Integer)0-9和“.鍵盤輸入Text1.SetFocusText1.Text = Dim i As IntegerIf KeyAscii = Asc(0) Theni = 0 Call Command1_Click(i)ElseIf KeyAscii
16、= Asc(1) Theni = 1Call Command1_Click(i)ElseIf KeyAscii = Asc(2) Theni = 2Command1_Click (i)ElseIf KeyAscii = Asc(3) Theni = 3Command1_Click (i)ElseIf KeyAscii = Asc(4) Theni = 4Command1_Click (i)ElseIf KeyAscii = Asc(5) Theni = 5Command1_Click (i)ElseIf KeyAscii = Asc(6) Theni = 6Command1_Click (i)
17、ElseIf KeyAscii = Asc(7) Theni = 7Command1_Click (i)ElseIf KeyAscii = Asc(8) Theni = 8Command1_Click (i)ElseIf KeyAscii = Asc(9) Theni = 9Command1_Click (i)ElseIf KeyAscii = Asc(.) ThenCommand8_ClickEnd IfEnd SubPrivate Sub Form_Load()窗體加載事件Form1.Picture = LoadPicture(App.Path + 1.jpg) 為窗體設置背景圖片num1
18、 = 0num2 = 0opttype = -1Text1.Text = 0lastinput = eqvoptnum = 0eqvnum = 0End SubPrivate Sub paste_Click()菜單項 粘貼 按鈕Text1.Text = Clipboard.GetText 將剪貼板內(nèi)容取出End SubPrivate Sub Text1_Click()Text1.Text = End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)運算符鍵盤輸入Select Case KeyAscii Case Asc(+) 按下加號鍵 Co
19、mmand6_Click (3) 調(diào)用運算符單擊事件過程 Text1.Text = Case Asc(-) 按下減號鍵 If Text1.Text Then 假設文本框不空,看作減號,否那么看作負號 Command6_Click (2) 調(diào)用減號按鈕單擊事件過程 KeyAscii = 0 按鍵不再影響文本框 End If Text1.Text = Case Asc(*) 按下乘號鍵 Command6_Click (1) Case Asc(/) 按下除號鍵 Command6_Click (0) Case Asc(=)按下=鍵 num2 = Val(Right(Text1.Text, Len(Te
20、xt1.Text) - 1) Text1.Text = calc(num1, opttype, num2) lastinput = eqv optnum = 0Select Case eqvnumM1-M5在鍵盤輸入的代碼Case 0i(0) = Val(Right(Text1.Text, Len(Text1.Text) - 1)Case 1i(1) = Val(Right(Text1.Text, Len(Text1.Text) - 1)Case 2i(2) = Val(Right(Text1.Text, Len(Text1.Text) - 1)Case 3i(3) = Val(Right(T
21、ext1.Text, Len(Text1.Text) - 1)Case 4i(4) = Val(Right(Text1.Text, Len(Text1.Text) - 1)End Selecteqvnum = eqvnum + 1 End SelectEnd SubPrivate sub command15_click 清空按鈕Text1.text=0” 文本框內(nèi)容顯示為0Lastinput=eqv 標志顯示為“=標志4課程設計成果 1.程序加載的效果見右圖:2.程序運行效果如右圖:3.各種提示信息如下列圖: 5.程序調(diào)試過程寫出程序調(diào)試步驟,及遇到的問題。在程序調(diào)試設置斷點,通過變量賦值尋找其中錯誤,逐條檢查,修改其中的錯誤。程序調(diào)試時遇到的錯誤是:1.鍵盤輸入不正確2.不能連續(xù)運算3.記憶按鈕功能無法實現(xiàn)6.設計問題的缺乏和改良方案設計問題的缺乏之
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度家庭私人借車協(xié)議版
- 施工現(xiàn)場施工防突發(fā)公共衛(wèi)生事件威脅制度
- 跨界合作中的對公客戶關系管理策略探討
- 中外合資經(jīng)營企業(yè)合同(交通基礎設施項目)
- 二手車行業(yè)合同標準格式
- 一手房購買合同樣本大全
- 個人保證擔保債務合同樣本
- 中外合作生產(chǎn)合同(環(huán)保鍋爐)
- 專利權轉讓合同(三)
- 個人土地流轉合同范本
- 《石油鉆井基本知識》課件
- 電力兩票培訓
- TCCEAS001-2022建設項目工程總承包計價規(guī)范
- 2024.8.1十七個崗位安全操作規(guī)程手冊(值得借鑒)
- 中學生手機使用管理協(xié)議書
- 給排水科學與工程基礎知識單選題100道及答案解析
- 2024年土地變更調(diào)查培訓
- 2024年全國外貿(mào)單證員鑒定理論試題庫(含答案)
- 新版中國食物成分表
- 運輸車輛掛靠協(xié)議書(15篇)
- 完整版:美制螺紋尺寸對照表(牙數(shù)、牙高、螺距、小徑、中徑外徑、鉆孔)
評論
0/150
提交評論