


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、開發(fā)一個計算器程序一 軟件目標(biāo)所開發(fā)軟件的目標(biāo)是開發(fā)一個基于對話框的計算器應(yīng)用程序。其所能實現(xiàn)的具體功能有加、減、乘、除、平方、開方,以及各種函數(shù)變換,并且能夠?qū)⑤斎脲e誤的數(shù)值清除后再進(jìn)行重新輸入。二 軟件設(shè)計基本操作流程VC6.0MFCxxx_1編輯框和相應(yīng)框。DLG設(shè)計對話框的內(nèi)容,如個人信息等。界面風(fēng)格而沒有添加其他的按鍵和文字,整體設(shè)計十分簡單。軟件功能模塊能按鍵。三 軟件實現(xiàn)過程用 MFCAppWizard(exe) 創(chuàng)建一個基于對話框應(yīng)用程序VC6.0MFCAppWizard(exe)。xxx_1,點擊確認(rèn)。在接下來的應(yīng)用向?qū)е羞x擇基本對話框選項,點擊完成后進(jìn)入主界面。主界面設(shè)置在
2、dialogDialog,在彈出的對話框中錄入開發(fā)者的相關(guān)信息。IDD_XXX_1_DIALOG,布置計算器主界面,如圖三添加消息映射函數(shù),編寫主程序及注釋。編寫程序的頭文件,加入程序運行必要的頭文件,包括#include string.h #include math.h #includestdlib.h 在類向?qū)е嘘P(guān)聯(lián)各個按鈕,并一一對應(yīng)編輯數(shù)字鍵所對應(yīng)的函數(shù)代碼,其他數(shù)字也按如下方式編寫void CXxx_1Dlg:OnButtoNum1() / 數(shù)字鍵 1 的響應(yīng)事件UpdateData(1); / MFC) / 如果之前沒有進(jìn)行輸入,則 1 為第一個輸入的數(shù)字m_str=1;elsem
3、_str+=1; / 如果之前有輸入,則 1 與之前輸入的數(shù)字一起組成新的數(shù)字UpdateData(0);清除按鈕的函數(shù)代碼void CXxx_1Dlg:OnButtoClear() / 清除按鍵的響應(yīng)事件UpdateData(1);m_str=; / 將編輯框的內(nèi)容清除UpdateData(0);各個符號運算UpdateData(1);if(m_str=) / 判斷前面是否有數(shù)字輸入m_str=; / 若前面無數(shù)字輸入,則點擊+無效,將顯示框還原elsem_str+=+; / 若前面有數(shù)字輸入,則將+連接到數(shù)字的后面UpdateData(0);void CXxx_1Dlg:OnButtonO
4、peration2() / -按鍵的響應(yīng)事件/UpdateData(1); if(m_str=)m_str=;elsem_str+=-;UpdateData(0);void CXxx_1Dlg:OnButtonOperation3() / *按鍵的響應(yīng)事件/UpdateData(1); if(m_str=)m_str=;elsem_str+=*;UpdateData (0);void CXxx_1Dlg:OnButtonOperation4() / /按鍵的響應(yīng)事件/UpdateData(1); if(m_str=)m_str=;elsem_str+=/;UpdateData(0);以及高級運
5、算的計算void CXxx_1Dlg:OnButtonOperation5() / 平方按鍵的響應(yīng)事件UpdateData(1);if(m_str=) / 前面沒有數(shù)字輸入,則點擊無效m_str=;elseint i=atoi(m_str); / 利用cstring 中的 atoi 函數(shù)將字符串轉(zhuǎn)換成整型類型的數(shù)字i=i*i; / 平方運算m_str.Format(%d,i); / 利用 format 函數(shù)將整數(shù)轉(zhuǎn)換為字符串類型UpdateData(0);void CXxx_1Dlg:OnButtonOperation6() / 開方按鍵的響應(yīng)事件UpdateData(1);if(m_str=
6、) / 前面沒有數(shù)字輸入,則點擊無效m_str=;elsefloat f; / 定義 float 類型的變量f,用來存儲開方的結(jié)果int num=atoi(m_str); / 利用cstring 中的 atoi 函數(shù)將字符串轉(zhuǎn)換成整型類型的數(shù)字f=sqrt(num); / 開方的函數(shù)m_str.Format(%.2f,f); / 利用 format 函數(shù)將浮點數(shù)類型轉(zhuǎn)換為字符串類型UpdateData(0);void CXxx_1Dlg:OnButtonOperation7() / sin按鍵的響應(yīng)事件UpdateData(1);if(m_str=) / 前面沒有數(shù)字輸入,則點擊無效m_str
7、=;elsefloat f=atof(m_str); / 利用 cstring 中的 atof 函數(shù)將字符串類型轉(zhuǎn)換成 float 類型,方便操作float y=sin(f); / 三角函數(shù)運算m_str.Format(%.2f,y); / 利用 format 函數(shù)將浮點數(shù)類型轉(zhuǎn)換為字符串類型UpdateData(0);void CXxx_1Dlg:OnButtonOperation8() /cos按鍵的響應(yīng)事件UpdateData(1);if(m_str=) / 前面沒有數(shù)字輸入,則點擊無效m_str=;elsefloat f=atof(m_str); / 利用 cstring 中的 ato
8、f 函數(shù)將字符串類型轉(zhuǎn)換成 float 類型,方便操作float y=cos(f); / 三角函數(shù)運算m_str.Format(%.2f,y); / 利用 format 函數(shù)將浮點數(shù)類型轉(zhuǎn)換為字符串類型UpdateData(0);void CXxx_1Dlg:OnButtonOperation9() /tan按鍵的響應(yīng)事件UpdateData(1);if(m_str=) / 前面沒有數(shù)字輸入,則點擊無效m_str=;elsefloat f=atof(m_str); / 利用 cstring 中的 atof 函數(shù)將字符串類型轉(zhuǎn)換成 float 類型,方便操作float y=tan(f); / 三
9、角函數(shù)運算m_str.Format(%.2f,y); / 利用 format 函數(shù)將浮點數(shù)類型轉(zhuǎn)換為字符串類型UpdateData(0);相應(yīng)的運算關(guān)系為for(int j=i+1,m=0;jlen;j+)latter+=m_str.GetAt(j);float s1=atof(former); / 定義 float 類型的變量s1,用來存儲將 former 字符串轉(zhuǎn)換為 float 型數(shù)字的結(jié)果。float s2=atof(latter); / 定義 float 類型的變量 s2,用來存儲將 latter 字符串轉(zhuǎn)換為 float 型數(shù)字的結(jié)果。float s3; / 定義 float 類型
10、的變量s3,用來存儲兩個數(shù)字運算之后的結(jié)果if(s2=0) / 如果除數(shù)為 0,則運算結(jié)果無效m_str=;/ 除數(shù)為零時,此次運算無效,將顯示框還原else if(ch=+) / ch 中存儲的是運算符號,將其與+,-,*,/符號一一進(jìn)行對比s3=s1+s2; / 兩數(shù)相加m_str.Format(%.2f,s3); / 利用cstring 中的 format 函數(shù)將 float 類型的數(shù)字轉(zhuǎn)換成cstring 類型的字符串else if(ch=-)s3=s1-s2; / 兩數(shù)相減m_str.Format(%.2f,s3); / 利用cstring 中的 format 函數(shù)將 float 類型的數(shù)字轉(zhuǎn)換成cstring 類型的字符串else if(ch=*)s3=s1*s2; / 兩數(shù)相乘m_str.Format(%.2f,s3); / 利用cstrin
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2020-2021深圳寶安區(qū)展華實驗學(xué)校小學(xué)三年級數(shù)學(xué)下期末第一次模擬試題(含答案)
- 2020-2021北京第一零五中學(xué)小學(xué)三年級數(shù)學(xué)下期末一模試題(及答案)
- 單軌空中列車施工方案
- 2025年新高考地理全真模擬試卷 5套(含答案解析)
- 2024年河南省中考滿分作文《不畏困難勇攀高峰》
- 專題01 地球和地圖-2025年中考地理一輪復(fù)習(xí)知識清單(背誦版)
- 個人購買柴油合同范例
- 財務(wù)業(yè)務(wù)合規(guī)程序計劃
- 手工制作社團(tuán)活動計劃
- 學(xué)習(xí)困難學(xué)生幫扶方案計劃
- 人教版(2024)七下 第二單元第1課《精彩瞬間》課件-七年級美術(shù)下冊(人教版)
- 2024天津高考英語試題及答案
- 2024中華人民共和國農(nóng)村集體經(jīng)濟(jì)組織法詳細(xì)解讀課件
- 1聚焦義務(wù)教育語文第三學(xué)段課標(biāo)、教材與教學(xué)
- 義務(wù)教育《勞動》課程標(biāo)準(zhǔn)(2022年版)
- 達(dá)格列凈的療效與安全PPT課件
- 高標(biāo)準(zhǔn)基本農(nóng)田土地整治項目工程施工費預(yù)算表
- 河南省普通高校招生考生體格檢查表
- 新三板知識測評考題答案
- 試坑單環(huán)注水試驗記錄表
- 管網(wǎng)工程停氣恢復(fù)供氣方案
評論
0/150
提交評論