C語言程序設(shè)計編程任務(wù)書-計算器_第1頁
C語言程序設(shè)計編程任務(wù)書-計算器_第2頁
C語言程序設(shè)計編程任務(wù)書-計算器_第3頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論