模擬計(jì)算器程序C++_第1頁
模擬計(jì)算器程序C++_第2頁
模擬計(jì)算器程序C++_第3頁
模擬計(jì)算器程序C++_第4頁
模擬計(jì)算器程序C++_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、逵矽”EASTCHINAINSTHUTEOFTECHMOUJGV課程設(shè)計(jì)報告課程設(shè)計(jì)題目:模擬計(jì)算器程序?qū)W生姓名:專業(yè):班級:指導(dǎo)教師:2011年11月24日東華理工大學(xué)課程設(shè)計(jì)評分表學(xué)生姓名:陳春英班級:10211303學(xué)號:1021130304課程設(shè)計(jì)題目:模擬計(jì)算器程序容內(nèi)目項(xiàng)g評實(shí)選題求題選合符0知程課1時題合人結(jié)5hhz(厶冃Orm理合易難中適作工o能力水平定識知學(xué)所用應(yīng)練熟匕匕厶冃oo-三、工加、加等應(yīng)圖能制o解見特獨(dú)有o成果質(zhì)量0求合指rm理合o臥構(gòu)準(zhǔn)結(jié)語、肘暢術(shù)流技一一口、語確、正明論分立何主冃學(xué)缶科概何艷析宀五分練;晰簡理清述含W綜謹(jǐn)版書嚴(yán)、明論謹(jǐn)說結(jié)嚴(yán)格0全號準(zhǔn)編標(biāo)統(tǒng)合號符

2、符,kt理準(zhǔn)合范oo分總00日月年設(shè)計(jì)目標(biāo)設(shè)計(jì)內(nèi)容設(shè)計(jì)思想設(shè)計(jì)說明設(shè)計(jì)步驟主要成員函數(shù)關(guān)系圖程序主要代碼難點(diǎn)分析9.總結(jié)模擬計(jì)算器1設(shè)計(jì)目標(biāo)了解Windows應(yīng)用程序的結(jié)構(gòu)與DOS程序的不同,掌握應(yīng)用MFC類庫編寫Windows應(yīng)用程序的基本模式。2設(shè)計(jì)內(nèi)容以簡易計(jì)算器為例,通過對簡單應(yīng)用軟件計(jì)算器的設(shè)計(jì),編制、調(diào)試,實(shí)現(xiàn)簡單的加,減,乘,除等運(yùn)算,以學(xué)習(xí)應(yīng)用MFC庫類編寫對話框的原理,加深對C+類的學(xué)習(xí)及應(yīng)用。3.設(shè)計(jì)思想基于MFC庫類對對話框界面的設(shè)計(jì),通過創(chuàng)建類成員函數(shù)成員變量,編輯控件創(chuàng)建消息映射,調(diào)用消息函數(shù)完成數(shù)據(jù)的輸入輸出,實(shí)現(xiàn)計(jì)算功能。生成簡單的應(yīng)用軟件。4.設(shè)計(jì)說明包含的功能

3、有:加、減、乘、除運(yùn)算等功能。計(jì)算器上數(shù)字09為一個控件數(shù)組,加、減、乘、除為一個控件數(shù)組,其余為單一的控件。輸入的原始數(shù)據(jù)、運(yùn)算中間數(shù)據(jù)和結(jié)果都顯示在窗口頂部的同一個標(biāo)簽中。計(jì)算功能基本上是用系統(tǒng)內(nèi)部函數(shù)。程序可以能自動判斷輸入數(shù)據(jù)的正確性,保證不出現(xiàn)多于一個小數(shù)點(diǎn)、以0開頭等不正?,F(xiàn)象。“CE”按鈕可以清除所有已輸入的數(shù)據(jù)從頭計(jì)算5.設(shè)計(jì)步驟(1)選擇FileNewlProject命令,選擇MFCAppWizard(exe)創(chuàng)建Project名為Caa,按確定。在彈出界面選擇創(chuàng)建對話框,單擊Finish按鈕匝計(jì)算祗制作人2邱蠱威杜藝忠X(3)為控件編輯框編輯ID,如圖:按鈕名稱ID用途0I

4、DC_0按鍵01IDC_1按鍵12IDC_2按鍵23IDC_3按鍵34IDC_4按鍵45IDC_5按鍵56IDC_6按鍵67IDC_7按鍵78IDC_8按鍵89IDC_9按鍵9IDC_dian按鍵+/-IDC_zhengfu正負(fù)+IDC_jia加-IDC_jian減*IDC_cheng乘/IDC_chu除CEIDC_qinglin清零sqrtIDC_sqrt開方x*xIDC_pingfang平方=IDC_dengyu等于編輯框IDC_E1顯示數(shù)據(jù)輸入輸出編輯框IDC_E1顯示數(shù)據(jù)輸入輸出(4)進(jìn)入ClassWizard界面選擇MessageMaps為控件插入消息映射,插入消息函數(shù),實(shí)現(xiàn)控件命令

5、功能。如圖:(5)進(jìn)入ClassWizard界面MessageVaribles為編輯框添加成員變量m_result用以顯示結(jié)果。如圖FCClassTicard?XMessageMapsMemberVariablesAnriomatlnnActiveXEventsClsssInto6.主要成員函數(shù)關(guān)系圖7.程序主要代碼#includeviostream.hclasscalculatorpublic:/外部接口friendvoidsee();friendvoidfunction(chari);friendvoidcaculate(doublea,charop,doubleb);private:ch

6、arop,i,D;/op定義為某個運(yùn)算符號doublea,b;doubleanswer;voidfunction(chari)/定義功能函數(shù)charop,D;doublea,b;if(i=A)system(cls);如果是A,則清屏,調(diào)用清屏函數(shù)see();coutvv請輸入兩個數(shù)及運(yùn)算符vvendl;實(shí)現(xiàn)二次操作的語句cinaopb;coutvv按=號計(jì)算結(jié)果vvendl;cinD;if(D=)caculate(a,op,b);/調(diào)用計(jì)算函數(shù)if(i=C)see();coutvv請輸入兩個數(shù)及運(yùn)算符vvendl;cinaopb;coutvv按=號計(jì)算結(jié)果vvendl;cinD;if(D=)c

7、aculate(a,op,b);/調(diào)用計(jì)算函數(shù)if(i!=A|i!=C)coutvv輸入有錯!請重新輸入ooovvendl;coutvv清屏按A!清除按Cvvendl;cini;function(i);voidcaculate(doublea,charop,doubleb)/定義計(jì)算函數(shù)chari;doubleanswer;coutvvttttttvv輸出結(jié)果:;switch(op)/用switch語句定義加減乘除case+:answer=a+b;couta+b=answerendl;break;case-:answer=a-b;couta-b=answerendl;break;case*:a

8、nswer=a*b;couta*b=answerendl;break;case/:if(b!=0)answer=a/b;couta/b=answerendl;break;elsecouterror!endl;break;default:couterror!i;function(i);voidsee()couttendl;coutt歡迎使用計(jì)算器endl;couttendl;coutendl;coutendl;cpp#include#include/包含清屏函數(shù)的頭文件#include2.hcalculatorc;voidmain()see();charop,i,D;/op定義為某個運(yùn)算符號do

9、ublea,b;coutvv輸入兩個數(shù)及運(yùn)算符:;cinaopb;coutvv按=號計(jì)算結(jié)果vvendl;cinD;if(D=)caculate(a,op,b);/調(diào)用計(jì)算函數(shù)8難點(diǎn)分析在利用MFC編寫計(jì)算器過程中,遇到的技術(shù)上的問題,及解決方法。例如:計(jì)算數(shù)輸入的處理在程序中使用m_operand來存儲當(dāng)前的輸入。而程序只使用一個函數(shù)來處理所有數(shù)字輸入,也就是說每次單擊數(shù)字按鈕就會調(diào)用該函數(shù)。由于計(jì)算數(shù)不僅僅是個位數(shù),因此用戶可能需要單擊幾個數(shù)字按鈕來完成一個計(jì)算數(shù)的輸入,這樣在每次輸入時都必須將輸入的數(shù)字累加入m_operand中。而且對于小數(shù)輸入和整數(shù)輸入也必須采取不同的累加方式。如對整

10、數(shù)的輸入,累加方式為:m_operand=m_operand*10+n;其中n為輸入的數(shù)字。而對于小數(shù)輸入,累加方式為:m_operand=m_operand+n*10i;其中n為數(shù)字,i為小數(shù)位數(shù)。因此在程序中還需設(shè)立布爾型變量m_coff的值來標(biāo)識當(dāng)按下按鈕小數(shù)點(diǎn)的時候來確定調(diào)用哪個累加方式。自定義消息處理函數(shù)、成員函數(shù)、變量在添加自定義函數(shù)、變量時需注意函數(shù)及變量的聲明在頭文件中如:CaaDlg.h;而函數(shù)的實(shí)現(xiàn)部分及變量的初始在執(zhí)行文件中如:CaaDlg.cpp。值得提醒的是手動添加消息處理函數(shù)時,需聲明在頭文件/AFX_MSG(CCaaDlg)/AFX_MSG中的部分。而添加消息映射

11、在執(zhí)行文件AFX_MSG_MAP(CCaaDlg)/AFX_MSG_MAP中的部分。最后將消息處理函數(shù)添加到執(zhí)行文件末即可。9總結(jié)課程設(shè)計(jì)到此已告一段落,經(jīng)過團(tuán)隊(duì)的努力,在將近一個月的實(shí)踐中課程設(shè)計(jì)基本完成了。從中學(xué)到很多有用的知識,也積累了不少寶貴的經(jīng)驗(yàn)。從一開始對MFC這樣一個陌生的類庫名詞,在不斷的翻閱書籍學(xué)習(xí)中開始漸漸的有所了解,雖然在此次課程設(shè)計(jì)我們只是針對性的去學(xué)習(xí)對對話框應(yīng)用程序的編程模式,但也體會到了MFC這類庫的博大精深。想全部了解這樣一個類庫,今后還需多下功夫。本次課程設(shè)計(jì)我們完成了一個簡易計(jì)算器應(yīng)用軟件,在此期間,遇上了不少的技術(shù)難題,但是經(jīng)過努力,通過查找資料,難題還是一個個被解決了,從中學(xué)到了許多課堂上沒學(xué)到的東西,這是很值得高興的。經(jīng)過設(shè)計(jì)的各個環(huán)節(jié),從中學(xué)到了很多,鍛煉了系統(tǒng)的設(shè)計(jì)的能力,培養(yǎng)了團(tuán)隊(duì)分工合作精神。這樣對我們以后在工作中或?qū)W習(xí)中得到很好的鍛煉,為用

溫馨提示

  • 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

提交評論