九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOCX文檔下載  

C++課程設(shè)計報告 計算器的設(shè)計與實現(xiàn)

  • 資源ID:117408276       資源大?。?span id="24d9guoke414" class="font-tahoma">472.98KB        全文頁數(shù):25頁
  • 資源格式: DOCX        下載積分:20積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要20積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

C++課程設(shè)計報告 計算器的設(shè)計與實現(xiàn)

C+課程設(shè)計報告(20-20年度第學(xué)期)計算器的設(shè)計與實現(xiàn)專業(yè)計算機科學(xué)與技術(shù)學(xué)生姓名班級學(xué)號指導(dǎo)教師完成日期目錄1概述31.1課程設(shè)計目的31.2課程設(shè)計內(nèi)容32系統(tǒng)需求分析32.1系統(tǒng)目標32.2主體功能32.3開發(fā)環(huán)境33系統(tǒng)概要設(shè)計43.1系統(tǒng)功能劃分43.2系統(tǒng)流程圖54系統(tǒng)詳細設(shè)計54.1設(shè)計步驟54.2界面設(shè)計74.2實現(xiàn)高級按鈕控件類105測試115.1測試方案115.2測試結(jié)果116小結(jié)12參考文獻14附錄15附錄1源程序清單15C+課稈設(shè)計報告(2011)計算器的設(shè)計與實現(xiàn)1概述1.1 課程設(shè)計目的1、鞏固并加深學(xué)生對C+語言程序設(shè)計知識的理解;2、培養(yǎng)學(xué)生面向?qū)ο蟮某绦蛟O(shè)計思想,使學(xué)生認識面向過程和面向?qū)ο髢煞N設(shè)計方法的區(qū)別;3、進一步掌握和應(yīng)用VC+6.0集成開發(fā)環(huán)境;4、提高運用C+語言解決實際問題的能力;5、初步掌握開發(fā)小型實用軟件的基本方法,能獨立設(shè)計、實現(xiàn)基本的MIS系統(tǒng);6、掌握書寫程序設(shè)計開發(fā)文檔的能力(書寫課程設(shè)計實驗報告)。1.2 課程設(shè)計內(nèi)容課題名稱:計算器的實現(xiàn)說明:實現(xiàn)一個計算器。要求:1)用“計算器”的標準視圖執(zhí)行簡單的計算。2)用其科學(xué)型視圖執(zhí)行高級的科學(xué)計算。2系統(tǒng)需求分析2.1 系統(tǒng)目標我們在學(xué)習(xí)生活中,常會遇到一些繁雜的數(shù)值運算,這時候我們就必須用到科學(xué)計算器,所以便著手開發(fā)了這個計算器程序,以便用于自己的學(xué)習(xí)工作。要計算功能有以下幾個方面:加法,減法,乘法,除法,求冪,求模,求平方根,求Sin,求Cos。2.2 主體功能1、十進制數(shù)的加、減、乘、除、乘方、取模等簡單計算。2、科學(xué)計算函數(shù),包括(反)正弦、(反)余弦、(反)正切、(反)余切、開方、指數(shù)等函數(shù)運算。3、以角度、弧度兩種方式實現(xiàn)上述部分函數(shù)。2.3 開發(fā)環(huán)境VC+6.03系統(tǒng)概要設(shè)計3.1 系統(tǒng)功能劃分表3-1系統(tǒng)功能表序號文件名主要功能備注1+加法求和兩個操作數(shù)2-減法求差兩個操作數(shù)3*乘法求積兩個操作數(shù)4/除法求商兩個操作數(shù)5%求模兩個操作數(shù)6A求x的y次幕兩個操作數(shù)7S求平方根一個操作數(shù)8Sin求正弦一個操作數(shù)9Cos求余弦一個操作數(shù)10In求對數(shù)一個操作數(shù)11n!求階乘一個操作數(shù)12=等于13C寄存器清零1)假設(shè)執(zhí)行操作“+”,先輸入一個數(shù),再輸入“+”,再輸入另一個數(shù),最后輸入“+”。整個功能“+”就執(zhí)行完畢。2)執(zhí)行操作“Sin”,先輸入一個數(shù),在輸入“Sin”,整個功能“Sin”就執(zhí)行完畢。3)執(zhí)行操作“n!”,先輸入一個數(shù),再輸入“n!',整個功能“n!”執(zhí)行3.2 系統(tǒng)流程圖圖3-1系統(tǒng)流程圖4系統(tǒng)詳細設(shè)計4.1設(shè)計步驟打開MicrosoftVisualC+6.0,在文件中點擊新建,在彈出框內(nèi)選擇MFCAppWizardexe工程,輸入工程名cao及其所在位置,點擊確定,如圖4-1所示。圖4-1新建MFCAppWizardexe工程將彈出MFCAppWizard-step1對話框,選擇基本對話框,點擊完成,如圖4-2所示。圖4-2基本對話框這樣,MFCAppWizard就建立了一個基于對話窗口的程序框架,如圖4-3所示。衰骨的章音SSA工程揭M疥E工曇囲口聖吐'-國蓉習(xí)1-d«CCtioDIg|(AllcIsbinieimtber貝T|CCaDDIgi二臥4齒!-ia-口oiire&uurccB由二JDiaDog由UIc4>n申口SBrinqTable由_Version)豈tao.n:-SDD.CAO.DIALOG(Dialog|二回AZ口函因.i味逛曰出匚血出四回耳嘔國¥比氏I-?ml.-“L3団FdHI.?;4-咅站直回和11奎.nRc®dy圖4-3新建的對話框4.2 界面設(shè)計界面設(shè)計主要是創(chuàng)建控件,在圖4-3所示的ResoureView選項卡中打開Dialog資源組,雙擊IDD_ZH0UT0NG_DIAL0G,在右邊的窗口中顯示出待編輯的對話框。開始擺放控件,包括編輯框和按鈕的創(chuàng)建。按鈕的創(chuàng)建以“1”為例進行介紹,其他按鈕的創(chuàng)建可參照此進行操作。1)在圖4-3中Controls的“編輯框”按鈕上單擊鼠標左鍵,在對話框編輯窗口上合適的位置按下鼠標左鍵并拖動鼠標畫出一個大小合適的編輯框。在編輯框上單擊鼠標右鍵,在彈出的快捷菜單中選擇屬性選項,此時彈出Edit屬性對話框,如圖4-4所示,在該對話框中輸入ID屬性。11圖4-4Edit屬性對話框2)在圖4-2中Controls的“Butto按鈕上單擊鼠標左鍵,在對話框上的合適的位置上按下鼠標左鍵并拖動鼠標畫出一個大小合適的下壓式按鈕。在按鈕上單擊鼠標右鍵,在彈出的快捷菜單中選擇屬性選項,此時也彈出PushButton屬性對話框,如圖4-5所示,在該對話框中輸入控件的ID值和標題屬性。圖4-5PushButton屬性按照上面的操作過程編輯其他按鈕和編輯框等對象的屬性表4-1各按鈕和編輯框等對象的屬性對象ID標題或說明編輯框IDCxianshi結(jié)果顯示按鈕IDCBUTTONO0按鈕IDCBUTTON11按鈕IDCBUTTON22按鈕IDCBUTTON33按鈕IDCBUTTON44按鈕IDCBUTTON55按鈕IDCBUTTON66按鈕IDCBUTTON77按鈕IDCBUTTON88按鈕IDCBUTTON99按鈕IDCchange+/-按鈕IDCpoint按鈕IDCadd+按鈕IDCdifference-按鈕IDCchu/按鈕IDCtantan按鈕IDCexpexp按鈕IDCmultiply*按鈕IDCsqrtsqrt按鈕IDCdaoshu1/x按鈕IDCjiechengn!按鈕IDClnIn按鈕IDCsinsin按鈕IDCcoscos按鈕IDCpowxAy按鈕IDCOnequal=完成后界面如圖4-6所示。°1Pll|&|i11nn147FI-OU上_1上丄63:pI|C05IIsin圖4-6設(shè)計界面E3加入標準型和科學(xué)型按鍵:S3caoEditr科學(xué)型r標準型E1M-JTI丄丄上丄1E-y4圖4-7加入標準型和科學(xué)型按鍵界面C+課程設(shè)計報告(2011)運行界面效果如圖4-8:13L-.廣弧度47+/-0y圖4-8科學(xué)型界面4.3 實現(xiàn)高級按鈕控件類因為本程序大多使用按鈕來完成我們所需的計算,所以在這里,我使用高級按鈕控件來實現(xiàn)操作,具體過程如下:利用ClassWizard添加一個新類(1) 添加成員變量和成員函數(shù)添加成員變量:public:CRectm_ClientRect;/用來保存按鈕的客戶的矩形區(qū)域CRgnm_ClientRgn;/用來保存按鈕的客戶區(qū)域,非矩形UINTm_State;/按鈕所處狀態(tài)CPointm_Point;/當(dāng)前鼠標位置BOOLm_IsTimerOn;/標識計時器是否已經(jīng)打開利用ClassWizard添加消息映射和響應(yīng)函數(shù):再利用ClassWizard覆蓋父類中的兩個關(guān)鍵的虛函數(shù):/AFX_VIRTUAL(CAdvButton)public:virtualvoidDrawItem(LPDRAWITEMSTRUCTlpDrawItemStruct);protected:virtualvoidPreSubclassWindow();/AFX_VIRTUAL其中對于所有的對于按鈕的繪制工作都是在Drawltem函數(shù)中完成的。(2) 添加創(chuàng)建按鈕控件代碼按鈕的創(chuàng)建分兩步完成。首先,調(diào)用構(gòu)造函數(shù)對按鈕對象進行初始化;其次,調(diào)用Create函數(shù)創(chuàng)建按鈕。(3) 屏蔽Enter鍵直到現(xiàn)在為止,雖然計算器的界面已經(jīng)完成。但是,它還有一個缺陷:當(dāng)Enter鍵按下時,對話框應(yīng)付突然關(guān)掉。這是因為對話框默認具有焦點的控件是OK鍵,當(dāng)Enter鍵按下時,框架會自動執(zhí)行當(dāng)前擁有焦點的控件的響應(yīng)函數(shù),所以對話框自然就關(guān)閉了。要屏蔽這一功能,只要執(zhí)行下面的代碼就可以。voidCCalculatorDlg:OnOK()/CDialog:OnOK();/屏蔽掉此句代碼5測試5.1測試方案先用標準型進行簡單的四則運算:+-*/,測試完成后。再用科學(xué)型進行稍復(fù)雜的運算:sin,cos,tan,log,ln,n!等,核對其計算結(jié)果的正確性。5.2 測試結(jié)果經(jīng)測試標準型計算器,進行簡單的四則運算,結(jié)果均正確,如圖5-1所示。圖5-1四則運算測試結(jié)果圖測試科學(xué)型計算器,進行sin,cos,tan,log,ln,n!等運算,結(jié)果均正確,求丄丄9-in=I_J-J_-1sin30'(如圖5-2所示)。圖5-2求sin30測試結(jié)果圖(一)圖5-3求sin30測試結(jié)果圖(二)6小結(jié)通過一個多星期的折騰,總算把課程設(shè)計給完成了,這是一個堅苦而又漫長的過程。看著勞動成果,很欣慰!剛開始,可以說是完全沒有頭緒,于是上網(wǎng)查,找到了些與我題目相似的源代碼,然后對之進行修改,測試,最后得到我這次課程設(shè)計所需要的代碼.通過計算器的設(shè)計這一課題的設(shè)計和實現(xiàn),我對簡單的C語言編程有了進一步C+課稈設(shè)計報告(2011)的認識,對MicrosoftVisualC+6.0這個程序的操作更加熟練了一些?;仡櫞舜蔚恼n程設(shè)計,我學(xué)到了很多東西不僅鞏固了書本的知識并且與實踐相結(jié)合提高具體操作能力,在設(shè)計的過程中發(fā)現(xiàn)自己的不足,有些知識掌握的不夠牢靠,通過這次的課程設(shè)計之后我把前面所學(xué)的知識又重新溫故了一遍。同時,在老師和同學(xué)身上我學(xué)到了很多非常實用的知識,在此對給過我?guī)椭耐瑢W(xué)和老師表示由衷的感謝!17參考文獻1 譚浩強.C程序設(shè)計(第三版)M.北京:清華大學(xué)出版社,2005.2 譚浩強.C程序設(shè)計題解與上機指導(dǎo)(第三版)M.北京:清華大學(xué)出版社,2005.3 甄煒.C+語言和面向?qū)ο蟪绦蛟O(shè)計教程M.北京:機械工業(yè)出版社,2005.附錄附錄1源程序清單/CalculatorDlg.cpp:implementationfile#include"stdafx.h"#include"Calculator.h"#include"CalculatorDlg.h"#include"math.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE=_FILE_;#endif/CAboutDlgdialogusedforAppAboutclassCAboutDlg:publicCDialogpublic:CAboutDlg();/DialogData/AFX_DATA(CAboutDlg)enumIDD=IDD_ABOUTBOX;/AFX_DATA/ClassWizardgeneratedvirtualfunctionoverrides/AFX_VIRTUAL(CAboutDlg)/DDX/DDVsupportprotected:virtualvoidDoDataExchange(CDataExchange*pDX);/AFX_VIRTUAL/Implementationprotected:/AFX_MSG(CAboutDlg)/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg():CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoidCAboutDlg:DoDataExchange(CDataExchange*pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg,CDialog)/AFX_MSG_MAP(CAboutDlg)/Nomessagehandlers/AFX_MSG_MAPEND_MESSAGE_MAP()/CCalculatorDlgdialogCCalculatorDlg:CCalculatorDlg(CWnd*pParent/*=NULL*/):CDialog(CCalculatorDlg:IDD,pParent)/AFX_DATA_INIT(CCalculatorDlg)m_result=_T("");m_isDegree=-1;m_sentific=-1;/AFX_DATA_INIT/NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);m_hAccel=LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDD);DtoR=1;m_coff=0.1;m_bCoff=0;m_errorState=ErrNone;m_bOperandAvail=FALSE;m_operator=OpNone;voidCCalculatorDlg:DoDataExchange(CDataExchange*pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CCalculatorDlg)DDX_Text(pDX,IDC_DISPLAY,m_result);DDX_Radio(pDX,IDC_DEGREE,m_isDegree);DDX_Radio(pDX,IDC_SENTIFIC,m_sentific);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CCalculatorDlg,CDialog)/AFX_MSG_MAP(CCalculatorDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_COMMAND_RANGE(IDC_0,IDC_9,OnOperandInput)ON_BN_CLICKED(IDC_ADD,OnAdd)ON_BN_CLICKED(IDC_MINUS,OnMinus)ON_BN_CLICKED(IDC_DIVID,OnDivid)ON_BN_CLICKED(IDC_MULTIPLY,OnMultiply)ON_BN_CLICKED(IDC_EQUAL,OnEqual)ON_BN_CLICKED(IDC_SQRT,OnSqrt)ON_BN_CLICKED(IDC_SIGN,OnSign)ON_BN_CLICKED(IDC_RECIPROCAL,OnReciprocal)ON_BN_CLICKED(IDC_POINT,OnPoint)ON_BN_CLICKED(IDC_CLEAR,OnClear)ON_BN_CLICKED(IDC_LOG,OnLog)ON_BN_CLICKED(IDC_LN,OnLn)ON_BN_CLICKED(IDC_FACTORIAL,OnFactorial)ON_BN_CLICKED(IDC_EXP,OnExp)ON_BN_CLICKED(IDC_SENTIFIC,OnSentific)ON_BN_CLICKED(IDC_SIN,OnSin)ON_BN_CLICKED(IDC_SQUAR,OnSquar)ON_BN_CLICKED(IDC_TAN,OnTan)ON_BN_CLICKED(IDC_STANDARD,OnStandard)ON_BN_CLICKED(IDC_DEGREE,OnDegree)ON_BN_CLICKED(IDC_RAD,OnRad)ON_BN_CLICKED(IDC_COS,OnCos)/AFX_MSG_MAPEND_MESSAGE_MAP()C+課稈設(shè)計報告(2011)/CCalculatorDlgmessagehandlersBOOLCCalculatorDlg:OnInitDialog()CDialog:OnInitDialog();/Add"About."menuitemtosystemmenu./IDM_ABOUTBOXmustbeinthesystemcommandrange.ASSERT(IDM_ABOUTBOX&0xFFF0)=IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX<0xF000);CMenu*pSysMenu=GetSystemMenu(FALSE);if(pSysMenu!=NULL)CStringstrAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if(!strAboutMenu.IsEmpty()pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);/Settheiconforthisdialog.Theframeworkdoesthisautomatically/whentheapplication'smainwindowisnotadialogSetIcon(m_hIcon,TRUE);/SetbigiconSetIcon(m_hIcon,FALSE);/Setsmallicon/TODO:AddextrainitializationhereGetWindowRect(rcSentific);CWnd*m_pMark=GetDlgItem(IDC_DISPLAY);ASSERT(m_pMark);CRectrect;m_pMark->GetWindowRect(rect);rcStandard=rcSentific;rcStandard.right=rect.right+5;m_bIsExpand=0;m_sentific=1;OnStandard();m_result="0."m_isDegree=1;UpdateData(FALSE);returnTRUE;/returnTRUEunlessyousetthefocustoacontrolvoidCCalculatorDlg:OnSysCommand(UINTnID,LPARAMlParam)if(nID&0xFFF0)=IDM_ABOUTBOX)CAboutDlgdlgAbout;dlgAbout.DoModal();elseCDialog:OnSysCommand(nID,lParam);/Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow/todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,/thisisautomaticallydoneforyoubytheframework.19計算器的設(shè)計與實現(xiàn)voidCCalculatorDlg:OnPaint()if(IsIconic()CPaintDCdc(this);/devicecontextforpaintingSendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);/CentericoninclientrectangleintcxIcon=GetSystemMetrics(SM_CXICON);intcyIcon=GetSystemMetrics(SM_CYICON);CRectrect;GetClientRect(&rect);intx=(rect.Width()-cxIcon+1)/2;inty=(rect.Height()-cyIcon+1)/2;/Drawtheicondc.DrawIcon(x,y,m_hIcon);elseCDialog:OnPaint();/Thesystemcallsthistoobtainthecursortodisplaywhiletheuserdrags/theminimizedwindow.HCURSORCCalculatorDlg:OnQueryDragIcon()return(HCURSOR)m_hIcon;voidCCalculatorDlg:OnOperandInput(UINTnID)ASSERT(nID>=IDC_0&&nID<=IDC_9);if(m_errorState!=ErrNone)return;if(m_func!=FuncNone)m_func=FuncNone;Calculate();if(!m_bOperandAvail)m_operand=0;if(!m_bCoff)m_operand=m_operand*10+(nID-IDC_0);elsem_operand=m_operand+(nID-IDC_0)*m_coff;m_coff*=0.1;m_bOperandAvail=TRUE;UpdateDisplay();voidCCalculatorDlg:Calculate()if(m_errorState!=ErrNone)return;if(m_bOperandAvail)#C+課稈設(shè)計報告(2011)if(m_operator=OpNone)m_accum=m_operand;elseif(m_operator=OpMultiply)m_accum*=m_operand;elseif(m_operator=OpDivide)if(m_operand=0)m_errorState=ErrDivideByZero;elsem_accum/=m_operand;elseif(m_operator=OpAdd)m_accum+=m_operand;elseif(m_operator=OpSubtract)m_accum-=m_operand;m_bOperandAvail=FALSE;m_bCoff=0;m_coff=0.1;UpdateDisplay();voidCCalculatorDlg:UpdateDisplay()if(GetSafeHwnd()=NULL)return;if(m_errorState!=ErrNone)m_result="除數(shù)不能為零";elsefloatlVal=(m_bOperandAvail)?m_operand:m_accum;m_result.Format(_T("%f"),lVal);inti=m_result.GetLength();while(m_result.GetAt(i-1)='0')m_result.Delete(i-1,1);i-=1;UpdateData(FALSE);BOOLCCalculatorDlg:Keyboard(LPCTSTRszButton)switch(szButton0)case'c':case'C':OnClear();break;case'/':OnDivid();break;case'+':OnAdd();break;case'-':OnMinus();break;case'*':OnMultiply();break;case'=':OnEqual();break;default:if(szButton0>='0'&&szButton0<='9')if(m_errorState!=ErrNone)returnFALSE;if(!m_bOperandAvail)m_operand=0;m_operand=m_operand*10+szButton0-'0'm_bOperandAvail=TRUE;UpdateDisplay();elsereturnFALSE;break;returnTRUE;voidCCalculatorDlg:OnAdd()/TODO:AddyourcontrolnotificationhandlercodehereCalculate();m_operator=OpAdd;voidCCalculatorDlg:OnMinus()/TODO:AddyourcontrolnotificationhandlercodehereCalculate();m_operator=OpSubtract;voidCCalculatorDlg:OnDivid()/TODO:AddyourcontrolnotificationhandlercodehereCalculate();m_operator=OpDivide;voidCCalculatorDlg:OnMultiply()/TODO:AddyourcontrolnotificationhandlercodehereCalculate();m_operator=OpMultiply;voidCCalculatorDlg:OnEqual()/TODO:AddyourcontrolnotificationhandlercodehereCalculate();m_operator=OpNone;voidCCalculatorDlg:OnSign()/TODO:Addyourcontrolnotificationhandlercodeherem_operand*=-1;UpdateDisplay();voidCCalculatorDlg:OnSqrt()/TODO:Addyourcontrolnotificationhandlercodeherem_func=FuncSqrt;Run_Func();voidCCalculatorDlg:OnReciprocal()/TODO:Addyourcontrolnotificationhandlercodeherem_func=FuncRec;Run_Func();voidCCalculatorDlg:OnPoint()/TODO:Addyourcontrolnotificationhandlercodeherem_bCoff=1;UpdateDisplay();voidCCalculatorDlg:OnClear()/TODO:Addyourcontrolnotificationhandlercodeherem_operator=OpNone;m_operand=0;m_accum=0;m_bOperandAvail=FALSE;m_errorState=ErrNone;m_coff=0.1;UpdateDisplay();BOOLCCalculatorDlg:PreTranslateMessage(MSG*pMsg)if(m_hAccel!=NULL&&TranslateAccelerator(m_hWnd,m_hAccel,pMsg)returnTRUE;returnCDialog:PreTranslateMessage(pMsg);voidCCalculatorDlg:OnLog()/TODO:Addyourcontrolnotificationhandlercodeherem_func=FuncLog;Run_Func();voidCCalculatorDlg:OnLn()/TODO:Addyourcontrolnotificationhandlercodeherem_func=FuncLn;Run_Func();voidCCalculatorDlg:OnFactorial()/TODO:Addyourcontrolnotificationhandlercodeherem_func=FuncN;Run_Func();voidCCalculatorDlg:OnExp()/TODO:Addyourcontrolnotificationhandlercodeherem_func=FuncExp;Run_Func();voidCCalculatorDlg:OnSentific()/TODO:Addyourcontrolnotificationhandlercodeherem_bIsExpand=1;m_sentific=0;ExpandToSentific();voidCCalculatorDlg:OnSin()/TODO:Addyourcontrolnotificationhandlercodeherem_func=FuncSin;Run_Func();voidCCalculatorDlg:OnSquar()/TODO:Addyourcontrolnotificationhandlercodeherem_func=FuncSqre;Run_Func();voidCCalculatorDlg:OnTan()/TODO:Addyourcontrolnotificationhandlercodeherem_func=FuncTan;Run_Func();voidCCalculatorDlg:OnStandard()/TODO:Addyourcontrolnotificationhandlercodeherem_bIsExpand=0;m_sentific=1;ExpandToSentific();voidCCalculatorDlg:Run_Func()if(m_errorState!=ErrNone)return;if(m_bOperandAvail)if(m_func=FuncExp)m_operand=exp(m_operand);if(m_func=FuncLn)m_operand=log(m_operand);if(m_func=FuncLog)m_operand=log10(m_operand);if(m_func=FuncSqrt)m_operand=sqrt(m_operand);if(m_func=FuncSqre)m_operand=pow(10,m_operand);if(m_func=FuncSin)m_operand=sin(m_operand*DtoR);23C+課稈設(shè)計報告(2011)if(m_func=FuncCos)m_operand=cos(m_operand*DtoR);if(m_func=FuncTan)m_operand=tan(m_operand*DtoR);if(m_func=FuncRec)m_operand=1/m_operand;if(m_func=FuncN)inti;for(i=m_operand-1;i>=1;i-)m_operand*=i;UpdateDisplay();/m_func=FuncNone;voidCCalculatorDlg:OnDegree()/TODO:Addyourcontrolnotificationhandlercodeherem_isDegree=0;DtoR=(2*PI)/360;UpdateData(FALSE);voidCCalculatorDlg:OnRad()/TODO:Addyourcontrolnotificationhandlercodeherem_isDegree=1;DtoR=1;UpdateData(TRUE);voidCCalculatorDlg:OnCos()/TODO:Addyourcontrolnotificationhandlercodeherem_func=FuncCos;Run_Func();voidCCalculatorDlg:ExpandToSentific()if(m_bIsExpand)SetWindowPos(NULL,0,0,rcSentific.Width(),rcSentific.Height(),SWP_NOMOVE|SWP_NOZORDER);SetVisibleCtrl();elseSetWindowPos(NULL,0,0,rcStandard.Width(),rcSentific.Height(),SWP_NOMOVE|SWP_NOZORDER);SetVisibleCtrl();UpdateData(FALSE);voidCCalculatorDlg:SetVisibleCtrl()CWnd*pCtrl=GetWindow(GW_CHILD);CRectrcTest;CRectrcControl;CRectrcShow;GetWindowRect(rcShow);while(pCtrl!=NULL)pCtrl->GetWindowRect(rcControl);if(rcTest.IntersectRect(rcShow,rcControl)pCtrl->EnableWindow(TRUE);elsepCtrl->EnableWindow(FALSE);pCtrl=pCtrl->GetWindow(GW_HWNDNEXT);25

注意事項

本文(C++課程設(shè)計報告 計算器的設(shè)計與實現(xiàn))為本站會員(ya****h)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!