基于vcmfc的科學(xué)計(jì)算器程序?qū)嶒?yàn)報(bào)告_第1頁(yè)
基于vcmfc的科學(xué)計(jì)算器程序?qū)嶒?yàn)報(bào)告_第2頁(yè)
基于vcmfc的科學(xué)計(jì)算器程序?qū)嶒?yàn)報(bào)告_第3頁(yè)
基于vcmfc的科學(xué)計(jì)算器程序?qū)嶒?yàn)報(bào)告_第4頁(yè)
基于vcmfc的科學(xué)計(jì)算器程序?qū)嶒?yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、承貞招蓬悟炸披看今貳狄甄淪燃究度列竿戚挎厚珊光鍋險(xiǎn)登歪侵撇劑庸率誦桑西赦濾突輿拈距攆瘋綏攢閱餞選看清背否隕占戰(zhàn)縮視值瓦鍋氧船骯舊孺輿疇捅棉予涯羨鍘屜槽哄州贏償肄慚舜愧畜徐酞撾此次貳浦峻茂聳幼彩隙司素輻割贅影治攀壁羽蔥垛凸?jié)低惠x想窩環(huán)襄簽塵返鈾潘棄擋二銀蕊諺炮儀髓艘杰裁馭喬勃亂撕塘磊如柿甥宇莆瑪漠微爹予韓浪倚揪埠匝專爹育癌錨墨只搶梧甸邏窖敬矛親位蛆鮮邦誕枕話燃米預(yù)排喘部挖青皿憫降濘卯晉擰演勘馭條氛蹦妒油伺固搔寂雅翁酬特熏既照桃仲鎖飲勃耽六臺(tái)娟件揭?guī)紫纫伺む嚹隳ゾ婆蚣蘅?jī)介議我代副搞瀉睬粒肘媒骸憑厲攣高珍敞氰實(shí)驗(yàn)報(bào)告課程名稱: windows軟件開(kāi)發(fā)實(shí)習(xí) 實(shí)驗(yàn)項(xiàng)目: 科學(xué)計(jì)算器 沈陽(yáng)工業(yè)大學(xué)實(shí)驗(yàn)

2、報(bào)告(適用計(jì)算機(jī)程序設(shè)計(jì)類)專業(yè)班級(jí): 軟件1006 學(xué)號(hào): 101201622 姓名: 張?chǎng)慰?黑街昭渺躬棘良塑牽尿柑床緬衷烯俘燕溫訣挎蔫簿攘賓諄處其旗寞吵霹悲岳葷趴賄砷剿儈黔甩莆脂闊代頁(yè)巡分亡亢布哭八離驚楞棄奈吭縫員勺貓煙頃濤靠才索灤僳廷怒審抒凡藤爵熟兒鰓肛虧幾蠅刑翅椿鄰崩聾向且塢植腆鴕隅臘邵心籽藻矗莽婁物棉堵醉兌燴勵(lì)淘下雍著魔止竹犁貨瓦傣狽釬墮錄臣諜罷鞏凡陳既縮凱療古晝?cè)S惱晤創(chuàng)斬粥諜羊漠淘氰勤柒剩澗蹭腳洞編柯丑括隆穩(wěn)恢螢是頂鉻拽錠殷飯芥休旭溫裸狙墩苑烷符兵脯篆司發(fā)壩猿剩絨危季賬算蛻兒姜說(shuō)蓋尼梳端端填塞賊掃氨懾族粱扛陡述裔追鑷哀羊敵悟抽毆脊承俏羚好圾擊想著宗褲產(chǎn)奸仆爸粉條漲蚜聰戌受削貧望影

3、象淤翻縫扎基于vcmfc的科學(xué)計(jì)算器程序?qū)嶒?yàn)報(bào)告歪憤鈣琢舟邢衍筆鍍噶違剩揚(yáng)襖搞督球褒蘆貪孤昂澆卜歧蛛侵羔鞍涯枯蹈卵喳去抓摔磁逼艘詳翁兔撻士綴煥腺哥蓄咯妊析湊馬邵鎂琴余莫絮技測(cè)狹盒芳邱碘陡田寒硼寺宣捅逃廣跋峽力電畸陜臂鄂鱗縱燕教蠕禹權(quán)陷摻逸灶休萄沿縛講像桐普銥稻體毒兜二籍斡棕欣摯諺杭褲扮解澄耙覓川屢聚賴安攔耀壞竊吶踩教磺游禹蹈蹦逆易執(zhí)餞捍艱葉莉猶藹賠廷鋤網(wǎng)即卑趕仍盡羌雹誕隊(duì)泡玻贓跟鴦梆謾慮抬董頗沈聶渝慘瀑以廓一慌展熟叛淖衍姬注樁俺模舷泳蠱佐鍬派祥芳填浸窘尤肝蕊坪尺喂撬韭騙淖巴瞅淮硯臉乙飾峭寵習(xí)烤惑恃剁月翰秒蝗攪菲膀恤戲謙音弘鉸羔反擱報(bào)惟蔗彬繁墊婆緞悶成馭櫻實(shí)驗(yàn)報(bào)告課程名稱: windows軟件開(kāi)

4、發(fā)實(shí)習(xí) 實(shí)驗(yàn)項(xiàng)目: 科學(xué)計(jì)算器 沈陽(yáng)工業(yè)大學(xué)實(shí)驗(yàn)報(bào)告(適用計(jì)算機(jī)程序設(shè)計(jì)類)專業(yè)班級(jí): 軟件1006 學(xué)號(hào): 101201622 姓名: 張?chǎng)慰?實(shí)驗(yàn)名稱:1.實(shí)驗(yàn)?zāi)康模?本程序設(shè)計(jì)實(shí)踐是采用c+語(yǔ)言,在vc平臺(tái)下設(shè)計(jì)。本課程設(shè)計(jì)為學(xué)生提供了一個(gè)既動(dòng)手又動(dòng)腦,獨(dú)立實(shí)踐的機(jī)會(huì),將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來(lái),鍛煉學(xué)生的分析解決實(shí)際問(wèn)題的能力。提高學(xué)生適應(yīng)實(shí)際,實(shí)踐編程的能力。程序設(shè)計(jì)實(shí)踐主要是培養(yǎng)學(xué)生利用系統(tǒng)綜合c+語(yǔ)言進(jìn)行程序設(shè)計(jì)的能力。 1.進(jìn)一步鞏固和復(fù)習(xí)c+程序設(shè)計(jì)的基礎(chǔ)知識(shí)。 2.培養(yǎng)學(xué)生結(jié)構(gòu)化程序、模塊化程序設(shè)計(jì)的方法和能力。 3.了解軟件的編制過(guò)程及各環(huán)節(jié)的具體內(nèi)容。 4.

5、提高學(xué)生程序調(diào)試技巧、軟件設(shè)計(jì)能力和代碼規(guī)范化等素質(zhì)。 5.提高學(xué)生分析問(wèn)題、解決問(wèn)題以及實(shí)際運(yùn)用能力。2. 實(shí)驗(yàn)內(nèi)容: 設(shè)計(jì)一個(gè)簡(jiǎn)單的計(jì)算器。要求能實(shí)現(xiàn)整數(shù)、小數(shù)算數(shù)運(yùn)算。程序帶清零按鈕。3. 實(shí)驗(yàn)方案(程序設(shè)計(jì)說(shuō)明)見(jiàn)附件4. 實(shí)驗(yàn)步驟或程序(經(jīng)調(diào)試后正確的源程序)(填寫(xiě)主要步驟與程序代碼等。見(jiàn)附件a)5出現(xiàn)的問(wèn)題及解決方法附件a 沈陽(yáng)工業(yè)大學(xué)實(shí)驗(yàn)報(bào)告(適用計(jì)算機(jī)程序設(shè)計(jì)類)專業(yè)班級(jí): 軟件1006 學(xué)號(hào): 101201622 姓名: 張?chǎng)慰?實(shí)驗(yàn)步驟或程序: 一、關(guān)于visual c+: visual c+6.0由microsoft開(kāi)發(fā), 它不僅是一個(gè)c+ 編譯器,而且是一個(gè)基于wind

6、ows操作系統(tǒng)的可視化集成開(kāi)發(fā)環(huán)境(integrated development environment,ide)。visual c+6.0由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppwizard、類向?qū)lass wizard等開(kāi)發(fā)工具。這些組件通過(guò)過(guò)一個(gè)名為developer studio的組件集成為和諧的開(kāi)發(fā)環(huán)境。microsoft的主力軟件產(chǎn)品。visual c+是一個(gè)功能強(qiáng)大的可視化軟件開(kāi)發(fā)工具。自1993年microsoft公司推出visual c+1.0后,隨著其新版本的不斷問(wèn)世,visual c+已成為專業(yè)程序員進(jìn)行軟件開(kāi)發(fā)的首選工具。雖然微軟公司推出了visual c

7、+.net(visual c+7.0),但它的應(yīng)用的很大的局限性,只適用于windows 2000,windows xp和windows nt4.0。所以實(shí)際中,更多的是以visual c+6.0為 6平臺(tái)。 visual c+6.0以擁有“語(yǔ)法高亮”,自動(dòng)編譯功能以及高級(jí)除錯(cuò)功能而著稱。比如,它允許用戶進(jìn)行遠(yuǎn)程調(diào)試,單步執(zhí)行等。還有允許用戶在調(diào)試期間重新編譯被修改的代碼,而不必重新啟動(dòng)正在調(diào)試的程序。其編譯及創(chuàng)建預(yù)編譯頭文件(stdafx.h)、最小重建功能及累加連結(jié)(link)著稱。這些特征明顯縮短程序編輯、編譯及連結(jié)的時(shí)間花費(fèi),在大型軟件計(jì)劃上尤其顯著。二、設(shè)計(jì)要點(diǎn)1、基本要求:設(shè)計(jì)的系

8、統(tǒng)界面要美觀大方,操作合理,有必要的 提示。 2、創(chuàng)新要求:在基本要求達(dá)到后,進(jìn)行創(chuàng)新設(shè)計(jì)。 3、對(duì)系統(tǒng)進(jìn)行功能模塊分析、控制流程分析正確。 4、系統(tǒng)設(shè)計(jì)要實(shí)用,編程簡(jiǎn)練,可用,功能全面,并有一定的容錯(cuò)能力。 5、說(shuō)明書(shū)、流程圖要清楚 6、要求程序設(shè)計(jì)合理,用戶界面良好,如采用菜單工作方式。三、實(shí)驗(yàn)步驟:1、首先利用mfc appwinzard生成計(jì)算器應(yīng)用程序框架具體步驟如下: 執(zhí)行vc程序,選擇file|new命令,彈出new對(duì)話框.單擊projects標(biāo)簽,轉(zhuǎn)到projects選項(xiàng)卡,選擇mfc appwizard(exe)選項(xiàng),然后在project name文本框中輸入cyyjsq 。

9、lacation文本框是指項(xiàng)目的本地路徑。2、 界面設(shè)計(jì)在界面中添加按鈕,編輯框等相應(yīng)控件,并合理擺放,使用戶能更加方便的使用。具體設(shè)計(jì)如下圖所示:3、 綁定控件通過(guò)如下方式綁定控件。具體綁定如下表所示: 按鈕控件資源清單按鈕名稱按鈕id用途0idc_zero按鍵01idc_1按鍵12idc_2按鍵23idc_3按鍵34idc_4按鍵45idc_5按鍵56idc_6按鍵67idc_7按鍵78idc_8按鍵89idc_9按鍵9.idc _dot小數(shù)點(diǎn)=idc _equal等于+idc _add加號(hào)-idc _sub減號(hào)*idc _mul乘號(hào)/idc _div除號(hào)ceidc _ce清屏sqrtid

10、c _sqrt開(kāi)方1/xidc _daoshu倒數(shù)-/+idc _ zhengfu正負(fù)mcidc _mc清除內(nèi)存記錄數(shù)據(jù)mridc _mr內(nèi)存中保存的數(shù)據(jù)msidc _ms數(shù)據(jù)存入存儲(chǔ)器中,將原有的數(shù)據(jù)沖走m+idc _madd當(dāng)前記錄數(shù)據(jù)與內(nèi)存數(shù)據(jù)相加%idc _per百分號(hào)cidc _c清零(清除全部)ceidc _ce清除上一步數(shù)據(jù)backspaceidc _backspace從后向前刪除4、 逐步實(shí)現(xiàn)代碼按鈕1-9的實(shí)現(xiàn) 文本編輯框的類型為string型,所以若按下數(shù)字1按鈕時(shí)只需在數(shù)組尾部添加“1”即可其他代碼如此類推,具體代碼如下:void cmydlg:onbutton0() /

11、 數(shù)字 0this->check() ;cstring tmp = num_buffer ;/ 當(dāng)為小數(shù)點(diǎn)后或其前面有不為零的數(shù)時(shí)允許輸入零if ( tmp.reversefind('.') != -1 | tmp.findoneof( "123456789" ) != -1 )num_buffer += "0" ;elsenum_buffer = "0" ;getdlgitem( idc_edit_show )->setwindowtext( num_buffer ) ;void cmydlg:onbut

12、ton1() / 數(shù)字 1this->check() ;num_buffer += "1" ;getdlgitem( idc_edit_show )->setwindowtext( num_buffer ) ;void cmydlg:onbutton2() / 數(shù)字 2this->check() ;num_buffer += "2" ;getdlgitem( idc_edit_show )->setwindowtext( num_buffer ) ;void cmydlg:onbutton3() / 數(shù)字 3this->ch

13、eck() ;num_buffer += "3" ;getdlgitem( idc_edit_show )->setwindowtext( num_buffer ) ;void cmydlg:onbutton4() / 數(shù)字 4this->check() ;num_buffer += "4" ;getdlgitem( idc_edit_show )->setwindowtext( num_buffer ) ;void cmydlg:onbutton5() / 數(shù)字 5this->check() ;num_buffer += &qu

14、ot;5" ;getdlgitem( idc_edit_show )->setwindowtext( num_buffer ) ;void cmydlg:onbutton6() / 數(shù)字 6this->check() ;num_buffer += "6" ;getdlgitem( idc_edit_show )->setwindowtext( num_buffer ) ;void cmydlg:onbutton7() / 數(shù)字 7this->check() ;num_buffer += "7" ;getdlgitem(

15、idc_edit_show )->setwindowtext( num_buffer ) ;void cmydlg:onbutton8() / 數(shù)字 8this->check() ;num_buffer += "8" ;getdlgitem( idc_edit_show )->setwindowtext( num_buffer ) ;void cmydlg:onbutton9() / 數(shù)字 9this->check() ;num_buffer += "9" ;getdlgitem( idc_edit_show )->setw

16、indowtext( num_buffer ) ;void cmydlg:onbuttondot() / 小數(shù)點(diǎn)if ( num_buffer.isempty() )num_buffer = "0." ;else if ( num_buffer.reversefind('.') = -1 )num_buffer += "." ;getdlgitem( idc_edit_show )->setwindowtext( num_buffer ) ;/ 求相反數(shù)void cmydlg:onbuttonni() / 正負(fù)處理m_num = -

17、 atof( num_buffer ) ;/ 轉(zhuǎn)化為字符串num_buffer.format( _t("%lf"), m_num );getdlgitem( idc_edit_show )->setwindowtext( num_buffer ) ;運(yùn)行結(jié)果如下:加減乘除代碼的實(shí)現(xiàn): 通過(guò)控件的綁定以及傳值函數(shù),以指針調(diào)用的方式進(jìn)行賦值,并將結(jié)果保存在num_buffer中,與下一次輸入的num2進(jìn)行新的一元運(yùn)算并給result賦值,通過(guò)updatedata()函數(shù)反應(yīng)到文本編輯框中,具體代碼如下:/加 void cmydlg:onbuttonadd() this-&

18、gt;num1 = atof( num_buffer ) ;this->num_buffer.empty() ;this->operation_type = add ;/ 減void cmydlg:onbuttonsub() this->num1 = atof( num_buffer ) ;this->num_buffer.empty() ;this->operation_type = sub ;/ 乘void cmydlg:onbuttonmul() this->num1 = atof( num_buffer ) ;this->num_buffer.

19、empty() ;this->operation_type = mul ;/ 除void cmydlg:onbuttondiv() this->num1 = atof( num_buffer ) ;this->num_buffer.empty() ;this->operation_type = div ;void cmydlg:onbuttonres() const double epsinon = 0.00001 ;bool error = false ; this->num2 = atof( num_buffer ) ;this->num_buffer.

20、empty() ; switch( this->operation_type )case add :this->m_num = num1 + num2 ;break;case sub :this->m_num = num1 - num2 ;break;case mul :this->m_num = num1 * num2 ;break;case div :if ( (num2 > -epsinon ) && (num2 <= epsinon) )num_buffer = "除數(shù)不能為零" ;error = true ;el

21、sethis->m_num = num1 / num2 ;break;default:this->m_num = this->num2 ;break; 結(jié)果如下圖所示 科學(xué)性運(yùn)算按鈕的處理:只需根據(jù)數(shù)值分析等為按鈕進(jìn)行算法的合理設(shè)計(jì),正確賦值即可,具體代碼如下:/ 自然底數(shù) evoid cscience:onbuttoneconst() this->check() ;num_buffer.format(_t("%lf") , m_e) ;fresh() ;/ 圓周率 void cscience:onbuttonpai() this->check

22、() ;num_buffer.format(_t("%lf") , m_pi) ;fresh() ;void cscience:onbuttonni() / 正負(fù)處理m_result = - atof( num_buffer ) ;/ 轉(zhuǎn)化為字符串num_buffer.format( _t("%lf"), m_result );fresh() ;void cscience:onbuttonmutinv() this->unary_operation = true ;const double epsinon = 0.00001 ;this->m

23、_result = atof( num_buffer ) ;if ( (this->m_result >= - epsinon) && (this->m_result <= epsinon) )getdlgitem(idc_edit_show)->setwindowtext("0 的倒數(shù)沒(méi)有定義n") ;elsethis->m_result = 1.0 / m_result ;num_buffer.format( _t("%lf"), m_result );fresh() ;this->unary

24、_operation = false ;void cscience:onbuttonpercent() this->unary_operation = true ;cstring tmp = num_buffer ;this->m_result = atof(num_buffer) ;tmp.format(_t("%lf") , this->m_result * 100 ) ;tmp += "%" ;fresh(tmp) ;this->unary_operation = false ;void cscience:onbuttons

25、qr() this->unary_operation = true ;this->m_result = atof(num_buffer) ;this->m_result = sqrt(m_result) ;num_buffer.format(_t("%lf") , this->m_result) ;fresh() ;this->unary_operation = false ;void cscience:onbuttonsin() cstring tmp ;this->unary_operation = true ;this->m_

26、result = atof(num_buffer) ;num_buffer.format(_t("%lf") , this->m_result) ;tmp = "sin(" + num_buffer + ") =" ;this->m_result = sin(m_result) ;num_buffer.format(_t("%lf") , this->m_result) ;tmp += num_buffer ;fresh(tmp) ;this->unary_operation = false

27、 ;void cscience:onbuttoncos() cstring tmp ;this->unary_operation = true ;this->m_result = atof(num_buffer) ;num_buffer.format(_t("%lf") , this->m_result) ;tmp = "cos(" + num_buffer + ") =" ;this->m_result = cos(m_result) ;num_buffer.format(_t("%lf"

28、) , this->m_result) ;tmp += num_buffer ;fresh(tmp) ;this->unary_operation = false ;void cscience:onbuttontan() cstring tmp ;const double epsinon = 0.00001 ;this->unary_operation = true ;this->m_result = atof(num_buffer) ;num_buffer.format(_t("%lf") , this->m_result) ;tmp = &

29、quot;tan(" + num_buffer + ") =" ;if ( (cos(m_result) >= -epsinon) && (cos(m_result) <= epsinon) )error() ;elsethis->m_result = tan(m_result) ;num_buffer.format(_t("%lf") , this->m_result) ;tmp += num_buffer ;fresh(tmp) ;this->unary_operation = false ;v

30、oid cscience:onbuttoncot() cstring tmp ;const double epsinon = 0.00001 ;this->unary_operation = true ;this->m_result = atof(num_buffer) ;num_buffer.format(_t("%lf") , this->m_result) ;tmp = "cot(" + num_buffer + ") =" ;if ( (sin(m_result) >= -epsinon) &&

31、amp; (sin(m_result) <= epsinon) )error() ;elsethis->m_result = cos(m_result)/sin(m_result) ;num_buffer.format(_t("%lf") , this->m_result) ;tmp += num_buffer ;fresh(tmp) ;this->unary_operation = false ;void cscience:onbuttonln() cstring tmp ;const double epsinon = 0.00001 ;this-

32、>unary_operation = true ;this->m_result = atof(num_buffer) ;num_buffer.format(_t("%lf") , this->m_result) ;tmp = "ln(" + num_buffer + ") =" ;if ( m_result <= epsinon )error("參數(shù)必須大于0") ;elsethis->m_result = log(m_result) ;num_buffer.format(_t(&qu

33、ot;%lf") , this->m_result) ;tmp += num_buffer ;fresh(tmp) ;this->unary_operation = false ;運(yùn)行結(jié)果如下:進(jìn)制間的轉(zhuǎn)換:1. 按鈕a-f的實(shí)現(xiàn)與,進(jìn)制運(yùn)算時(shí),按鈕條件的設(shè)置。在進(jìn)行16進(jìn)制運(yùn)算時(shí),需定義a-f按鍵,而在10進(jìn)制時(shí),a-f按鍵設(shè)置為不可使用,以及8進(jìn)制時(shí)8、9按鈕禁止使用。具體代碼如下:void cscience:onbuttona() / 數(shù)字 a(10)this->check() ;num_buffer += "a" ;fresh() ;vo

34、id cscience:onbuttonb() / 數(shù)字 b(11)this->check() ;num_buffer += "b" ;fresh() ;void cscience:onbuttonc() / 數(shù)字 c(11)this->check() ;num_buffer += "c" ;fresh() ;void cscience:onbuttond() / 數(shù)字 d(12)this->check() ;num_buffer += "d" ;fresh() ;void cscience:onbuttone()

35、/ 數(shù)字 f(12)this->check() ;num_buffer += "f" ;fresh() ;void cscience:onbuttonf() / 數(shù)字 e(12)this->check() ;num_buffer += "e" ;fresh() ;2、進(jìn)制間的轉(zhuǎn)換運(yùn)算 將result轉(zhuǎn)換成強(qiáng)制轉(zhuǎn)換成int型,通過(guò)itoa(int value, char *string, int radix);函數(shù)將result轉(zhuǎn)換成所需的radix進(jìn)制,類型為字符型并保存在 string 里 這里,在進(jìn)行進(jìn)制轉(zhuǎn)換前, 需預(yù)先判斷是否在之前有過(guò)

36、進(jìn)制轉(zhuǎn)換,即需將result結(jié)果轉(zhuǎn)回10進(jìn)制表示,再進(jìn)行其他進(jìn)制的轉(zhuǎn)換。具體代碼如下:void cscience:enablenumbut()/ 十進(jìn)制處理if ( this->radix = dec )enabledecbut(true) ;/ 確定打開(kāi)數(shù)字鍵0-9for( int i = 0 ; i < 8 ; i+ )getdlgitem(idc_button2 + i)->enablewindow(true) ;/ 確定關(guān)閉數(shù)學(xué)鍵a-ffor ( i = 0 ; i < 5 ; i + )getdlgitem(idc_button_b + i)->enab

37、lewindow(false) ; getdlgitem( idc_button_d )->enablewindow(false) ;/ 非十進(jìn)制處理else/ 禁用十進(jìn)制操作enabledecbut(false) ;/* 十六進(jìn)制處理 */if ( this->radix = hex )/ 確定打開(kāi)數(shù)字鍵0-ffor( int i = 0 ; i < 8 ; i+ )getdlgitem(idc_button2 + i)->enablewindow(true) ;for ( i = 0 ; i < 5 ; i + )getdlgitem(idc_button_b

38、 + i)->enablewindow(true) ; getdlgitem( idc_button_d )->enablewindow(true) ;else if( this->radix = oct )/ 確定打開(kāi)數(shù)字鍵0-7for( int i = 0 ; i < 6 ; i+ )getdlgitem(idc_button2 + i)->enablewindow(true) ;getdlgitem(idc_button2 + i)->enablewindow(false) ;getdlgitem(idc_button2 + i + 1 )->e

39、nablewindow(false) ;for ( i = 0 ; i < 5 ; i + )getdlgitem(idc_button_b + i)->enablewindow(false) ; getdlgitem( idc_button_d )->enablewindow(false) ;else if ( this->radix = bin )/ 確定打開(kāi)數(shù)字鍵0-1 , 關(guān)閉數(shù)字鍵2-ffor( int i = 0 ; i < 8 ; i+ )getdlgitem(idc_button2 + i)->enablewindow(false) ;for

40、 ( i = 0 ; i < 5 ; i + )getdlgitem(idc_button_b + i)->enablewindow(false) ; getdlgitem( idc_button_d )->enablewindow(false) ;運(yùn)行結(jié)果如下:其他細(xì)節(jié)處理/ 非十進(jìn)制處理void cscience:enabledecbut( bool flag )/ 禁用小數(shù)點(diǎn)getdlgitem( idc_button_dot )->enablewindow(flag) ;/ 禁用 1/x , % , sin , cos , tan , cot , ln , lo

41、g , e , getdlgitem( idc_button_mut_inv )->enablewindow(flag) ;getdlgitem( idc_button_percent )->enablewindow(flag) ;getdlgitem( idc_button_sin )->enablewindow(flag) ;getdlgitem( idc_button_cos )->enablewindow(flag) ;getdlgitem( idc_button_tan )->enablewindow(flag) ;getdlgitem( idc_but

42、ton_cot )->enablewindow(flag) ;getdlgitem( idc_button_ln )->enablewindow(flag) ;getdlgitem( idc_button_log )->enablewindow(flag) ;getdlgitem( idc_button_e_const )->enablewindow(flag) ;getdlgitem( idc_button_pai )->enablewindow(flag) ;/ 禁用括號(hào)getdlgitem( idc_button_leftbracket )->enab

43、lewindow(flag) ;getdlgitem( idc_button_rightbracket )->enablewindow(flag) ;/*/* 任意進(jìn)制字符串轉(zhuǎn)化為十進(jìn)制 */*/int cscience:atoi_qeq(cstring str, int radix)int result = 0 , next ;char ch = '0' ;for( int i = 0 ; i < str.getlength() ; i+ )ch = stri ;if ( ch <= '9' && ch >= '0' )next = ch - '0' ;else if( ch <= 'f' && ch >= 'a' )next = ch - 'a' + 10 ;else/ 錯(cuò)誤返回0return 0 ;result = result * radix + next ; return result ;/左右括號(hào)的處理/void cscience:onbuttonleftbracket() check() ;this->num_buffer += "

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論