課程設(shè)計報告模板及示例_第1頁
課程設(shè)計報告模板及示例_第2頁
課程設(shè)計報告模板及示例_第3頁
課程設(shè)計報告模板及示例_第4頁
課程設(shè)計報告模板及示例_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 課程設(shè)計報告C+課程設(shè)計:簡單計算器學(xué) 院計算機(jī)與通信工程專業(yè)名稱物聯(lián)網(wǎng)工程班級學(xué)號學(xué)生姓名指導(dǎo)教師敬茂華2 20 01 13 3 年 月 日東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告2設(shè)計要求:設(shè)計要求:設(shè)計一基于 Windows 的應(yīng)用程序,使其能完成簡單的計算功能。計算功能包括:加、減、乘、除、求余數(shù)、求階乘、指數(shù)運(yùn)算、程序界面自己設(shè)計東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告3目錄1 基本功能描述.1 12 設(shè)計思路.1 13 軟件設(shè)計.4 43.1 設(shè)計步驟 .43.2 界面設(shè)計 .53.3 關(guān)鍵功能的實(shí)現(xiàn) .

2、114 結(jié)論與心得體會.12125 參考文獻(xiàn).13136 附錄.13136.1 調(diào)試報告 .136.2 測試結(jié)果 .146.3 關(guān)鍵源代碼 .15東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告1簡單計算器1 基本功能描述簡單計算器包括雙目運(yùn)算和單目運(yùn)算功能。雙目運(yùn)算符包含基本的四則運(yùn)算及乘冪功能,單目運(yùn)算符包含正余弦,階乘,對數(shù),開方,倒數(shù)等運(yùn)算??蓪斎肴我獠僮鲾?shù),包括小數(shù)和整數(shù)及正數(shù)和負(fù)數(shù)進(jìn)行以上的所有運(yùn)算并能連續(xù)運(yùn)算。出現(xiàn)錯誤會給出相應(yīng)提示,同時包含清除,退格,退出功能以及有與所有按鈕相對應(yīng)的菜單項(xiàng)。2 設(shè)計思路如圖是整個計算器的流程圖,打開計算器程序,輸

3、入數(shù)據(jù),調(diào)用輸入數(shù)據(jù)子程序。子程序開始時 m_num 為零。按下數(shù)字按鈕后,判斷 m_num 的正負(fù)號,對其進(jìn)行相關(guān)處理,然后在判斷是否有小數(shù)點(diǎn),處理后輸出結(jié)果?;氐娇偭鞒虉D中,輸完第一個操作數(shù)后,若按下雙目運(yùn)算符,則把 m_num 存入num2,按下輸入第二個操作數(shù)并算出結(jié)果。若按下的是單目運(yùn)算符,則直接對其處理得出結(jié)果。若按下清零,則 m_num 等于 0.在運(yùn)算中還要判斷運(yùn)算是否合法,以及結(jié)果是否超出顯示范圍,以做出相關(guān)提示,按下清零。算出后把結(jié)果保存至 num2。若需用算出的結(jié)果繼續(xù)運(yùn)算則回到輸入完第一個操作數(shù)后,若不需要則判斷試否需要開始新一輪的運(yùn)算,不需要則結(jié)束。東北大學(xué)秦皇島分校

4、計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告2NNY鍵入一個數(shù)是否為正數(shù)?m_num =10*m_num+im_num =10*m_num-i是否為小數(shù)?用 UpdateData(FALSE)刷新顯示還原 m_num根據(jù)小數(shù)點(diǎn)后位數(shù)將鍵入的數(shù)除以 n 次 10 累加到m_numYN繼續(xù)鍵入數(shù)字?Y輸入數(shù)據(jù)子函數(shù)編輯框關(guān)聯(lián)變量m_num=0圖 1 輸入數(shù)據(jù)子函數(shù)流程圖東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告3Y開始輸入數(shù)據(jù)子函數(shù)編輯框關(guān)聯(lián)的變量保存至 num2輸入數(shù)據(jù)子函數(shù)進(jìn)行運(yùn)算運(yùn)算是否合法把結(jié)果保存到 num2m_num 清零彈出對話框顯

5、示 ERRORNY是否用保存的結(jié)果繼續(xù)進(jìn)行運(yùn)算N結(jié)束jie雙目運(yùn)算符單目運(yùn)算符是否開始新一輪的計算YN圖 2 簡單計算器總流程圖東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告43 軟件設(shè)計3.1 設(shè)計步驟打開 Microsoft Visual C+ 6.0,在文件中點(diǎn)擊新建,在彈出框內(nèi)選擇 MFC AppWizardexe工程,輸入工程名 zhoutong 及其所在位置,點(diǎn)擊確定,如圖 3 所示。 圖 3 新建 MFC AppWizardexe工程將彈出 MFC AppWizard-step 1 對話框,選擇基本對話框,點(diǎn)擊完成,如圖 4 所示。東北大學(xué)秦皇島分

6、校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告5圖 4 基本對話框這樣,MFC AppWizard 就建立了一個基于對話窗口的程序框架,如圖 5 所示。圖 5 新建的對話框3.2 界面設(shè)計1、創(chuàng)建控件在圖 5 所示的 Resoure View 選項(xiàng)卡中打開 Dialog 資源組,雙擊IDD_ZHOUTONG_DIALOG,在右邊的窗口中顯示出待編輯的對話框。開始擺放控件,東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告6包括編輯框和按鈕的創(chuàng)建。按鈕的創(chuàng)建以“1”為例進(jìn)行介紹,其他按鈕的創(chuàng)建可參照此進(jìn)行操作。1)在圖 5 中 Controls 的“編

7、輯框”按鈕上單擊鼠標(biāo)左鍵,在對話框編輯窗口上合適的位置按下鼠標(biāo)左鍵并拖動鼠標(biāo)畫出一個大小合適的編輯框。在編輯框上單擊鼠標(biāo)右鍵,在彈出的快捷萊單中選擇屬性選項(xiàng),此時彈出 Edit 屬性對話框,如圖 6 所示,在該對話框中輸入 ID 屬性。 圖 6 Edit 屬性對話框2)在圖 3 中 Controls 的“Button”按鈕上單擊鼠標(biāo)左鍵,在對話框上的合適的位置上按下鼠標(biāo)左鍵并拖動鼠標(biāo)畫出一個大小合適的下壓式按鈕。在按鈕上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇屬性選項(xiàng),此時也彈出 Push Button 屬性對話框,如圖 7 所示,在該對話框中輸入控件的 ID 值和標(biāo)題屬性。圖 7 Push Bu

8、tton 屬性按照上面的操作過程編輯其他按鈕和編輯框等對象的屬性。東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告7表 1 各按鈕和編輯框等對象的屬性對象ID標(biāo)題或說明編輯框IDC_xianshi結(jié)果顯示按鈕IDC_BUTTON00按鈕IDC_BUTTON11按鈕IDC_BUTTON22按鈕IDC_BUTTON33按鈕IDC_BUTTON44按鈕IDC_BUTTON55按鈕IDC_BUTTON66按鈕IDC_BUTTON77按鈕IDC_BUTTON88按鈕IDC_BUTTON99按鈕IDC_change+/-按鈕IDC_point.按鈕IDC_add+按鈕IDC_

9、difference-按鈕IDC_multiply*按鈕IDC_devide/按鈕IDC_sqrtsqrt按鈕IDC_daoshu1/x按鈕IDC_jiechengn!按鈕IDC_lnln按鈕IDC_sinsin按鈕IDC_coscos按鈕IDC_powxy按鈕IDC_Onequal=按鈕IDC_backspaceBackspace按鈕IDC_OnclearClear完成后界面如圖 8 所示。圖 8 計算器界面2、連接變量和代碼東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告81) 給編輯框連接變量。在編輯框上單擊鼠標(biāo)右鍵,在彈出菜單中選擇 ClassWizard

10、 菜單項(xiàng),彈出 MFC ClassWizard 對話框,選擇 Member Variables 選項(xiàng)卡,如圖 9 所示。 圖 9 MFC ClassWizard 對話框中的 Menber Variable 選項(xiàng)卡在 Control IDs 列表框中選擇 IDC_xianshi,單擊 Add Variables 按鈕,在彈出的對話框中連接變量 m_num。變量類型設(shè)定為 doubel 型。如圖 10 所示。圖 10 m_num 屬性設(shè)置2) 給“1”按鈕連接代碼。在“1”按鈕上單擊鼠標(biāo)右鍵,選擇 ClassWizard 菜單項(xiàng),在彈出的對話框中選擇 Messages Maps 選項(xiàng)卡,然后在 O

11、bject IDs 列表框中選擇IDC_ADD_BUTTON,在 Messages 列表框中選擇 BN_CLICKED 項(xiàng),即選擇單擊按鈕事件,如圖 11 所示。 東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告9圖 11 “1”按鈕鏈接代碼對話框3、菜單的設(shè)計選擇 插入/資源命令,將顯示插入資源對話框。如圖 12 所示。選擇 Menu,點(diǎn)擊新建即可。圖 12 插入資源對話框Resoure View 選項(xiàng)卡中打開 Menu 資源組,雙擊 IDR_MENU1, 然后給菜單添加相應(yīng)的標(biāo)題,并把每個菜單對應(yīng)的 ID 值與相應(yīng)的按鈕的一致。如圖 13 所示。東北大學(xué)秦皇島

12、分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告10圖 13 菜單屬性對話框在對話框的任何一個空白域單擊鼠標(biāo)右鍵,然后在彈出的快捷菜單中選擇 Properties命令,彈出 Dialog Properties 對話框,如圖 14。在對話框中的菜單組合框中選擇IDR_MENU1。圖 14 對話屬性對話框最終的得到的界面如圖 15。圖 15 計算器完整界面東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告113.3 關(guān)鍵功能的實(shí)現(xiàn)1)操作數(shù)的輸入編輯框所關(guān)聯(lián)的變量為 m_num,程序開始時為零。每按下一個數(shù)字鍵按鈕,就把它累加到 m_num 里并刷新顯示

13、。BOOL 型變量 ele 來判斷是否有小數(shù)點(diǎn)和一個整型數(shù) dint來表示小數(shù)點(diǎn)后的數(shù)據(jù)的位數(shù)。當(dāng) ele=TRUE 時,表示有小數(shù)點(diǎn),否則則表示無小數(shù)點(diǎn)。按下小數(shù)點(diǎn)按鈕后執(zhí)行 ele=TRUE。當(dāng)按下一個數(shù)字鍵時,首先根據(jù) ele 判斷是否按下小數(shù)點(diǎn),若有則把小數(shù)點(diǎn)后數(shù)的位數(shù)加 1,dint 則為此次鍵入的數(shù)所處的位數(shù),將鍵入的數(shù)除以 dint 個 10 然后累加到編輯框所關(guān)聯(lián)的變量 m_num 上,若沒有則把 m_num 乘以 10,然后累加到編輯框所關(guān)聯(lián)的變量 m_num 上。2)單目運(yùn)算符功能的實(shí)現(xiàn)由于單目運(yùn)算符中必須有執(zhí)行運(yùn)算的函數(shù),因而頭文件中要加入 math.h,如m_num=s

14、qrt(m_num).按下按鈕即可實(shí)現(xiàn)其功能。為實(shí)現(xiàn)連續(xù)運(yùn)算,程序有所改動,參見(6) 。3)雙目運(yùn)算符功能的實(shí)現(xiàn)雙目運(yùn)算符需要兩個操作數(shù)才能運(yùn)算,所以在執(zhí)行雙目運(yùn)算符按鈕的函數(shù)代碼中,要把 m_num 中的值保存到變量 num2 中,然后把 m_num 清零。這樣即可保存第一個操作數(shù)。另外先定義了一個整形變量 addt,在不同的雙目運(yùn)算符中給 addt 賦不同的值,然后在等號中用 switch 語句來匹配 addt 值來判斷需要執(zhí)行何種雙目運(yùn)算。為實(shí)現(xiàn)連續(xù)運(yùn)算,程序有所改動,參見(6) 。4)退格鍵功能的實(shí)現(xiàn)當(dāng)按下一次退格按鈕時,若 m_num 為整數(shù),只需對其中數(shù)據(jù)除以 10 再取整即可,

15、若按下一次退格按鈕為小數(shù),則根據(jù)小數(shù)點(diǎn)后數(shù)據(jù)的位數(shù) dint 進(jìn)行操作,先對 m_num 執(zhí)行(dint-1)次乘以 10 運(yùn)算,然后取整,接著執(zhí)行(dint-1)次除以 10 的運(yùn)算即可。完成后需要把 dint 將減小 1。5) 正負(fù)號功能的實(shí)現(xiàn)在頭文件中定義一個 BOOL 型變量 ele2 來判斷 m_num 的正負(fù)。ele2=TRUE 時表示為正。在鍵入操作數(shù)時需要用到 ele2。在正負(fù)號按鈕的消息響應(yīng)函數(shù)內(nèi)容為 m_num=-m_num;ele2=!ele2。6)連續(xù)運(yùn)算功能的實(shí)現(xiàn)要連續(xù)運(yùn)算必須將每次運(yùn)算的結(jié)果保存下來。對于雙目運(yùn)算符:首先在等號按鈕的消息處理函數(shù)中在 m_num 清零

16、之前將 m_num的值賦給 num2.不過這樣的話如果再按雙目運(yùn)算符則 num2 的值將會被覆蓋,于是在雙目運(yùn)算符按鈕的消息處理函數(shù)中將“num2=m_num;”改為“if(m_num!=0)num2=m_num;”.這樣若已經(jīng)保存了結(jié)果則不進(jìn)行覆蓋。然后在每個數(shù)字按鈕前加上“if(addt=0)num2=0;”,這樣如果進(jìn)行完一次運(yùn)算之后按下任一數(shù)字鍵表示不需要連續(xù)運(yùn)算,則將保存的結(jié)果刪除,東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告12若按下的是雙目運(yùn)算符按鈕則可以繼續(xù)運(yùn)算。對于單目運(yùn)算符:每次運(yùn)算完之后都會對 m_num 清零,因此其結(jié)果也要賦給 num

17、2,下次運(yùn)算是則會用到 num2,于是第一次運(yùn)算時直接將 m_num 的值賦給 num2,對其進(jìn)行運(yùn)算。以開根號為例,在消息處理函數(shù)代碼中將“m_num=sqrt(m_num);”改為“num2=m_num;m_num=sqrt(num2); num2=m_num;”。但是第一次運(yùn)算執(zhí)行完成之后m_num 被清零,所以之后將 m_num 的值不能賦給 num2,代碼改為 “if(m_num=0)m_num=sqrt(num2); num2=m_num;”。其他單目運(yùn)算符同理。為實(shí)現(xiàn)連續(xù)運(yùn)算是不需要按下等號即可實(shí)現(xiàn),又在所有的運(yùn)算符按鈕的消息處理函數(shù)代碼前加上了“if(addt!=0)Onequ

18、al();”。既若之前有按下雙目運(yùn)算符和兩個操作數(shù)則連續(xù)運(yùn)算再按下任一運(yùn)算符時會自動調(diào)用等號的處理函數(shù)將上次的運(yùn)算完成并保存結(jié)果方便下一次的運(yùn)算。4 結(jié)論與心得體會經(jīng)過多番測試,得出結(jié)論為設(shè)計的計算器能夠完成功能描述內(nèi)容中的全部功能。經(jīng)過 2 個星期的 VC+課程設(shè)計,我在老師和同學(xué)的共同幫助下,順利完成該課程設(shè)計,收獲很大。本學(xué)期我們開設(shè)了面向?qū)ο蟪绦蛟O(shè)計與 VC+實(shí)踐課 MFC 部分皆為需要實(shí)踐內(nèi)容,正所謂“紙上談兵終覺淺,覺知此事要躬行。 ”所以在本學(xué)期課程設(shè)計是很及時、很必要的。這樣不僅能加深我們對 MFC 程序設(shè)計的掌握,而且還及時、真正的做到了學(xué)以致用。主要是以下幾點(diǎn)?;竟σ^硬

19、。不能馬虎經(jīng)常犯犯小錯誤。提高自己找錯糾錯能力,通常錯誤總是那幾種,多練習(xí)就熟練了。要善于查找資料提高自己的資料查詢能力,要善于利用網(wǎng)絡(luò)來獲得知識,獲得幫助。開始著手程序設(shè)計時,有些功能感覺無從下手,都不知道要干什么。這些問題只要找到相關(guān)的資料就會得到提示從而理解所要解決問題的大致方向。有了明確的目的,就可以發(fā)揮自己的頭腦來完成它了。要善于思考。程序中有些實(shí)現(xiàn)難點(diǎn)和最初完成程序時免不了的許多不足就需要自己根據(jù)代碼認(rèn)真思考來解決。只有這樣才能糾正程序的不足并使其更加人性化。這次課程設(shè)計讓我學(xué)到了很多,不僅是鞏固了先前學(xué)的 MFC 程序設(shè)計知識,而且也培養(yǎng)了我的動手能力,更令我的創(chuàng)造性思維得到拓展

20、。希望今后類似這樣課程設(shè)計、類似這樣的鍛煉機(jī)會能更多些!5 參考文獻(xiàn)1 揣錦華.面向?qū)ο蟪绦蛟O(shè)計與 VC+實(shí)踐.西安電子科技大學(xué)出版社,2005東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告132 張建宏,湯練兵,馬德駿.計算機(jī)程序設(shè)計基礎(chǔ)-C 語言程序設(shè)計.科學(xué)出版社,20063 陳清華.Visual C+課程設(shè)計案例精選與編程指導(dǎo).東南大學(xué)出版社,20046 附錄6.1 調(diào)試報告1、編譯時提示錯誤:“C:Documents and Settings周同桌面zhoutongzhoutongDlg.cpp(230) : error C2018: unknown

21、character 0 xa3C:Documents and Settings周同桌面zhoutongzhoutongDlg.cpp(230) : error C2018: unknown character 0 xbbC:Documents and Settings周同桌面zhoutongzhoutongDlg.cpp(231) : error C2143: syntax error : missing ; before if”原因?yàn)榉痔柺窃谥形妮斎敕顟B(tài)下輸入,將其改為英文輸入狀態(tài)下了分號即可。2、重做時調(diào)用其他工程中的對話框資源后編譯鏈接運(yùn)行后還是本來有的那個對話框,后來將原先的對話框資

22、源刪除并將調(diào)用的對話框的 ID 改為原先的對話框的 ID,再次編譯鏈接運(yùn)行之后沒有反應(yīng)了,經(jīng)過多次摸索發(fā)現(xiàn)調(diào)用過來的對話框是關(guān)聯(lián)了菜單了,而新建的工程里沒有菜單,因此將調(diào)用的對話框取消與菜單的關(guān)聯(lián),再次再次編譯鏈接運(yùn)行之后一切正常。3、用 GetDlgItem(IDC_NAME_EDIT)-SetWindowText( );來提示操作錯誤時,總是沒有任何效果,經(jīng)老師幫助得以解決。因?yàn)?UpdateData(FALSE)是將變量傳到前臺顯示,SetWindowText 就是設(shè)置前臺顯示的新內(nèi)容。所以在 SetWindowText 后如果還有 UpdateData(FALSE)則其效果會被后者覆蓋

23、,因此程序中 SetWindowText 之后不用 UpdateData(FALSE)即可。4、當(dāng)操作數(shù)超過 10 位數(shù)時,用 backspace 會出現(xiàn)錯誤結(jié)果,一番研究研究發(fā)現(xiàn)用int(m_num)取整有問題,int 只有 4 個字節(jié),當(dāng)超過其范圍時就會出錯。因此將取整的方法改為先用 fmod 取其除以 1 的余數(shù)得到其小數(shù)位,然后用 m_num 減去其小數(shù)位即可。6.2 測試結(jié)果1.輸入“90.5”,“-”,“60.7”,“+”,“2.36” , “ =” ,并在菜單中同樣輸入這組操作,均得到結(jié)果如圖 16。東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告1

24、4圖 16 結(jié)果圖 1結(jié)果正確,證明可以實(shí)現(xiàn)雙目運(yùn)算符的連續(xù)運(yùn)算,菜單功能正常。2.輸入“901”, “+/-”,“backspace”, “+”, “120”, “sin”,結(jié)果如圖 17.圖 17 結(jié)果圖 2因?yàn)?取的是 3.1415926,因此與 0.5 有小小偏差,認(rèn)為結(jié)果正確。證明可以實(shí)現(xiàn)單目運(yùn)算符的連續(xù)運(yùn)算與 backspace 回格功能。3.輸入“0”, “l(fā)n”,結(jié)果如圖 18.東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告15結(jié)果圖 18證明錯誤提示功能實(shí)現(xiàn)正常。6.3 關(guān)鍵源代碼1、zhoutongDlg.h 里變量的定義:BOOL ele2

25、; / ele 定義為布爾值,判斷當(dāng)前值是否是正數(shù)還是負(fù)數(shù)int addt;int i;int dint;/dent 判斷小數(shù)后的位數(shù)BOOL ele; /ele2 定義為布爾值,判斷是否有小數(shù)點(diǎn)double num2;double num1;2、程序運(yùn)行時初始化和頭文件:在 zhoutongDlg.cpp 的 OnInitDialog()里調(diào)用 Onclear();zhoutongDlg.cpp 里加上頭文件#include math.h3、 數(shù)字鍵 1 的程序:(數(shù)字鍵 2 到 9 類似)if(addt=0)num2=0;if(ele2=TRUE)m_num=m_num*10+1; /單擊

26、數(shù)字鍵 1 后把數(shù)據(jù)傳送到輸出框中else m_num=m_num*10-1;if (ele=TRUE) /當(dāng)前是否有小數(shù)點(diǎn),如果有num1=1; dint=dint+;東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告16for (i=0;i=0)m_num=sqrt(num2); /對數(shù)進(jìn)行開根號UpdateData(FALSE); /數(shù)據(jù)刷新num2=m_num;else GetDlgItem(IDC_xianshi)-SetWindowText(錯誤,負(fù)數(shù)不能開根號);m_num=0;東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計

27、報告17num1=0;dint=0;ele=FALSE;ele2=TRUE;7、n!鍵的程序:if(addt!=0)Onequal();if(m_num!=0)num2=m_num;if(fmod(num2,1)=0)m_num=1;for(i=1;i=1.7E308|m_numSetWindowText(結(jié)果過大,無法顯示);else GetDlgItem(IDC_xianshi)-SetWindowText(不是整數(shù)無法進(jìn)行階乘運(yùn)算);m_num=0;num1=0;dint=0;ele=FALSE;ele2=TRUE;8、1/x 鍵的程序:if(addt!=0)Onequal();if(m

28、_num!=0)num2=m_num;if(num2!=0)m_num=1.0/num2; /對數(shù)進(jìn)行求倒數(shù)UpdateData(FALSE);/數(shù)據(jù)刷新num2=m_num;if(m_num=1.7E308|m_numSetWindowText(結(jié)果過大,無法顯示); else GetDlgItem(IDC_xianshi)-SetWindowText(錯誤,0 不能求倒數(shù));m_num=0;num1=0;東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告18dint=0;ele=FALSE;ele2=TRUE;9、sin 鍵的程序:(cos 的代碼類似)if(a

29、ddt!=0)Onequal();if(m_num!=0)num2=m_num;m_num=sin(num2*3.1415926/180); /對數(shù)進(jìn)行正弦UpdateData(FALSE); /數(shù)據(jù)刷新num2=m_num;m_num=0;num1=0;dint=0;ele=FALSE;ele2=TRUE;10、ln 鍵的程序:if(addt!=0)Onequal();if(m_num!=0)num2=m_num;if(m_num0)m_num=log(num2); /對數(shù)進(jìn)行求 lnUpdateData(FALSE); /數(shù)據(jù)刷新num2=m_num;else GetDlgItem(IDC_xianshi)-SetWindowText(錯誤,操作數(shù)需大于 0);m_num=0;num1=0;dint=0;ele=FALSE;ele2=TRUE;11、=鍵的程序:switch (addt) /數(shù)據(jù)判斷case 0: /為實(shí)現(xiàn)連續(xù)按下兩次等號后能清零UpdateData(FALSE); /數(shù)據(jù)刷新break;case 1:東北大學(xué)秦皇島分校計算機(jī)與通信工程學(xué)院 物聯(lián)網(wǎng)工程專業(yè)C+程序設(shè)計課程設(shè)計報告19m_num=num2+m_num; /兩數(shù)相加UpdateData(FALSE); /數(shù)據(jù)刷新break;case 2:m_num=num2-m_num;

溫馨提示

  • 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

提交評論