![計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)C 實(shí)踐報(bào)告_第1頁(yè)](http://file4.renrendoc.com/view/a8eb9f8b545b89693501937b4f4b69b8/a8eb9f8b545b89693501937b4f4b69b81.gif)
![計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)C 實(shí)踐報(bào)告_第2頁(yè)](http://file4.renrendoc.com/view/a8eb9f8b545b89693501937b4f4b69b8/a8eb9f8b545b89693501937b4f4b69b82.gif)
![計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)C 實(shí)踐報(bào)告_第3頁(yè)](http://file4.renrendoc.com/view/a8eb9f8b545b89693501937b4f4b69b8/a8eb9f8b545b89693501937b4f4b69b83.gif)
![計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)C 實(shí)踐報(bào)告_第4頁(yè)](http://file4.renrendoc.com/view/a8eb9f8b545b89693501937b4f4b69b8/a8eb9f8b545b89693501937b4f4b69b84.gif)
![計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)C 實(shí)踐報(bào)告_第5頁(yè)](http://file4.renrendoc.com/view/a8eb9f8b545b89693501937b4f4b69b8/a8eb9f8b545b89693501937b4f4b69b85.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEPAGE10“計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C++)”課程設(shè)計(jì)報(bào)告1引言通過(guò)實(shí)踐加強(qiáng)對(duì)程序設(shè)計(jì)語(yǔ)言課程知識(shí)點(diǎn)的理解和掌握,培養(yǎng)對(duì)課程知識(shí)綜合運(yùn)用能力、實(shí)際分析問(wèn)題能力及編程能力,養(yǎng)成良好的編程習(xí)慣。
通過(guò)實(shí)踐進(jìn)一步領(lǐng)會(huì)程序設(shè)計(jì)的特點(diǎn)和應(yīng)用,提高運(yùn)用C++
語(yǔ)言以及面向?qū)ο笾R(shí)解決實(shí)際問(wèn)題的能力。
通過(guò)實(shí)踐掌握用C++
語(yǔ)言編寫面向?qū)ο蟮膶?shí)用程序的設(shè)計(jì)方法,對(duì)面向?qū)ο蠓椒ê退枷朐黾痈行缘恼J(rèn)識(shí);
學(xué)會(huì)利用C++程序設(shè)計(jì)語(yǔ)言編寫出一些短小、可靠的Windows實(shí)用程序,切實(shí)提高面向?qū)ο蟮某绦蛟O(shè)計(jì)能力。為后續(xù)的相關(guān)課程的學(xué)習(xí)打下基礎(chǔ)。2總體設(shè)計(jì)參照windows7系統(tǒng)提供的計(jì)算器,設(shè)計(jì)一個(gè)基于MFC框架的科學(xué)型計(jì)算器,具有雙目運(yùn)算和單目運(yùn)算功能。雙目運(yùn)算符包含基本的四則運(yùn)算及乘冪功能,單目運(yùn)算符包含正余弦(利用泰勒多項(xiàng)式近似),階乘,對(duì)數(shù),開(kāi)方,倒數(shù)等運(yùn)算。可對(duì)輸入任意操作數(shù),包括小數(shù)和整數(shù)及正數(shù)和負(fù)數(shù)進(jìn)行以上的所有運(yùn)算并能連續(xù)運(yùn)算。同時(shí)包含清除,退出功能。并將對(duì)話框和菜單欄整合。3詳細(xì)設(shè)計(jì)一、利用MicrosoftVisualC++6.0建立工程文件,在對(duì)話框窗體上順序創(chuàng)建0到9十個(gè)數(shù)字按鈕,并設(shè)置其ID分別為IDC_BUTTON_0到IDC_BUTON_9,同時(shí)創(chuàng)建其他按鈕并設(shè)置ID。最終主要控件如圖1所示:圖1二、向CMyDlg類中添加如表2的成員變量:變量名稱變量類型變量屬性M_nDotNoIntpublicM_nDotSignIntpublicM_dPredoublepublicM_dCurdoublepublicM_dNextdoublepublicM_strPreCStringpublicM_strCurCStringpublicM_strNextCStringpublic表2三、在CMyDlg的BOOLCMyDlg::OnInitDialog()函數(shù)中進(jìn)行成員變量初始化,初始化代碼如圖2所示圖3四、通過(guò)MFC的“建立類向?qū)А毕駽MyDlg類中添加各按鈕的BN_CLICKED消息處理函數(shù),如表4所示(列出部分消息處理函數(shù)):按鈕的ID值消息函數(shù)名按鈕的ID值消息函數(shù)名IDC_BUTTON_0OnButton0()IDC_BUTTON_xdxcfOnButtonxdxcf()IDC_BUTTON_1OnButton1()IDC_BUTTON_dotOnButtondot()IDC_BUTTON_2OnButton2()IDC_BUTTON_mulOnButtonmul()IDC_BUTTON_lgOnButtonlg()IDC_BUTTON_addOnButtonadd()IDC_BUTTON_CEOnButtonCE()IDC_BUTTON_jiechengOnButtonjiecheng()IDC_BUTTON_COnButtonC()IDC_BUTTON_sinhOnButtonsinh()IDC_BUTTON_ExpOnButtonExp()IDC_BUTTON_tanOnButtontan()IDC_BUTTON_ModOnButtonMod()IDC_BUTTON_cosOnButtoncos()IDC_BUTTON_314OnButton314()IDC_BUTTON_sinOnButtonsin()表4五、由于程序中需要用一些數(shù)學(xué)函數(shù)如(pow,sinh,cosh,tanh,log,floor等),所以在“計(jì)算器Dlg.Cpp”開(kāi)始處添加包含語(yǔ)句#include“math.h”(不能添加在首行)。六、在“計(jì)算器Dlg.Cpp”源程序文件的末尾添加公有成員函數(shù)SetNum。這是用于連接變量和文本編輯框的值。同時(shí)在“計(jì)算器Dlg.h”類中添加自定義成員函數(shù)的聲明:voidSetNum(doublei);代碼清單如圖6:圖6七、OnButton0()~OnButton9()和OnButton314()消息處理函數(shù)只需調(diào)用SetNum即可,如OnButton314()函數(shù)的代碼清單如圖7:圖7八、計(jì)算器程序的關(guān)鍵是計(jì)算的順序,當(dāng)按下運(yùn)算符鍵如(+、-、*、/、y√x、x^y等)時(shí),它的右操作數(shù)還是未知的,因此要保存當(dāng)前的運(yùn)算符選擇,然后鍵入要操作的數(shù)字,這一數(shù)字也要保存,直到按下“=”為止。因此還需要在“計(jì)算器Dlg.Cpp”源程序文件的末尾添加公有成員函數(shù)process(),具體操作與添加SetNum相同。其代碼清單如圖8:圖8九、下面是加法按鈕的消息處理程序,其他消息處理程序只是將運(yùn)算符換位相應(yīng)的“-”、“*”、“/”、“=”、“Exp”、“Mod”即可?!皔√x”按鈕的消息函數(shù)的代碼清單如圖9-2,“x^y”按鈕的消息函數(shù)的代碼清單如圖9-3。即可。加法的代碼清單如圖9-1:圖9-1圖9-2圖9-3十、小數(shù)點(diǎn)的消息處理函數(shù)的代碼清單如圖10:圖10十一、“C”按鈕的消息處理函數(shù)的代碼清單如圖11:圖11十二、“CE”按鈕的消息處理函數(shù)的代碼清單如圖12:圖12十三、“cos”、“l(fā)g”、“n!”按鈕的自定義函數(shù)代碼清單分別如圖13-1,13-2,13-3其消息處理函數(shù)的代碼清單分別如圖13-1-,13-2-,13-3-,并在“計(jì)算器Dlg.Cpp”類中添加成員函數(shù)的聲明:doubleacos(doublei)、doublealog(doublei)、intjiecheng(doublei)?!皊in”按鈕也利用泰勒多項(xiàng)式與此類似。圖13-1圖13-2圖13-3圖13-1-圖13-2-圖13-3-十四、“cosh”按鈕采用內(nèi)置函數(shù),并在“計(jì)算器Dlg.Cpp”類中添加其消息處理函數(shù)的代碼清單如圖14,“sinh”、“tanh”、“Exp”、“Mod”等也采用內(nèi)置函數(shù),代碼與此類似。圖14十五、“10”按鈕消息函數(shù)的代碼清單如圖15:圖15十六、“1/x”按鈕消息函數(shù)的代碼清單如圖16:圖16十七、“2√x”按鈕消息函數(shù)的代碼清單如圖17,“x^2”、“x^3”、“3√x”按鈕的代碼與此類似。圖17十八、“+-”按鈕消息函數(shù)的代碼清單如圖18:圖18十九、在對(duì)話框窗口中添加菜單,如圖17-1,并在“清楚”按鈕的消息函數(shù)寫如圖17-2的代碼,在“關(guān)于”按鈕的消息函數(shù)如圖17-3的代碼,并在“關(guān)于”中插入位圖如圖17-4,最后將菜單與對(duì)話框關(guān)聯(lián)。圖19-1圖19-2圖19-3圖19-4二十、由于編輯框的數(shù)字太小,所以在“計(jì)算器Dlg.Cpp”類中添加如圖20的代碼。圖20二十一、科學(xué)計(jì)算器完成,界面如圖21:圖214設(shè)計(jì)總結(jié)雖然經(jīng)過(guò)多番測(cè)試,但設(shè)計(jì)的計(jì)算器也只能夠完成描述內(nèi)容中的部分功能。
從這認(rèn)識(shí)到自己對(duì)C++的了解只是初步。同時(shí)也感受到“紙上談兵終覺(jué)淺,覺(jué)知此事要躬行?!?,特別是MFC,更多的是靠實(shí)踐,而不是只看看課本就夠了。這次實(shí)踐對(duì)于自己學(xué)習(xí)能力的培養(yǎng)有很大的幫助。不僅能加深我們對(duì)MFC程序設(shè)計(jì)的掌握,而且還及時(shí)、真正的做到了學(xué)以致用。同時(shí)也有一些體會(huì),主要是以下幾點(diǎn)。
一、基本功要過(guò)硬。不能馬虎經(jīng)常犯小錯(cuò)誤。提高找錯(cuò)糾錯(cuò)能力,通常錯(cuò)誤總是那幾種,多練習(xí)就熟練了。
二、要善于查找資料,提高自己的資料查詢能力,要善于利用網(wǎng)絡(luò)來(lái)獲得知識(shí),獲得幫助。開(kāi)始著手程序設(shè)計(jì)時(shí),有些功能感覺(jué)無(wú)從下手,都不知道要干什么。這些問(wèn)題只要找到相關(guān)的資料就會(huì)得到提示從而理解所要解決問(wèn)題的大致方向。有了明確的目的,就可以發(fā)揮自己的頭腦來(lái)完成它了。
三、要善于思考。程序中有些實(shí)現(xiàn)難點(diǎn)和最初完成程序時(shí)免不了的許多不足就需要自己根據(jù)代碼認(rè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年度農(nóng)業(yè)產(chǎn)業(yè)工人勞務(wù)合作合同示范
- 鄂爾多斯2024年內(nèi)蒙古鄂爾多斯市杭錦旗烏蘭牧騎引進(jìn)3名專業(yè)技術(shù)人員筆試歷年參考題庫(kù)附帶答案詳解
- 英德市四年級(jí)上學(xué)期11月期中語(yǔ)文試題(含解析)
- 玉溪云南玉溪市司法局招聘編外人員筆試歷年參考題庫(kù)附帶答案詳解
- 煙臺(tái)2025年山東煙臺(tái)黃渤海新區(qū)教育體育局招聘高層次人才177人筆試歷年參考題庫(kù)附帶答案詳解
- 楚雄云南楚雄元謀縣消防救援局招聘9人筆試歷年參考題庫(kù)附帶答案詳解
- 杭州2025年上半年浙江杭州市衛(wèi)生健康委員會(huì)所屬九家事業(yè)單位招聘74人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年中國(guó)學(xué)校課桌椅市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)化工用電磁閥市場(chǎng)調(diào)查研究報(bào)告
- 2025至2031年中國(guó)黃桿皮頭鉛筆行業(yè)投資前景及策略咨詢研究報(bào)告
- 商業(yè)銀行的風(fēng)險(xiǎn)審計(jì)與內(nèi)部控制
- 2024項(xiàng)目管理人員安全培訓(xùn)考試題及參考答案AB卷
- 2025年與商場(chǎng)合作協(xié)議樣本(5篇)
- 2024年12月青少年機(jī)器人技術(shù)等級(jí)考試?yán)碚摼C合試卷(真題及答案)
- 網(wǎng)絡(luò)與社交媒體管理制度
- 2025年安徽碳鑫科技有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年寒假實(shí)踐特色作業(yè)設(shè)計(jì)模板
- 2024年福建漳州人才發(fā)展集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- JTGT F20-2015 公路路面基層施工技術(shù)細(xì)則
- 馬曉宏_《法語(yǔ)》_第一冊(cè)復(fù)習(xí)(課堂PPT)
- 道路環(huán)衛(wèi)清掃保潔項(xiàng)目應(yīng)急處置預(yù)案
評(píng)論
0/150
提交評(píng)論