版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 班 級(jí) </b></p><p> 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù)</p><p> 學(xué) 號(hào) 學(xué)生姓名</p><p><b> 指導(dǎo)教師</b></p><p> 完成日期 2011 年 01 月 13 日</p>&l
2、t;p><b> 摘 要</b></p><p> 課程設(shè)計(jì)語(yǔ)言類課程的指導(dǎo)思想:使學(xué)生通過學(xué)習(xí)高級(jí)編程語(yǔ)言的知識(shí)、編程技術(shù)和基本算法,掌握課程設(shè)計(jì)的思想和方法,具備利用計(jì)算機(jī)求解實(shí)際問題的能力,能靈活運(yùn)用高級(jí)語(yǔ)言進(jìn)行程序設(shè)計(jì)。</p><p> 其實(shí)認(rèn)真學(xué)習(xí)一門語(yǔ)言并不難,關(guān)鍵是所追求的學(xué)習(xí)方法和途徑。通過C語(yǔ)言程序設(shè)計(jì),可以使我們掌握軟件開發(fā)過程的難
3、題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測(cè)試程序等基本方法和技能。同時(shí),還能加強(qiáng)我們的時(shí)間管理意識(shí),鍛煉對(duì)難題的發(fā)現(xiàn)、分析和處理能力。我認(rèn)為遇到難題并不可怕,可怕的是你不去解決,這可能是C語(yǔ)言課程設(shè)計(jì)的主要目的之一。</p><p> 現(xiàn)時(shí)學(xué)習(xí)生活中,常會(huì)遇到一些數(shù)目較大數(shù)據(jù)繁雜的數(shù)值運(yùn)算,徒手運(yùn)算起來(lái)很困難,這時(shí)候我們就必須用到計(jì)算器。人們對(duì)計(jì)算的要求不斷提高,普通的功能簡(jiǎn)單的僅能進(jìn)行四則運(yùn)算的計(jì)算工具已經(jīng)不能滿足需要,
4、需要一種能進(jìn)行多種計(jì)算。現(xiàn)在已經(jīng)有一些功能較為強(qiáng)大、涵蓋面較廣的計(jì)算軟件,而且各種平臺(tái)的小工具仍不斷出現(xiàn)。這些大大方便了我們的生活給我們更多的選擇和實(shí)現(xiàn)方式。本程序的編寫基礎(chǔ)是MFC漢化版,它在MFC的原有基礎(chǔ)上實(shí)現(xiàn)了多漢字的支持方便了我們的使用。生成的程序可移植性強(qiáng)兼容性好穩(wěn)定!本程序?qū)崿F(xiàn)了加、減、乘、除、求冪、求模,求平方根,求Sin,求Cos,求Log10,求階乘,取整,求正切,以及進(jìn)制之間的相互轉(zhuǎn)換。它可以直接輸入數(shù)學(xué)表達(dá)式,不
5、需要任何轉(zhuǎn)換,就可以直接輸出數(shù)學(xué)四則運(yùn)算的結(jié)果。但是,每次只能運(yùn)算一個(gè)表達(dá)式,按 CE清空后再計(jì)算下一組式子。本程序在進(jìn)制轉(zhuǎn)換方面有一些漏洞,但一般的進(jìn)制轉(zhuǎn)換結(jié)果還是準(zhǔn)確的。</p><p><b> 第1章 選題的意義</b></p><p><b> 1.1自我介紹</b></p><p> 我的名字是涂國(guó)祥,就
6、讀于仰恩大學(xué),計(jì)算機(jī)090901班,計(jì)算機(jī)與信息學(xué)院。</p><p><b> 1.2選題</b></p><p> 我選的題目是:簡(jiǎn)單計(jì)算器的設(shè)計(jì)</p><p> 我選這道題的原因如下:</p><p> 計(jì)算器對(duì)我們每一的學(xué)生都很熟悉,從初中到高中再到大學(xué)。但是我們只知道按下幾個(gè)按鈕計(jì)算器便會(huì)顯示出結(jié)果,
7、很少有學(xué)生分析過計(jì)算器究竟是如何運(yùn)行的。C語(yǔ)言課程設(shè)計(jì)便是一個(gè)很好的機(jī)會(huì),讓我去親自寫計(jì)算器的運(yùn)行代碼,盡管是簡(jiǎn)單計(jì)算器的設(shè)計(jì),但其背后的知識(shí)那是相當(dāng)多的,對(duì)我是個(gè)挑戰(zhàn),我接受!</p><p> 運(yùn)用的數(shù)據(jù)結(jié)構(gòu)和知識(shí)點(diǎn)</p><p> MFC 繪圖知識(shí) 數(shù)學(xué)函數(shù) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 數(shù)組 指針 順序結(jié)構(gòu) 進(jìn)制間的轉(zhuǎn)換 </p>&l
8、t;p> 第2章 系統(tǒng)功能需求分析</p><p> 2.1系統(tǒng)的基本要求</p><p> 1. 算術(shù)運(yùn)算功能。能夠?qū)崿F(xiàn)+、-、*、/、mod、int運(yùn)算。</p><p> 2. 函數(shù)運(yùn)算功能。能夠?qū)崿F(xiàn)exp、ln、sin、x^y、log、cos、x^3、n!、tan、x^2、1/x等運(yùn)算。</p><p> 3. 進(jìn)制之
9、間的轉(zhuǎn)換功能。能夠?qū)崿F(xiàn)十六、十、二、八進(jìn)制數(shù)據(jù)之間的轉(zhuǎn)換。</p><p> 4.通過鍵盤控制字符和數(shù)字的輸入。</p><p> 2.2數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及用法說(shuō)明</p><p> 此程序調(diào)用的函數(shù)主要有<math.h> /*數(shù)學(xué)函數(shù)的定義*/<conio.h> /*屏幕操作函數(shù)*/<stdio.h> /*I/O函數(shù)*
10、/<stdlib.h> /*庫(kù)函數(shù)*/<stdarg.h> //<ctype.h> /*字符操作函數(shù)*/?;臼褂?用→←↑↓控制鼠標(biāo)圖形移動(dòng),當(dāng)*變量長(zhǎng)度參數(shù)表*/<graphics.h> /*圖形函數(shù)*/<string.h> /*字符串函數(shù)*移動(dòng)到相應(yīng)得按鈕時(shí)按回車鍵輸入當(dāng)前數(shù)字或執(zhí)行對(duì)應(yīng)的函數(shù)。</p><p> 加法:輸入一個(gè)被加數(shù)數(shù)
11、,按“+”,輸入被加數(shù),按“=”,輸出結(jié)果。</p><p> 乘法: 輸入一個(gè)數(shù),按“*”,輸入另個(gè)數(shù),按“=”,輸出結(jié)果。</p><p> 除法: 輸入一個(gè)被除數(shù),按“+”,輸入另個(gè)除數(shù),按“=”,輸出結(jié)果。</p><p> 求余:輸入一個(gè)數(shù),按“mod”,按“=”,輸出結(jié)果。</p><p> 取整:輸入一個(gè)數(shù),按“int”
12、,按“=”,輸出結(jié)果。</p><p> 八進(jìn)制轉(zhuǎn)十進(jìn)制:輸入一個(gè)八進(jìn)制數(shù),按“10->8”,按“=”,輸出十進(jìn)制結(jié)果。</p><p> 十六進(jìn)制轉(zhuǎn)十進(jìn)制:輸入一個(gè)十六進(jìn)制數(shù),按下“jz”+“16- >10” 按“=”,輸出十進(jìn)制結(jié)果</p><p><b> 2.3 功能模塊</b></p><p>
13、; 鍵盤控制模塊:通過int specialkey(void)和鍵盤來(lái)實(shí)現(xiàn)輸入數(shù)據(jù),操作方式的控制。</p><p> 計(jì)算模塊:通過調(diào)用math.h中的數(shù)學(xué)函數(shù),如:+、-、*、/、sin、cos、mod等來(lái)實(shí)現(xiàn)對(duì)result的賦值。</p><p> 輸出模塊:在指定位置輸出計(jì)算模塊中result的值,在指定位置輸出鍵盤控制模塊中對(duì)參量所賦的值以及在指定位置輸出鍵盤控制模塊中得到
14、的運(yùn)算符。</p><p><b> 第3章 系統(tǒng)設(shè)計(jì)</b></p><p><b> 3.1流程圖</b></p><p><b> 3.2數(shù)據(jù)結(jié)構(gòu)</b></p><p> 用到了if判斷語(yǔ)句,for循環(huán)語(yǔ)句,while語(yǔ)句,且主要通過while語(yǔ)句實(shí)現(xiàn)對(duì)鍵盤、光
15、標(biāo)的操作和數(shù)據(jù)、運(yùn)算符的輸入,還用到了switch語(yǔ)句,switch語(yǔ)句的主要作用是實(shí)現(xiàn)對(duì)所輸入的數(shù)據(jù)的運(yùn)算操作,然后將運(yùn)算結(jié)果賦值給result,最后輸出。</p><p><b> 第4章 系統(tǒng)實(shí)現(xiàn)</b></p><p> 本系統(tǒng)采用 C語(yǔ)言開發(fā),生成可執(zhí)行文件在任何系統(tǒng)下都可以執(zhí)行,具有很好的數(shù)據(jù)處理能力和穩(wěn)定性。并且使用MFC漢化版。生成的程序可移植性強(qiáng)
16、、兼容性好。它可以直接輸入數(shù)學(xué)表達(dá)式,不需要任何轉(zhuǎn)換,就可以直接輸出數(shù)學(xué)四則運(yùn)算的結(jié)果。</p><p> 本程序通過調(diào)用int specialkey(void) 和#include <conio.h> 來(lái)實(shí)現(xiàn)對(duì)屏幕的操作,通過調(diào)用int arrow()函數(shù),int specialkey(void) 和#include <conio.h>來(lái)實(shí)現(xiàn)對(duì)光標(biāo)的操作。計(jì)算器圖形采用Turbo C
17、 2.0繪圖程序制作,大致運(yùn)行畫面如下。</p><p> 光標(biāo)起始位置在“A”上,通過鍵盤來(lái)控制光標(biāo)的運(yùn)動(dòng),如進(jìn)行雙目運(yùn)算1+2時(shí),移動(dòng)光標(biāo),將其指在“1”上,按“Enter”,在屏幕上會(huì)輸出“1”,再移動(dòng)光標(biāo),將其指在“2”上,按“Enter”,在屏幕上會(huì)在指定位置輸出“2”,再移動(dòng)光標(biāo),將其指在“=”上,按“Enter”,結(jié)果便會(huì)在指定位置輸出。</p><p> 按下“CE”可
18、以清零,重新進(jìn)行下一組運(yùn)算。</p><p> 按“Esc”可以退出系統(tǒng)。</p><p><b> 第5章 總結(jié)</b></p><p> 經(jīng)過了三個(gè)星期的課程設(shè)計(jì),在設(shè)計(jì)中我們遇到了很多編程問題,最后我努力攻克一個(gè)個(gè)難關(guān),我做得是計(jì)算器的設(shè)計(jì)。</p><p> 測(cè)試階段中發(fā)現(xiàn)了幾處錯(cuò)誤導(dǎo)致程序不能編譯,去上
19、網(wǎng)查找相關(guān)的資料, 又同學(xué)一起討論。通過耐心的分析源代碼終于編好了一個(gè)完整無(wú)誤的程序。在這次的c語(yǔ)言程序設(shè)計(jì)實(shí)習(xí)中遇到了現(xiàn)實(shí)編程中必然見到的問題通過這些問題的解決積累了編程的實(shí)踐經(jīng)驗(yàn)。在實(shí)際的編程操作中發(fā)現(xiàn)自己c語(yǔ)言知識(shí)的不足,加深了對(duì)c語(yǔ)言的理解。在學(xué)習(xí)之余體驗(yàn)到收獲的感覺.</p><p> 善于總結(jié),也是學(xué)習(xí)能力的一種體現(xiàn),每次完成一個(gè)編程任務(wù),完成一段代碼,都應(yīng)當(dāng)有目的的跟蹤該程序的應(yīng)用狀況,隨時(shí)總結(jié),
20、找到自己的不足,這樣所編寫的程序才能逐步提高.課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新月異,當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說(shuō)得是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握計(jì)算機(jī)開發(fā)技術(shù)是十分重要的。</p><p> 自從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,在整整半個(gè)學(xué)期的日子里,可以學(xué)到很多很多的
21、東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次課程設(shè)計(jì)使我們懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相我們把前面所學(xué)過的知識(shí)又重新溫故了一遍。</p><p> 通過這次課程設(shè)計(jì),我拓寬了知識(shí)面,鍛煉了能力,綜合素質(zhì)得到較大提高。安排課程設(shè)計(jì)的基本目的,在于通過理論與實(shí)際的結(jié)合、人與人的溝通,進(jìn)一步提高思想覺悟。尤其是觀
22、察、分析和解決問題的實(shí)際工作能力,以便培養(yǎng)成為能夠主動(dòng)適應(yīng)社會(huì)主義現(xiàn)代化建設(shè)需要的高素質(zhì)的復(fù)合型人才。作為整個(gè)學(xué)習(xí)體系的有機(jī)組成部分,課程設(shè)計(jì)雖然安排在一周進(jìn)行,但并不具有絕對(duì)獨(dú)立的意義。它的一個(gè)重要功能,在于運(yùn)用學(xué)習(xí)成果,檢驗(yàn)學(xué)習(xí)成果。運(yùn)用學(xué)習(xí)成果,把課堂上學(xué)到的系統(tǒng)化的理論知識(shí),嘗試性地應(yīng)用于實(shí)際設(shè)計(jì)工作,并從理論的高度對(duì)設(shè)計(jì)工作的現(xiàn)代化提出一些有針對(duì)性的建議和設(shè)想。檢驗(yàn)學(xué)習(xí)成果,看一看課堂學(xué)習(xí)與實(shí)際工作到底有多大距離,并通過綜合分
23、析,找出學(xué)習(xí)中存在的不足,以便為完善學(xué)習(xí)計(jì)劃,改變學(xué)習(xí)內(nèi)容與方法提供實(shí)踐依據(jù)。而這種實(shí)際能力的培養(yǎng)單靠課堂教學(xué)是遠(yuǎn)遠(yuǎn)不夠的,必須從課堂走向?qū)嵺`。通過課程設(shè)計(jì),讓我們找出自身狀況與實(shí)際需要的差距,并在以后的學(xué)習(xí)期間及時(shí)補(bǔ)充相關(guān)知識(shí),為求職與正式工作做好充分的知識(shí)、能力準(zhǔn)備,從而縮短從校園走向社會(huì)的心理轉(zhuǎn)型期。課程設(shè)計(jì)促進(jìn)了我系人才培養(yǎng)計(jì)劃的完善和課程設(shè)置的調(diào)整。近年來(lái),我系為適應(yīng)學(xué)生的實(shí)踐需要陸續(xù)增</p><p>
24、;<b> 5.1致謝詞</b></p><p><b> 致謝詞</b></p><p> 感謝xx老師三周來(lái)的辛勤指導(dǎo),每當(dāng)我們遇到難題時(shí)您都能隨時(shí)幫我們很好的解決,并且告訴我們?yōu)槭裁催@樣改,指導(dǎo)得很詳細(xì),很認(rèn)真。您使我們知道了C語(yǔ)言程序設(shè)計(jì) 的趣味性。</p><p> 5.2主要參考文獻(xiàn):</p>
25、;<p> 《C++語(yǔ)言程序設(shè)計(jì)與實(shí)踐》張思民</p><p><b> 5.3中心算法;</b></p><p> 設(shè)計(jì)一個(gè)類CCALDLG,類里包含主要數(shù)據(jù)成員number1和number2,主要成員函數(shù)cal,在該函數(shù)內(nèi)利用case語(yǔ)句實(shí)現(xiàn)各種基本計(jì)算。利用MFC實(shí)現(xiàn)人機(jī)交互。增加了清零‘求導(dǎo),開根號(hào)等功能。</p><p
26、><b> 5.4程序代碼;</b></p><p> // jsqDlg.cpp : 實(shí)現(xiàn)文件</p><p> #include "stdafx.h"</p><p> #include "jsq.h"</p><p> #include "jsqDl
27、g.h"</p><p> #include "cmath"</p><p> #ifdef _DEBUG</p><p> #define new DEBUG_NEW</p><p><b> #endif</b></p><p> double a1;
28、 //保存計(jì)算中的第一個(gè)數(shù)</p><p> double a2; //保存計(jì)算中的第二個(gè)數(shù)</p><p> double a3;</p><p> int m_sign; //用來(lái)表示運(yùn)算符號(hào),為“+”,為“-”,為“*”,為“/”</p><p> int add=0; //用來(lái)判斷是否已經(jīng)存在別的數(shù),若沒有,則令add=
29、0;若有,則令add=1</p><p> int point=0; //表示小數(shù)點(diǎn),初始化無(wú)小數(shù)點(diǎn)為</p><p> int num=0; //表示小數(shù)點(diǎn)后的位數(shù)</p><p> double i=0;</p><p><b> int m=0;</b></p><p> //
30、 用于應(yīng)用程序“關(guān)于”菜單項(xiàng)的CAboutDlg 對(duì)話框</p><p> class CAboutDlg : public CDialog</p><p><b> {</b></p><p><b> public:</b></p><p> CAboutDlg();</p>
31、<p><b> // 對(duì)話框數(shù)據(jù)</b></p><p> enum { IDD = IDD_ABOUTBOX };</p><p> protected:</p><p> virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持</p&g
32、t;<p><b> // 實(shí)現(xiàn)</b></p><p> protected:</p><p> DECLARE_MESSAGE_MAP()</p><p><b> };</b></p><p> CAboutDlg::CAboutDlg() : CDialog(CAbo
33、utDlg::IDD)</p><p><b> {</b></p><p><b> }</b></p><p> void CAboutDlg::DoDataExchange(CDataExchange* pDX)</p><p><b> {</b></p&
34、gt;<p> CDialog::DoDataExchange(pDX);</p><p><b> }</b></p><p> BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)</p><p> END_MESSAGE_MAP()</p><p> // CjsqDl
35、g 對(duì)話框</p><p> CjsqDlg::CjsqDlg(CWnd* pParent /*=NULL*/)</p><p> : CDialog(CjsqDlg::IDD, pParent)</p><p> , m_edit(0)</p><p><b> {</b></p><p&g
36、t; m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);</p><p><b> }</b></p><p> void CjsqDlg::DoDataExchange(CDataExchange* pDX)</p><p><b> {</b></p>
37、;<p> CDialog::DoDataExchange(pDX);</p><p> DDX_Text(pDX, IDC_EDIT1, m_edit);</p><p><b> }</b></p><p> BEGIN_MESSAGE_MAP(CjsqDlg, CDialog)</p><p>
38、; ON_WM_SYSCOMMAND()</p><p> ON_WM_PAINT()</p><p> ON_WM_QUERYDRAGICON()</p><p> //}}AFX_MSG_MAP</p><p> ON_BN_CLICKED(IDC_BUTTON10, &CjsqDlg::OnBnClickedButto
39、n10)</p><p> ON_BN_CLICKED(IDC_BUTTON1, &CjsqDlg::OnBnClickedButton1)</p><p> ON_BN_CLICKED(IDC_BUTTON2, &CjsqDlg::OnBnClickedButton2)</p><p> ON_BN_CLICKED(IDC_BUTTON3,
40、&CjsqDlg::OnBnClickedButton3)</p><p> ON_BN_CLICKED(IDC_BUTTON4, &CjsqDlg::OnBnClickedButton4)</p><p> ON_BN_CLICKED(IDC_BUTTON5, &CjsqDlg::OnBnClickedButton5)</p><p>
41、 ON_BN_CLICKED(IDC_BUTTON6, &CjsqDlg::OnBnClickedButton6)</p><p> ON_BN_CLICKED(IDC_BUTTON7, &CjsqDlg::OnBnClickedButton7)</p><p> ON_BN_CLICKED(IDC_BUTTON8, &CjsqDlg::OnBnClicked
42、Button8)</p><p> ON_BN_CLICKED(IDC_BUTTON9, &CjsqDlg::OnBnClickedButton9)</p><p> ON_BN_CLICKED(IDC_BUTTON11, &CjsqDlg::OnBnClickedButton11)</p><p> ON_BN_CLICKED(IDC_BUT
43、TON12, &CjsqDlg::OnBnClickedButton12)</p><p> ON_BN_CLICKED(IDC_BUTTON13, &CjsqDlg::OnBnClickedButton13)</p><p> ON_BN_CLICKED(IDC_BUTTON14, &CjsqDlg::OnBnClickedButton14)</p>
44、;<p> ON_BN_CLICKED(IDC_BUTTON15, &CjsqDlg::OnBnClickedButton15)</p><p> ON_BN_CLICKED(IDC_BUTTON16, &CjsqDlg::OnBnClickedButton16)</p><p> ON_BN_CLICKED(IDC_BUTTON18, &Cjs
45、qDlg::OnBnClickedButton18)</p><p> ON_BN_CLICKED(IDC_BUTTON17, &CjsqDlg::OnBnClickedButton17)</p><p> ON_BN_CLICKED(IDC_BUTTON19, &CjsqDlg::OnBnClickedButton19)</p><p> O
46、N_BN_CLICKED(IDC_BUTTON20, &CjsqDlg::OnBnClickedButton20)</p><p> ON_BN_CLICKED(IDC_BUTTON22, &CjsqDlg::OnBnClickedButton22)</p><p> ON_BN_CLICKED(IDC_BUTTON21, &CjsqDlg::OnBnClick
47、edButton21)</p><p> ON_BN_CLICKED(IDC_BUTTON26, &CjsqDlg::OnBnClickedButton26)</p><p> ON_BN_CLICKED(IDC_BUTTON23, &CjsqDlg::OnBnClickedButton23)</p><p> END_MESSAGE_MAP(
48、)</p><p> // CjsqDlg 消息處理程序</p><p> BOOL CjsqDlg::OnInitDialog()</p><p><b> {</b></p><p> CDialog::OnInitDialog();</p><p> // 將“關(guān)于...”菜單項(xiàng)添
49、加到系統(tǒng)菜單中。</p><p> // IDM_ABOUTBOX 必須在系統(tǒng)命令范圍內(nèi)。</p><p> ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);</p><p> ASSERT(IDM_ABOUTBOX < 0xF000);</p><p> CMenu* p
50、SysMenu = GetSystemMenu(FALSE);</p><p> if (pSysMenu != NULL)</p><p><b> {</b></p><p> CString strAboutMenu;</p><p> strAboutMenu.LoadString(IDS_ABOUTBO
51、X);</p><p> if (!strAboutMenu.IsEmpty())</p><p><b> {</b></p><p> pSysMenu->AppendMenu(MF_SEPARATOR);</p><p> pSysMenu->AppendMenu(MF_STRING, IDM_
52、ABOUTBOX, strAboutMenu);</p><p><b> }</b></p><p><b> }</b></p><p> // 設(shè)置此對(duì)話框的圖標(biāo)。當(dāng)應(yīng)用程序主窗口不是對(duì)話框時(shí),框架將自動(dòng)</p><p><b> // 執(zhí)行此操作</b><
53、;/p><p> SetIcon(m_hIcon, TRUE);// 設(shè)置大圖標(biāo)</p><p> SetIcon(m_hIcon, FALSE);// 設(shè)置小圖標(biāo)</p><p> // TODO: 在此添加額外的初始化代碼</p><p> return TRUE; // 除非將焦點(diǎn)設(shè)置到控件,否則返回TRUE</p
54、><p><b> }</b></p><p> void CjsqDlg::OnSysCommand(UINT nID, LPARAM lParam)</p><p><b> {</b></p><p> if ((nID & 0xFFF0) == IDM_ABOUTBOX)<
55、/p><p><b> {</b></p><p> CAboutDlg dlgAbout;</p><p> dlgAbout.DoModal();</p><p><b> }</b></p><p><b> else</b></p&g
56、t;<p><b> {</b></p><p> CDialog::OnSysCommand(nID, lParam);</p><p><b> }</b></p><p><b> }</b></p><p> // 如果向?qū)υ捒蛱砑幼钚』粹o,則
57、需要下面的代碼</p><p> // 來(lái)繪制該圖標(biāo)。對(duì)于使用文檔/視圖模型的MFC 應(yīng)用程序,</p><p> // 這將由框架自動(dòng)完成。</p><p> void CjsqDlg::OnPaint()</p><p> //當(dāng)用戶拖動(dòng)最小化窗口時(shí)系統(tǒng)調(diào)用此函數(shù)取得光標(biāo)顯示。</p><p><
58、b> //</b></p><p> HCURSOR CjsqDlg::OnQueryDragIcon()</p><p><b> {</b></p><p> return static_cast<HCURSOR>(m_hIcon);</p><p><b> }&l
59、t;/b></p><p> void CjsqDlg::OnBnClickedButton10()//按鈕0</p><p><b> {</b></p><p> // TODO: 在此添加控件通知處理程序代碼</p><p> if(point==0)</p><p><
60、b> {</b></p><p> if(add==0)</p><p><b> {</b></p><p><b> m_edit=0;</b></p><p><b> }else{</b></p><p> m_ed
61、it=m_edit*10;</p><p><b> }</b></p><p><b> }else{</b></p><p><b> num++;</b></p><p><b> }</b></p><p><
62、b> add=1;</b></p><p> UpdateData(false);</p><p><b> }</b></p><p> UpdateData(false);</p><p><b> }</b></p><p> void C
63、jsqDlg::OnBnClickedButton1()//按鈕1</p><p><b> {</b></p><p> // TODO: 在此添加控件通知處理程序代碼</p><p> if(point==0)</p><p><b> {</b></p><p>
64、; if(add==0)</p><p><b> {</b></p><p><b> m_edit=1;</b></p><p><b> }else{</b></p><p> if(m_edit>=0) //判斷所輸入的是幾位數(shù);</p
65、><p><b> {</b></p><p> m_edit=m_edit*10+1;</p><p><b> }else{</b></p><p> m_edit=m_edit*10-1;</p><p><b> }</b></p&g
66、t;<p><b> }</b></p><p><b> }else{</b></p><p><b> num++;</b></p><p> if(m_edit>=0) //判斷所輸入的是否是小數(shù);即整數(shù)+小數(shù);</p><p>
67、; m_edit=m_edit+(double)1/pow((double)10,num);</p><p><b> else</b></p><p> m_edit=m_edit-(double)1/pow((double)10,num);</p><p><b> }</b></p><p
68、><b> add=1;</b></p><p> UpdateData(false);</p><p><b> }</b></p><p> 按鈕2,3,4,5,6,7,8,9與此相同;</p><p> void CjsqDlg::OnBnClickedButton11()//
69、按鈕2x號(hào) // 所輸入的數(shù)的兩倍;</p><p><b> {</b></p><p> // TODO: 在此添加控件通知處理程序代碼</p><p> UpdateData(true);</p><p><b> i=m_edit;</b></p><p&g
70、t;<b> a1=i+a1;</b></p><p> m_edit=a1;</p><p> //UpdateData(false); // 即加上了與輸入的數(shù)相同;</p><p> m_sign=0; </p><p> point=0;
71、 </p><p> add=0; </p><p><b> num=0;</b></p><p> OnBnClickedButton15();</p><p><b> }</b></p><p> void CjsqDlg:
72、:OnBnClickedButton12()//按鈕-號(hào)</p><p><b> {</b></p><p> // TODO: 在此添加控件通知處理程序代碼</p><p> UpdateData(true);</p><p><b> if(m==0)</b></p>&
73、lt;p><b> {</b></p><p> a1=m_edit;</p><p> m_edit=a1;</p><p><b> m=1;</b></p><p><b> }else{</b></p><p><b>
74、 i=m_edit;</b></p><p><b> a1=a1-i;</b></p><p> m_edit=a1;</p><p><b> m=1;</b></p><p><b> }</b></p><p> Upda
75、teData(false);</p><p><b> m_sign=1;</b></p><p><b> point=0;</b></p><p><b> add=0;</b></p><p><b> num=0;</b></p>
76、;<p><b> }</b></p><p> void CjsqDlg::OnBnClickedButton13()//按鈕*號(hào)</p><p><b> {</b></p><p> // TODO: 在此添加控件通知處理程序代碼</p><p> UpdateData
77、(true);</p><p><b> if(m==0)</b></p><p><b> {</b></p><p> a1=m_edit;</p><p> m_edit=a1;</p><p><b> m=1;</b></p&g
78、t;<p><b> }else{</b></p><p><b> i=m_edit;</b></p><p><b> a1=a1*i;</b></p><p> m_edit=a1;</p><p><b> m=1;</b>
79、</p><p><b> }</b></p><p> UpdateData(false);</p><p><b> m_sign=2;</b></p><p><b> point=0;</b></p><p><b> add
80、=0;</b></p><p><b> num=0;</b></p><p> }void CjsqDlg::OnBnClickedButton14()//按鈕/號(hào)</p><p><b> {</b></p><p> // TODO: 在此添加控件通知處理程序代碼</
81、p><p><b> if(m==0)</b></p><p><b> {</b></p><p> UpdateData(true);</p><p> a1=m_edit;</p><p> m_edit=a1;</p><p> Upd
82、ateData(false);</p><p><b> m=1;</b></p><p><b> }else{</b></p><p><b> i=m_edit;</b></p><p><b> if(i==0)</b></p>
83、<p><b> {</b></p><p> MessageBox(_T("除數(shù)不能為!"));</p><p> OnBnClickedButton16();</p><p><b> }else{</b></p><p><b> a1=a
84、1/i;</b></p><p> m_edit=a1;</p><p> UpdateData(false);</p><p><b> m=1;</b></p><p><b> }</b></p><p><b> }</b>
85、</p><p><b> m_sign=3;</b></p><p><b> point=0;</b></p><p><b> add=0;</b></p><p><b> num=0;</b></p><p>&l
86、t;b> }</b></p><p> void CjsqDlg::OnBnClickedButton15()//按鈕=號(hào)</p><p><b> {</b></p><p> // TODO: 在此添加控件通知處理程序代碼</p><p> UpdateData(true);</p&
87、gt;<p> a2=m_edit;</p><p> switch(m_sign)</p><p><b> {</b></p><p><b> case 0:</b></p><p><b> a3=a1+a2;</b></p>&l
88、t;p> m_edit=a3;</p><p> UpdateData(false);</p><p><b> break;</b></p><p><b> case 1:</b></p><p><b> a3=a1-a2;</b></p>
89、<p> m_edit=a3;</p><p> UpdateData(false);</p><p><b> break;</b></p><p><b> case 2:</b></p><p><b> a3=a1*a2;</b></p>
90、<p> m_edit=a3;</p><p> UpdateData(false);</p><p><b> break;</b></p><p><b> case 3:</b></p><p><b> if(a2==0)</b></p&g
91、t;<p><b> {</b></p><p> OnBnClickedButton16();//當(dāng)除數(shù)為時(shí)清零</p><p> MessageBox(_T("除數(shù)不能為!"));</p><p><b> }else{</b></p><p><
92、b> a3=a1/a2;</b></p><p> m_edit=a3;</p><p><b> }</b></p><p> UpdateData(false);</p><p><b> break;</b></p><p><b>
93、; }</b></p><p><b> add=0;</b></p><p><b> a1=0;</b></p><p><b> a2=0;</b></p><p><b> i=0;</b></p><p&
94、gt;<b> m=0;</b></p><p><b> }</b></p><p> void CjsqDlg::OnBnClickedButton16()//清零</p><p><b> {</b></p><p> // TODO: 在此添加控件通知處理程序
95、代碼</p><p><b> m_edit=0;</b></p><p> UpdateData(false);</p><p><b> a1=0;</b></p><p><b> a2=0;</b></p><p><b>
96、a3=0;</b></p><p><b> add=0;</b></p><p><b> num=0;</b></p><p><b> point=0;</b></p><p><b> m=0;</b></p>&
97、lt;p><b> }</b></p><p> void CjsqDlg::OnBnClickedButton17()//按鈕+/-</p><p><b> {</b></p><p> // TODO: 在此添加控件通知處理程序代碼</p><p> m_edit=0-m_ed
98、it;</p><p> UpdateData(false);</p><p><b> }</b></p><p> void CjsqDlg::OnBnClickedButton19()//按鈕ex</p><p><b> {</b></p><p> //
99、TODO: 在此添加控件通知處理程序代碼</p><p> m_edit=sqrt(m_edit);</p><p> UpdateData(false);</p><p><b> }</b></p><p> void CjsqDlg::OnBnClickedButton20()//按鈕x2</p>
100、;<p><b> {</b></p><p> // TODO: 在此添加控件通知處理程序代碼</p><p> m_edit=m_edit*m_edit;</p><p> UpdateData(false);</p><p><b> }</b></p>
101、<p> void CjsqDlg::OnBnClickedButton22()//按鈕3.14</p><p><b> {</b></p><p> // TODO: 在此添加控件通知處理程序代碼</p><p> m_edit=exp(m_edit);</p><p> UpdateData(f
102、alse);</p><p><b> }</b></p><p> void CjsqDlg::OnBnClickedButton21()//按鈕1/x;</p><p><b> {</b></p><p> // TODO: 在此添加控件通知處理程序代碼</p><
103、p> m_edit=1/m_edit;</p><p> UpdateData(false);</p><p><b> }</b></p><p> void CjsqDlg::OnBnClickedButton26()//按鈕CE;</p><p><b> {</b></
104、p><p> // TODO: 在此添加控件通知處理程序代碼</p><p><b> m_edit=0;</b></p><p> UpdateData(false);</p><p><b> }</b></p><p> void CjsqDlg::OnBnCli
105、ckedButton23()//按鈕log;</p><p><b> {</b></p><p> // TODO: 在此添加控件通知處理程序代碼</p><p> m_edit=log(m_edit);</p><p> UpdateData(false);</p><p><b
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 簡(jiǎn)易計(jì)算器課程設(shè)計(jì)
- 簡(jiǎn)易計(jì)算器課程設(shè)計(jì)
- 簡(jiǎn)易計(jì)算器課程設(shè)計(jì) (3)
- 簡(jiǎn)易計(jì)算器課程設(shè)計(jì) (2)
- 簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)----簡(jiǎn)易計(jì)算器
- vb課程設(shè)計(jì)簡(jiǎn)易計(jì)算器
- 微機(jī)課程設(shè)計(jì)--簡(jiǎn)易計(jì)算器
- 簡(jiǎn)易計(jì)算器學(xué)生課程設(shè)計(jì)
- 簡(jiǎn)易計(jì)算器的設(shè)計(jì)課程設(shè)計(jì)
- 高級(jí)語(yǔ)言課程設(shè)計(jì)--簡(jiǎn)易計(jì)算器
- 微機(jī)原理簡(jiǎn)易計(jì)算器課程設(shè)計(jì)
- 簡(jiǎn)易計(jì)算器vb課程設(shè)計(jì)報(bào)告
- 數(shù)電課程設(shè)計(jì)--簡(jiǎn)易計(jì)算器
- 微機(jī)原理課程設(shè)計(jì)--簡(jiǎn)易計(jì)算器設(shè)計(jì)
- 8086簡(jiǎn)易計(jì)算器的設(shè)計(jì)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--簡(jiǎn)易計(jì)算器
- 單片機(jī)課程設(shè)計(jì)簡(jiǎn)易計(jì)算器
- 簡(jiǎn)易計(jì)算器vb課程設(shè)計(jì)報(bào)告報(bào)告
- 單片機(jī)課程設(shè)計(jì)-簡(jiǎn)易計(jì)算器
評(píng)論
0/150
提交評(píng)論