VB計算器專案演算法結構分析
還是做得不太好,多多指教啊,關注這方面的
初始化:螢幕數字【dataout.Caption】為0
1.第一個因數的提取
當是第一次點選數字時(程式初始化時,結果已經計算出準備下一次時,清零鍵按下時)
--【dataout.Caption】=””
--【dataout.Caption】=dataout.Caption& Index
解釋:此處的目的是:點選後初始的螢幕數字變為點選的數字,之後點選的進行拼接
當不是第一次點選時
--【dataout.Caption】=dataout.Caption& Index
需要考慮的問題是:此處計算機工作標準resflag是未完成的
此出預先解釋下,數字0-9,符號+-*/是兩個數字陣列按鈕控制的,關於如何做出來,以數字0-9按鈕為例:
這 10 個按鈕使用的名稱都是num,
只是 Index 屬性不同,就好象一個陣列,創立一組按鈕的方法是,先在窗體上建
立一個按鈕(num),然後在 num上擊滑鼠右鍵,選擇複製(Copy),
然後在窗體上任意部位擊右鍵,選擇貼上(Paste),系統會提示是否建立控制元件組,
選擇“是”,重複上面步驟,直至創立 10個按鈕為止。
2關於符號的提取
符號陣列sign對應的每一個元素都有唯一的Index
當觸發時,完成兩件事:
1.情況:需考慮【dataout.Caption】的非法性,
行為:將【dataout.Caption】賦值給全域性變數Num1,需要字串到數值的轉換,有 value,clng,cint各種。考慮到小數的計算,使用了value
辦法:【dataout.Caption】!=“”
2.情況:需考慮當+-*/點選多次時
行為:將每個符號對應的index賦值給全域性變數signope(rate)
辦法:當點選多次時,直接不管他,使用exit sub
3.關於結果的結算
利用”=”按鈕的點選操作
3.1對第二個因數的取值
首先解釋為什麼上圖中為什麼在將第一個因數提取後將【dataout.Caption】清空?
因為這個版本的計算器是利用螢幕的字串來轉換為浮點型數字來確定的,如果為了 效果將+-*/(其他符號如(),sin,con,tan等)顯示在屏上的話,第二個因數很難提取, 迄今還未想好,(大神看到的話,提示下,謝啦)不得不用這種方法來提取
Eg: Num2=val(dataout.Caption);
3.2要考慮該操作是在計算狀態下的操作,否則結果已經計算完成,當你不停點選”=” 按鈕,記憶體中的因數:num1和Num2仍不停操作
解決辦法:利用resflag標誌位:
If not resflag then
計算
Else
螢幕顯示上一個計算結果
3.2根據全域性變數符號標誌來確定+-*/操作
在符號按鈕陣列中,利用Index(是不是和上2類似)確定,使用VB中的select語句。
問題1:考慮分母為0的情況
辦法:在是除法且分母為零時,特別輸出為“無窮”
問題2:當只用一個因數,卻按下一個符號時,令螢幕顯示第一個因數
當直接按下=按鈕,令螢幕顯示上一個結果
注意的地方:結果計算完成後、清零按鈕後,就要像程式剛啟動時思考了:
計算完成後的狀態改變標誌位:計算完成標誌resflag清0,小數點標誌清0,第一個數標誌清0
額外按鈕,直接貼程式碼吧,暈了
Backspace按鈕:
清零C按鈕
小數點按鈕.
避免多次出現小數點
相關文章
- 用VB寫計算器
- 結對專案-增強型科學計算器
- Webstorm 新建 Express 專案結構分析WebORMExpress
- 計算機處理器結構計算機
- 結對專案:複利計算
- vue-cli#2.0專案結構分析Vue
- vue-cli#4.7專案結構分析Vue
- 【UniApp】-uni-app-專案計算功能(蘋果計算器)APP蘋果
- 專案結構
- 小程式的專案結構設計
- 結對程式設計專案-四則運算程式設計
- SpeedFlash註冊演算法分析(VB)演算法
- VB計算圓周率的方法
- wsdl檔案結構分析
- 練手小專案(二):計算器(說明文件)
- ThinkPHP修改專案結構PHP
- 計算機常用英語詞彙 —— 資料結構與演算法計算機資料結構演算法
- 專案竣工決算審計與工程結算稽核的區別(轉)
- 計算機體系結構計算機
- 計算機微機結構計算機
- 計算機組成結構計算機
- 修改記事本PE結構彈計算器Shellcode
- 資料結構:初識(資料結構、演算法與演算法分析)資料結構演算法
- 資料結構和演算法分析資料結構演算法
- 如何構建「大型 Node.js 專案」的專案結構?Node.js
- 工程專案竣工結算管理(轉)
- 結對專案四則運算
- 專案組織結構設計或選擇(轉)
- 專案組織結構設計與選擇(轉)
- Rust程式設計與專案實戰-結構體Rust程式設計結構體
- REdis AOF檔案結構分析Redis
- Go 語言—資料結構和演算法專案推薦Go資料結構演算法
- 專案成本管理計算公式公式
- vue-cli 專案結構Vue
- 資料結構與演算法分析——連結串列資料結構演算法
- 《計算機組成與體系結構》——8.2機器指令計算機
- 【資料結構與演算法】位運算資料結構演算法
- 計算機的微機結構計算機