![計(jì)算器的實(shí)驗(yàn)報(bào)告_第1頁(yè)](http://file4.renrendoc.com/view/003248042e1f643dbd92383b0ce8986a/003248042e1f643dbd92383b0ce8986a1.gif)
![計(jì)算器的實(shí)驗(yàn)報(bào)告_第2頁(yè)](http://file4.renrendoc.com/view/003248042e1f643dbd92383b0ce8986a/003248042e1f643dbd92383b0ce8986a2.gif)
![計(jì)算器的實(shí)驗(yàn)報(bào)告_第3頁(yè)](http://file4.renrendoc.com/view/003248042e1f643dbd92383b0ce8986a/003248042e1f643dbd92383b0ce8986a3.gif)
![計(jì)算器的實(shí)驗(yàn)報(bào)告_第5頁(yè)](http://file4.renrendoc.com/view/003248042e1f643dbd92383b0ce8986a/003248042e1f643dbd92383b0ce8986a5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課題名稱:課題名稱:學(xué)生學(xué)號(hào):專業(yè)班級(jí):學(xué)生姓名:郵電與信息工程學(xué)院課程設(shè)計(jì)說(shuō)明書mfc制作簡(jiǎn)單計(jì)算器系統(tǒng)軟件綜合設(shè)計(jì)1002030218計(jì)算機(jī)科學(xué)與技術(shù)02班孫志宏指導(dǎo)教師:楊玉落一.題目:利用MFC框架編寫簡(jiǎn)易計(jì)算器要求使用MFC框架在VisualStudio6.0環(huán)境下編寫一個(gè)簡(jiǎn)易的計(jì)算器,支持任意位數(shù)的加減乘數(shù),正負(fù)轉(zhuǎn)換,并且實(shí)現(xiàn)BackspaceCEC功能。二.設(shè)計(jì)過(guò)程1.Windows消息處理機(jī)制的理解首先編寫程序需要對(duì)Windows程序的消息處理機(jī)制(MessageHandle)有個(gè)比較清晰的了解。Windows的程序都是通過(guò)消息來(lái)傳送數(shù)據(jù),有不需要用戶參與的系統(tǒng)消息,比如異常處理等。還有用戶消息,比如鼠標(biāo)的單擊,雙擊,鍵盤的鍵入等。界面的設(shè)計(jì)仿照Windows附件里面的計(jì)算器,在資源視圖中畫好界面,如圖:主要使用到Layout菜單中的Align功能對(duì)各個(gè)按鈕進(jìn)行對(duì)其,使界面更加整潔。拖出的控件有上面的一個(gè)Edit控件用于顯示數(shù)字,Button控件用于處理鼠標(biāo)的消息。2.建立的變量,控件的命名,對(duì)應(yīng)的消息處理函數(shù)對(duì)應(yīng)表3變量定義,以及初始化longmtiFiist,a; 定義兩個(gè)長(zhǎng)整型變量ifirst,aintiType; 定義整形變量iTypelongmtiRet=0; 定義一個(gè)長(zhǎng)整型變量iRet并初始化4設(shè)計(jì)思路1我制作的是簡(jiǎn)單的計(jì)算器,可以加減乘除,以及清零。所以我們先應(yīng)把計(jì)算器的界面設(shè)計(jì)出來(lái)。。分?jǐn)?shù)字鍵和功能鍵2數(shù)字鍵0,1,2,3,4,5,6,7,8,9這10個(gè)命令按鈕控制的數(shù)字鍵,在編寫數(shù)字鍵代碼時(shí),我考慮了比如111的輸出,我們可以用m_edit=m_edit*10-n(n代表你下一步所需按的鍵),這樣你當(dāng)前的文本框會(huì)顯示出你想得到的數(shù),還有我們輸入的都是數(shù)字,所以我采用的是長(zhǎng)整型輸入數(shù)據(jù)3功能鍵+-*/以及清零鍵CE,其中這里我們這些功能鍵并不是直接來(lái)運(yùn)行的而是把他們當(dāng)作一種標(biāo)志分別標(biāo)志為1234,真正執(zhí)行運(yùn)算功能的是等于鍵=4等于鍵= 這里我們采用swichcash語(yǔ)句來(lái)執(zhí)行運(yùn)算的功能的,當(dāng)讀到標(biāo)志為1時(shí),即為加法,執(zhí)行加法功能°。。以此類推5程序代碼在這里我就把整個(gè)程序代碼寫下來(lái),,就寫我們的數(shù)字和功能鍵部分的代碼把下面是數(shù)字鍵代碼voidCJisuanlDlg::OnOQ{m_edit=m_edit*10+0;這里我們采用這個(gè)表達(dá)式是想把數(shù)字連起來(lái)顯示在文本框中UpdateData(false); 你在程序里面改了變量的值.把這個(gè)變化反應(yīng)到界面上..更新顯示..}voidCJisuanlDlg::OnlQ{m_edit=m_edit*10+1;UpdateData(false);}voidCJisuanlDlg::Oii2Q{inedit=medit*10+2;UpdateData(false);//TODO:Addyourcontrolnotificationhandlercodehere}voidCJisuan1Dig::On3Q{medit=medit*10+3;UpdateData(false);//TODO:Addyourcontrolnotificationhandlercodehere}voidCJisuanlDig::On4Q{m_edit=m_edit*10+4;UpdateData(false);//TODO:Addyourcontrolnotificationhandlercodehere}voidCJisuanlDig::On5Q{m_edit=m_edit*10+5;UpdateData(false);//TODO:Addyouicontrolnotificationhandlercodehere}voidCJisuanlDig::On6Q(m_edit=m_edit*10+6;UpdateData(false);//TODO:Addyourcontrolnotificationhandlercodehere}voidCJisuanlDig::On7Q(m_edit=m_edit*10+7;UpdateData(false);//TODO:Addyourcontrolnotificationhandlercodehere}voidCJisuanlDig::On8Q(m_edit=m_edit*10+8;UpdateData(false);//TODO:Addyourcontrolnotificationhandlercodehere}voidCJisuanlDig::Oii9Q{medit=medit*10+9;UpdateData(false);}下面是功能鍵的代碼:voidCJisuanlDig::OnCheng(){正H-st=m_edit; ifust是我們定義的長(zhǎng)整型變量,第一個(gè)值顯示在文本框上iType=3; 3是乘的標(biāo)志m_edit=0; 這里文本框重新顯示為0UpdateData(false);刷新并使文本框中顯示為0}voidCJisuanlDig::OnChu(){iFiist=m_edit;iType=4;m_edit=0:UpdateData(false);}卜面是執(zhí)行運(yùn)算的代碼即=鍵的代碼voidCJisuanlDig::OiiDengyuQlongintiRet=0;定義一個(gè)長(zhǎng)整型變量iRet并初始化switch(iType)采用switchcash語(yǔ)句{case1:當(dāng)iType為1即為加法時(shí)iRet=iFirst+m_edit;等于第一個(gè)數(shù)加上當(dāng)前文本框中顯示的數(shù),結(jié)果并賦予iRetbreak;case2:iRet=iFirst-m_edit;break;case3:iRet=iFirst*ni_edit;break;case4:if(m_edit!=0)如果除一個(gè)不為0的數(shù)的(iRet=iFirst/m_edit;break;)else否則(MessageBox(Hcan*tusezero!”);)return:}m.edit=iRet;UpdateData(false);iFirst=O;iType=0;}voidCJisuanlDlg::OiiJia(){iFiist=m_edit;iType=l;m_edit=0;UpdateData(false);}voidCJisuanlDig::OiiJian()iFiist=m_edit;iType=2;m_edit=O:UpdateData(false);}下面是清零鍵代碼voidCJisuanlDig::OnQinglmgO{iFirst=O;第一個(gè)數(shù)重新為0iType=0;標(biāo)志為0m_edit=0;當(dāng)前文本框中顯示為0UpdateData(false);刷新}voidCJisuanlDig::OnChangeEditl(){}6運(yùn)行界面比如我們想算158+232=?先輸入158,界面如下馳jisuanl15S11L^J3|+14161-|7118|。1*I01CE|=1然后按命令按鈕界面如下11213|+|4|5|'1」-|718|91*|°1CE=1/|輸入232得到卜面界而馳jisuianl232最后單擊“=”按鈕得到390參考的文獻(xiàn):C++面向?qū)ο蟪绦蛟O(shè)計(jì)譚浩強(qiáng)編著清華大學(xué)出版社MFC,微軟基礎(chǔ)類(MicrosoftFoundationClasses)總結(jié): 一本次MFC計(jì)算器的制作,學(xué)習(xí)到了MFC基本的編程方法,增加了小組開發(fā)的團(tuán)結(jié)協(xié)作能力。對(duì)OOP編程的理解進(jìn)一步
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025個(gè)人商鋪?zhàn)赓U合同范本(含租賃用途變更及租金調(diào)整)
- 2020-2025年中國(guó)廣播系統(tǒng)行業(yè)市場(chǎng)調(diào)查研究及投資前景預(yù)測(cè)報(bào)告
- 2025年度保密信息交換合作協(xié)議標(biāo)準(zhǔn)版
- 2025年度數(shù)據(jù)中心制冷系統(tǒng)機(jī)電安裝工程合同范本
- 2025年度體育賽事贊助合同協(xié)議
- 2025年中國(guó)筆記本電腦市場(chǎng)發(fā)展現(xiàn)狀調(diào)研及投資趨勢(shì)前景分析報(bào)告
- 糧食儲(chǔ)備庫(kù)項(xiàng)目建設(shè)周期
- 2025年中國(guó)咖啡店連鎖行業(yè)市場(chǎng)運(yùn)營(yíng)現(xiàn)狀及行業(yè)發(fā)展趨勢(shì)報(bào)告
- 2025年度建筑地基基礎(chǔ)施工補(bǔ)充協(xié)議范本規(guī)范
- 2025年度建筑工程施工合同材料供應(yīng)合同規(guī)范范本
- 2025-2030年中國(guó)科教玩具行業(yè)發(fā)展動(dòng)態(tài)及前景趨勢(shì)分析報(bào)告新版
- 馬匹寄養(yǎng)協(xié)議書
- 股權(quán)投資項(xiàng)目建議書
- 2025年北京廣播電視臺(tái)招聘(140人)歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年中國(guó)電信集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年全國(guó)計(jì)算機(jī)二級(jí)等級(jí)考試全真模擬試卷及答案(共九套卷)
- 2024復(fù)工復(fù)產(chǎn)安全培訓(xùn)
- 2025中國(guó)南光集團(tuán)限公司校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 機(jī)加工行業(yè)安全生產(chǎn)風(fēng)險(xiǎn)辨識(shí)及控制清單
- 江蘇省蘇州市2024-2025學(xué)年第一學(xué)期八年級(jí)數(shù)學(xué)期末模擬卷(一)(無(wú)答案)
- 呼吸科護(hù)理組長(zhǎng)述職報(bào)告
評(píng)論
0/150
提交評(píng)論