97超级碰碰碰久久久_精品成年人在线观看_精品国内女人视频免费观_福利一区二区久久

c++計(jì)算器實(shí)踐報(bào)告

時(shí)間:2022-07-02 20:45:17 報(bào)告范文 我要投稿
  • 相關(guān)推薦

c++計(jì)算器實(shí)踐報(bào)告

題 目

c++計(jì)算器實(shí)踐報(bào)告

科學(xué)計(jì)算器應(yīng)用程序系統(tǒng)

學(xué)生姓名

指導(dǎo)教師

學(xué) 院

專(zhuān)業(yè)班級(jí) 學(xué)生學(xué)號(hào) 吳金星 嚴(yán)暉 材料科學(xué)與工程學(xué)院 1206 0607120610

計(jì)算機(jī)基礎(chǔ)教學(xué)實(shí)驗(yàn)中心

2013年 7 月 3 日

科學(xué)計(jì)算器管理信息系統(tǒng)

摘要:本設(shè)計(jì)是簡(jiǎn)單計(jì)算器,日常計(jì)算機(jī)使用中,常常涉及到一些有關(guān)計(jì)算的問(wèn)題,一個(gè)小型的計(jì)算器軟件變得非常有用,該校型計(jì)算器需要空間資源較少,對(duì)電腦其他程序的應(yīng)用影響較小。它的設(shè)計(jì)按軟件工程的方法進(jìn)行,系統(tǒng)具有良好的界面、必要的交互信息和較好的健壯性;醒目美觀的軟件封面。使用人員能快捷簡(jiǎn)單地進(jìn)行操作。即時(shí)準(zhǔn)確地獲得需要的計(jì)算的結(jié)果,充分降低了數(shù)字計(jì)算的難度和節(jié)約了時(shí)間,對(duì)人們的生活有一定的幫助。

關(guān)鍵詞:程序設(shè)計(jì);計(jì)算器;MFC;按鈕控件

1. 計(jì)算器系統(tǒng)開(kāi)發(fā)設(shè)計(jì)思想

⑴實(shí)驗(yàn)?zāi)康?/p>

①通過(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++ 以及面向?qū)ο笾R(shí)解決實(shí)際問(wèn)題的能力。

③通過(guò)實(shí)踐掌握用C++ 編寫(xiě)面向?qū)ο蟮膶?shí)用程序的設(shè)計(jì)方法,對(duì)面向?qū)ο蠓椒ê退枷朐黾痈行缘恼J(rèn)識(shí);學(xué)會(huì)利用C++程序設(shè)計(jì)語(yǔ)言編寫(xiě)出一些短小、可靠的Windows實(shí)用程序,切實(shí)提高面向?qū)ο蟮某绦蛟O(shè)計(jì)能力。為后續(xù)的相關(guān)課程的學(xué)習(xí)打下基礎(chǔ)。

⑵實(shí)驗(yàn)要求

①二進(jìn)制、八進(jìn)制、十進(jìn)制及十六進(jìn)制數(shù)的加、減、乘、除、乘方、取模等簡(jiǎn)單計(jì)算

②科學(xué)計(jì)算函數(shù),包括(反)正弦、(反)余弦、(反)正切、(反)余切、開(kāi)方、指數(shù)等函數(shù)運(yùn)行

③以角度、弧度兩種方式實(shí)現(xiàn)上述部分函數(shù)

④具備歷史計(jì)算的記憶功能

⑤對(duì)不正確的表達(dá)式能指出其錯(cuò)誤原因

⑥整理上機(jī)步驟,完成實(shí)驗(yàn)報(bào)告、提交可運(yùn)行的程序,給出實(shí)驗(yàn)數(shù)據(jù)和實(shí)驗(yàn)結(jié)果

2、計(jì)算器系統(tǒng)功能及系統(tǒng)設(shè)計(jì)介紹

⑴功能說(shuō)明

它的設(shè)計(jì)按軟件工程的方法進(jìn)行,系統(tǒng)具有良好的界面;必要的交互信息;簡(jiǎn)約美觀的效果。使用人員能快捷簡(jiǎn)單地進(jìn)行操作。即可單機(jī)按鈕進(jìn)行操作,也可直接通過(guò)鍵盤(pán)直接輸入。即時(shí)準(zhǔn)確地獲得需要的計(jì)算的結(jié)果,充分降低了數(shù)字計(jì)算的難度和節(jié)約了時(shí)間,對(duì)人們的生活有一定的幫助。

①包含的功能有:加、減、乘、除運(yùn)算,開(kāi)方、求倒數(shù)等功能。②計(jì)算器上數(shù)字0—9為一個(gè)控件數(shù)組,加、減、乘、除為一個(gè)控件數(shù)組,其余為單一的控件。③給對(duì)話(huà)框添加菜單。④計(jì)算功能基本上是用系統(tǒng)內(nèi)部函數(shù)。⑤程序可以能自動(dòng)判斷輸入數(shù)據(jù)的正確性,保證不出現(xiàn)多于一個(gè)小數(shù)點(diǎn)、以0開(kāi)頭等不正常現(xiàn)象。⑥“C”按鈕可以清除所有已輸入的數(shù)據(jù)從頭計(jì)算。

⑵設(shè)計(jì)思路

①算法基本流程,數(shù)值計(jì)算及功能:②主要部分為按鍵后的接受處理

③鍵入為數(shù)字則檢查和增長(zhǎng)操作數(shù),有前算符則增長(zhǎng)操作數(shù)1,否則增長(zhǎng)操作數(shù)

2。計(jì)算器基本按:鍵入操作數(shù)1,鍵入運(yùn)算符(若為單目算符即直接運(yùn)算),鍵入操作數(shù)2,再鍵入算符即運(yùn)算前算符,若為當(dāng)前鍵入為單目算符即再運(yùn)算,結(jié)果保留在操作數(shù)1中,并返回在界面顯示。

④在每次運(yùn)算前將操作數(shù)進(jìn)行進(jìn)制轉(zhuǎn)為十進(jìn)制,在運(yùn)算結(jié)束后操作數(shù)還原進(jìn)制。 ⑤其中鍵入特殊算符和功能鍵作特殊處理,如:退格,進(jìn)制選鍵和”=”,”CE”,”C”等。顯示鍵入的相關(guān)信息,如果鍵入不合法即提示錯(cuò)誤。 ⑶算法流程圖

⑷關(guān)鍵功能實(shí)現(xiàn)

①操作數(shù)的輸入,編輯框所關(guān)聯(lián)的變量為m_num,程序開(kāi)始時(shí)為零。每按下一個(gè)數(shù)字鍵按鈕,就把它累加到m_num里并刷新顯示。BOOL型變量ele來(lái)判斷是否有小數(shù)點(diǎn)和一個(gè)整型數(shù)dint來(lái)表示小數(shù)點(diǎn)后的數(shù)據(jù)的位數(shù)。當(dāng)ele=TRUE時(shí),表示有小數(shù)點(diǎn),否則則表示無(wú)小數(shù)點(diǎn)。按下小數(shù)點(diǎn)按鈕后執(zhí)行ele=TRUE。當(dāng)按下一個(gè)數(shù)字鍵時(shí),首先根據(jù)ele判斷是否按下小數(shù)點(diǎn),若有則把小數(shù)點(diǎn)后數(shù)的位數(shù)加1,dint則為此次鍵入的數(shù)所處的位數(shù),將鍵入的數(shù)除以dint個(gè)10然后累加到編輯框所關(guān)聯(lián)的變量m_num上,若沒(méi)有則把m_num乘以10,然后累加到編輯框所關(guān)聯(lián)的變量m_num上。

②單目運(yùn)算符功能的實(shí)現(xiàn),由于單目運(yùn)算符中必須有執(zhí)行運(yùn)算的函數(shù),因而頭文件中要加入math.h,如m_num=sqrt(m_num).按下按鈕即可實(shí)現(xiàn)其功能。為實(shí)現(xiàn)連續(xù)運(yùn)算,程序有所改動(dòng)。

③雙目運(yùn)算符功能的實(shí)現(xiàn),雙目運(yùn)算符需要兩個(gè)操作數(shù)才能運(yùn)算,所以在執(zhí)行雙目運(yùn)算符按鈕的函數(shù)代碼中,要把m_num中的值保存到變量num2中,然后把m_num清零。這樣即可保存第一個(gè)操作數(shù)。另外先定義了一個(gè)整形變量addt,在不同的雙目運(yùn)算符中給addt賦不同的值,然后在等號(hào)中用switch語(yǔ)句來(lái)匹配addt值來(lái)判斷需要執(zhí)行何種雙目運(yùn)算。為實(shí)現(xiàn)連續(xù)運(yùn)算,程序有所改動(dòng)。 ④退格鍵功能的實(shí)現(xiàn),當(dāng)按下一次退格按鈕時(shí),若m_num為整數(shù),只需對(duì)其中數(shù)據(jù)除以10再取整即可,若按下一次退格按鈕為小數(shù),則根據(jù)小數(shù)點(diǎn)后數(shù)據(jù)的位數(shù)dint進(jìn)行操作,先對(duì)m_num執(zhí)行(dint-1)次乘以10運(yùn)算,然后取整,接著執(zhí)行(dint-1)次除以10的運(yùn)算即可。完成后需要把dint將減小1。

⑤正負(fù)號(hào)功能的實(shí)現(xiàn),在頭文件中定義一個(gè)BOOL型變量ele2來(lái)判斷m_num的正負(fù)。ele2=TRUE時(shí)表示為正。在鍵入操作數(shù)時(shí)需要用到ele2。在正負(fù)號(hào)按鈕的消息響應(yīng)函數(shù)內(nèi)容為m_num=-m_num;ele2=!ele2。

3.計(jì)算器系統(tǒng)開(kāi)發(fā)的體會(huì)

實(shí)踐是獲取知識(shí)的一個(gè)極其重要的途徑,無(wú)論是過(guò)去還是現(xiàn)在抑或是將來(lái),我都堅(jiān)信這一點(diǎn)。在這個(gè)實(shí)驗(yàn)中,我堅(jiān)持以實(shí)踐為導(dǎo)向,雖然,我沒(méi)有對(duì)CLR與.NET的系統(tǒng)的學(xué)習(xí),理論理解并不多,但是在實(shí)際摸索應(yīng)用的過(guò)程中,我還是學(xué)到很多東西,特別是理解了一個(gè)功能的使用方法之后,這種快樂(lè)的心情是無(wú)法描述的,F(xiàn)在可以靈活運(yùn)用一些常用的屬性,進(jìn)行一些基本操作,以實(shí)現(xiàn)預(yù)期目標(biāo)。

實(shí)現(xiàn)該計(jì)算器,當(dāng)時(shí)的想法是盡量向Windows計(jì)算器靠攏?梢钥吹,這個(gè)計(jì)算器有很多Windows計(jì)算器的影子。雖然這個(gè)計(jì)算器還有很多不足,比如表達(dá)式的處理。 這個(gè)計(jì)算器的代碼都是自己思考過(guò)后寫(xiě)出來(lái)的,特別是錯(cuò)誤排除部分,經(jīng)歷了很多Bug的時(shí)期。由于時(shí)間限制,可視化計(jì)算器的基本實(shí)現(xiàn)告一段落,在時(shí)間允許的以后再進(jìn)一步完善計(jì)算器功能。


【c++計(jì)算器實(shí)踐報(bào)告】相關(guān)文章:

C++基礎(chǔ)面試題07-13

華為C/C++筆試題07-11

經(jīng)典C/C++面試題07-11

年終獎(jiǎng)計(jì)算器 年終獎(jiǎng)計(jì)算器07-11

華為C++/MFC面試題07-11

2016工資扣稅標(biāo)準(zhǔn)計(jì)算器07-06

社會(huì)保險(xiǎn)繳費(fèi)計(jì)算器07-13

《用計(jì)算器計(jì)算》教學(xué)反思07-03

C/C++面試題目集錦07-13

騰訊公司招聘c/c++筆試題07-13