肥城市氣象局 山東 肥城 271600
計算器是人們?nèi)粘I詈凸ぷ魇聞?wù)中都非常常用的計算工具。計算器的發(fā)明與使用,使人工計算數(shù)字的難度大大降低,而且還提高了計算的準(zhǔn)確度以及精確度。對于人們而言,是非常便捷實(shí)用、必不可少的工具??墒侨缃窈芏嘤嬎闫鞯墓πб催^于簡單化,要么功效過于繁雜過于龐大。根據(jù)目前這種情況,基于VC++的MFC對話框簡易計算器有著簡潔大方的布局,可以與用戶實(shí)時交互,可以快捷、簡單地進(jìn)行必要的操作。此款簡易計算器可以單擊按鈕進(jìn)行操作,計算結(jié)果可以即時的出現(xiàn)在文本編輯框中,大大降低了人工計算的難度并且縮短了計算時間。這個簡易計算器不僅比普通計算器的功能更強(qiáng)大,而且還能提高準(zhǔn)確度。本次設(shè)計的簡易計算器實(shí)現(xiàn)了功能的多樣化,應(yīng)用者可以得心應(yīng)手,容易操作并且直觀的看到結(jié)果,應(yīng)用者的選擇性增加,使用領(lǐng)域擴(kuò)大了很多,更加符合如今社會使用者的需求。
編寫基于VC++的簡易計算器,需要具有如下功能。
利用MFC應(yīng)用程序模板創(chuàng)建基于對話框的簡易計算器,是窗口界面的計算器,要求是簡潔大方的布局,對齊方式需要一致。
在單機(jī)條件下點(diǎn)擊需要運(yùn)算的按鈕輸入數(shù)據(jù),數(shù)據(jù)展示在文本框中,文本框中的數(shù)據(jù)對齊方式為右對齊,響應(yīng)時間要盡可能的短。
在單機(jī)條件下四則運(yùn)算能夠準(zhǔn)確完成,即加法、乘法、減法、除法,對精度有一定限制,輸入精度可以不做要求,輸出精度必須轉(zhuǎn)化為雙精度[5]。
在單機(jī)條件下可以進(jìn)行開平方運(yùn)算,通過點(diǎn)擊需要開平方的數(shù)字的按鈕,然后點(diǎn)擊開平方符號按鈕,無需點(diǎn)擊等號按鈕即可在文本框中顯示出正確答案。
3.1.1 經(jīng)濟(jì)可行性分析 本次設(shè)計的簡易計算器開發(fā)較為簡單,所用的開發(fā)工具、環(huán)境和軟件都是不收費(fèi)的。而且,此計算器能夠在將來較長的一段時間內(nèi)穩(wěn)定地發(fā)揮其作用,這對于用戶的計算需求來說具有很大的幫助。因而可知,開發(fā)設(shè)計此計算器在經(jīng)濟(jì)上是可行的。
3.1.2 操作可行性分析 本次設(shè)計使用的編程系統(tǒng)為Visual C++,開發(fā)環(huán)境為Visual Studio 2012,使設(shè)計出來的系統(tǒng)具有簡潔大方的控制界面,簡約實(shí)用的操作方式,使得使用人員在對于系統(tǒng)原理不甚了解的情況下就可以對本系統(tǒng)進(jìn)行操作和管理。
3.2.1 精度分析
輸入精度:關(guān)于輸入精度并沒有詳細(xì)要求,只需輸入在合法范圍內(nèi);
輸出精度:輸出均為雙精度;
3.2.2 時間特性分析
響應(yīng)時間:本次設(shè)計對于合法運(yùn)算的響應(yīng)應(yīng)保持在0.1秒內(nèi)完成,對于較大數(shù)據(jù)或者非法輸入的響應(yīng)必須要在1秒之內(nèi)結(jié)束。
圖3-1 系統(tǒng)結(jié)構(gòu)模塊圖
4.2.1 創(chuàng)建項(xiàng)目 啟動Visual Studio 2012,點(diǎn)擊“文件”,選擇“新建”,然后點(diǎn)擊“項(xiàng)目”,在“已安裝”中選擇Visual C++中的 MFC,然后點(diǎn)擊“MFC應(yīng)用程序”模板,在名稱中輸入文件名“Calc 2”,根據(jù)自己的需求選擇合適的存放位置,解決方案無需更改,使用默認(rèn)的即可,解決方案名稱輸入“Calculator”,新建項(xiàng)目到此處就結(jié)束了。然后,打開 “MFC應(yīng)用程序向?qū)А薄T凇皯?yīng)用程序類型”設(shè)置中,點(diǎn)擊“基于對話框”,項(xiàng)目類型選擇“MFC標(biāo)準(zhǔn)”,其他根據(jù)自己需要修改,確定應(yīng)用程序類型以及項(xiàng)目類型,再選擇用戶界面功能和高級功能以及生成的類,無特殊要求可直接使用默認(rèn)選項(xiàng),最后單擊“完成”。
4.2.2 布局控件 控件是可視化編程設(shè)計中十分重要的一部分,是一種特定類型的輸入、輸出窗口。在完成添加項(xiàng)目之后,先刪除對話框編輯器中默認(rèn)的控件,在右側(cè)工具箱中用鼠標(biāo)單擊要添加的按鈕、文本編輯框等,按照自己的設(shè)想布局控件。在菜單欄的格式中,將控件的對齊方式及格式統(tǒng)一,再通過控件的屬性進(jìn)行命名各控件。
5.1 測試目的 為了可以使本次設(shè)計的簡易計算器能夠正常運(yùn)行,在設(shè)計的最后部分進(jìn)行設(shè)計最后的一個步驟——系統(tǒng)測試。對簡易計算器進(jìn)行測試的目的是為了檢查計算器的功能是否滿足人們的計算需求,查找與實(shí)際計算需求不符合的地方,使開發(fā)設(shè)計人員能夠察覺出不合理的部分,調(diào)整為更合理、更實(shí)用的簡易計算器。
5.2 測試方法 系統(tǒng)測試就是把簡易計算器的各功能模塊組裝成一個完整的系統(tǒng),并測試各個運(yùn)算控件的性能,查找是否存在設(shè)計上的缺陷或者是代碼書寫的錯誤,能否達(dá)到預(yù)期的效果并滿足不同用戶的計算需求。
論文在簡易計算器的需求分析、設(shè)計步驟、系統(tǒng)測試、系統(tǒng)展示方面都進(jìn)行了全面細(xì)致的介紹。簡易計算器的各項(xiàng)功能基本合乎設(shè)計需求,能夠滿足社會使用者的基本使用要求。由于水平有限,對相關(guān)理論知識的理解十分淺顯,在文章中難免有錯誤和不足之處,對設(shè)計模式的了解不夠深入,編程方面十分薄弱,寫代碼時走了不少彎路,參考了很多相關(guān)資料,而且系統(tǒng)還有部分功能需完善。在論文的編寫過程以及計算器的設(shè)計過程中,認(rèn)識到了所學(xué)的理論知識與實(shí)踐并不是統(tǒng)一的。在將理論知識轉(zhuǎn)換為實(shí)踐的過程中,遇到了很多課本上沒有提及到的問題,面對層出不窮的難題,實(shí)在讓人迷茫。課本上的知識只是引領(lǐng)人們進(jìn)入這一領(lǐng)域的敲門磚,更深入的知識是在實(shí)踐的過程中慢慢積累的,在經(jīng)過一次次摸索與調(diào)試之后就會發(fā)現(xiàn)問題所在。