C++課設(shè)1、設(shè)計一個能夠?qū)崿F(xiàn)n×n矩陣操作的類2、計算器程序_第1頁
C++課設(shè)1、設(shè)計一個能夠?qū)崿F(xiàn)n×n矩陣操作的類2、計算器程序_第2頁
C++課設(shè)1、設(shè)計一個能夠?qū)崿F(xiàn)n×n矩陣操作的類2、計算器程序_第3頁
C++課設(shè)1、設(shè)計一個能夠?qū)崿F(xiàn)n×n矩陣操作的類2、計算器程序_第4頁
C++課設(shè)1、設(shè)計一個能夠?qū)崿F(xiàn)n×n矩陣操作的類2、計算器程序_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計任務(wù)書學(xué)院信息科學(xué)與工程專業(yè)電子信息科學(xué)與技術(shù)學(xué)生姓名學(xué)號設(shè)計題目設(shè)計一個能夠?qū)崿F(xiàn)X矩陣操作的類計算器程序內(nèi)容及要求:T設(shè)計一個能夠?qū)崿F(xiàn)X矩陣操作的類矩陣是線性代數(shù)里一個重要的概念,在這里采用語言實現(xiàn)一個簡單的X矩陣類,類中包括一些簡單的運(yùn)算等操作具體要求如下:()使用構(gòu)造函數(shù)完成方陣的初始化賦值(動態(tài)內(nèi)存分配);()使用析構(gòu)函數(shù)完成矩陣動態(tài)內(nèi)存的釋放;()重載加法運(yùn)算符+、一、,實現(xiàn)兩個矩陣的運(yùn)算;()使用函數(shù)實現(xiàn)矩陣的轉(zhuǎn)置;()使用函數(shù)求矩陣中的最大、小值、對應(yīng)行列式的值;()重載加法運(yùn)算符,實現(xiàn)矩陣按照行列的格式輸出;()編寫一個主函數(shù)測試上述功能。T計算器程序進(jìn)度安排:第周:分

2、析題目,查閱課題相關(guān)資料,進(jìn)行類設(shè)計、算法設(shè)計;第周:上機(jī)調(diào)試程序,程序測試與分析,撰寫課程設(shè)計報告,準(zhǔn)備答辯。指導(dǎo)教師(簽字):學(xué)院院長(簽字)年月日年月日 PARTITOC o 1-5 h z HYPERLINK l bookmark41需求分析2 HYPERLINK l bookmark62算法基本原理2 HYPERLINK l bookmark83類設(shè)計3 HYPERLINK l bookmark104詳細(xì)設(shè)計44.1類的接口設(shè)計44.2類的實現(xiàn)54.3主函數(shù)設(shè)計11 HYPERLINK l bookmark125運(yùn)行結(jié)果與分析125.1程序運(yùn)行結(jié)果125.2運(yùn)行結(jié)果分析14PARTI

3、I HYPERLINK l bookmark161需求分析24 HYPERLINK l bookmark182算法基本原理24 HYPERLINK l bookmark203類設(shè)計14 HYPERLINK l bookmark224詳細(xì)設(shè)計154.1類的實現(xiàn)154.2主函數(shù)設(shè)計19 HYPERLINK l bookmark245運(yùn)行結(jié)果與分析275.1程序運(yùn)行結(jié)果275.2運(yùn)行結(jié)果分析276參考文獻(xiàn)15PARTI1需求分析矩陣是線性代數(shù)里一個重要的概念,在這里采用C+語言實現(xiàn)一個簡單的X矩陣類,類中包括一些簡單的運(yùn)算等操作具體要求如下:(1)使用構(gòu)造函數(shù)完成方陣的初始化賦值(動態(tài)內(nèi)存分配);(

4、2)使用析構(gòu)函數(shù)完成矩陣動態(tài)內(nèi)存的釋放;(3)重載加法運(yùn)算符,實現(xiàn)兩個矩陣的和;(4)重載加法運(yùn)算符,實現(xiàn)兩個矩陣的差;(5)重載加法運(yùn)算符*,實現(xiàn)兩個矩陣的積;(6)重載加法運(yùn)算符=,實現(xiàn)兩個矩陣之間的賦值;(7)使用函數(shù)實現(xiàn)矩陣的轉(zhuǎn)置;(8)使用函數(shù)求矩陣中的最大值;(9)使用函數(shù)求矩陣中的最小值;(10)添加函數(shù)Det以得到矩陣對應(yīng)行列式的值;(11)重載加法運(yùn)算符,實現(xiàn)矩陣按照行列的格式輸出;(12)編寫一個主函數(shù)測試上述功能。2算法基本原理矩陣進(jìn)行加法,減法,乘法運(yùn)算時,必須滿足兩個矩陣階數(shù)相同的條件。加法,減法計算是把矩陣對應(yīng)的各行各列的每一對數(shù)值分別進(jìn)行加減法運(yùn)算,結(jié)果組成一個新

5、的同階矩陣。矩陣乘法是這樣定義的,只有當(dāng)矩陣A的列數(shù)與矩陣B的行數(shù)相等時AxB才有意義。一個m%n的矩陣a(m,n)左乘一個nxp的矩陣b(n,p),會得到一個mxp的矩陣c(m,p),滿足矩陣乘法滿足結(jié)合率,但不滿足交換率3類設(shè)計從上面的算法分析可以看到,本設(shè)計面臨的計算問題的關(guān)鍵是矩陣運(yùn)算。可以定義一個矩陣類Matrix。矩陣類Matrix只處理nXn類型的方陣,方陣用一個一維數(shù)組來存放,矩陣類Matrix的數(shù)據(jù)成員包括數(shù)組的首地址num和階數(shù)n。矩陣類Matrix的功能有:默認(rèn)構(gòu)造函數(shù)Matrix。、構(gòu)造函數(shù)Matrix(intn,int*a)、手動輸入矩陣函數(shù)SetMatrix(int

6、n)、析構(gòu)函數(shù)Matrix。、重載加法運(yùn)算符+,實現(xiàn)兩個矩陣的和函數(shù)Matrixoperator+(constMatrix&a)、重載加法運(yùn)算符一,實現(xiàn)兩個矩陣的差函數(shù)Matrixoperator-(constMatrix&a)、重載加法運(yùn)算符*,實現(xiàn)兩個矩陣的積函數(shù)Matrixoperator*(constMatrix&a)、重載加法運(yùn)算符=,實現(xiàn)兩個矩陣之間的賦值函數(shù)Matrix&operator=(constMatrix&a)、實現(xiàn)矩陣的轉(zhuǎn)置Transpose。、求矩陣中的最大值Max()、求矩陣中的最小值Min()、求行列式Det()、重載加法運(yùn)算符,實現(xiàn)矩陣按照行列的格式輸出Matr

7、ixoperator(constMatrix&a)、我的求行列式函數(shù)MyDet(int*array,intJie)。矩陣類Matrix如圖1所示。Matrix+n:int+num:int+Matrix()+Matrix(intn,int*a)+SetMatrix(intn):void+Matrix()+operator+(constMatrix&a):Matrix+operator-(constMatrix&a):Matrix+operator*(constMatrix&a):Matrix+&operator=(constMatrix&a):Matrix+Transpose():void+Ma

8、x():int+Min():int+Det():double+operator(constMatrix&a):MatrixMyDet(int*array,intJie):double類的圖形表示4詳細(xì)設(shè)計整個程序分為三個部分,首先是類,然后是類的功能函數(shù),最后是一個主函數(shù)用來測試類的所有功能是否可是實現(xiàn)4.1類的接口設(shè)計#includestdafx.h#includeusingnamespacestd;classMatrixpublic:intn;int*num;Matrix。;/默認(rèn)構(gòu)造函數(shù)Matrix(intn,int*a);構(gòu)造函數(shù)voidSetMatrix(intn);/手動輸入矩陣M

9、atrix。;/析構(gòu)函數(shù)Matrixoperator+(constMatrix&a);/重載加法運(yùn)算符,實現(xiàn)兩個矩陣的和Matrixoperator-(constMatrix&a);/重載加法運(yùn)算符一,實現(xiàn)兩個矩陣的差Matrixoperator*(constMatrix&a);/重載加法運(yùn)算符一,實現(xiàn)兩個矩陣的差Matrix&operator=(constMatrix&a);/重載加法運(yùn)算符*,實現(xiàn)兩個矩陣的積voidTranspose。;/實現(xiàn)矩陣的轉(zhuǎn)置intMax();/求矩陣中的最大值intMin();/求矩陣中的最小值doubleDet();求行列式Matrixoperatorvv(

10、constMatrix&a);/重載加法運(yùn)算符vv,實現(xiàn)矩陣按照行列的格式輸出private:doubleMyDet(int*array,intJie);我的求行列式函數(shù);由于成員函數(shù)要實現(xiàn)重載運(yùn)算符,就把數(shù)據(jù)成員都設(shè)為public。這個問題也可用設(shè)重載函數(shù)為友元函數(shù)來解決。另外,實現(xiàn)行列式的函數(shù)過于復(fù)雜,于是參考了網(wǎng)上一些資料,然后編寫了doubleMyDet(int*array,intJie)函數(shù)來實現(xiàn)。4.2類的實現(xiàn)Matrix:Matrix()默認(rèn)構(gòu)造函數(shù)n=1;num=newint(1);*num=0;Matrix:Matrix(intn,int*a)構(gòu)造函數(shù)this-n=n;num

11、=newintn*n;for(inti=0;ivn*n;i+)*(num+i)=*(a+i);voidMatrix:SetMatrix(intn)手動輸入矩陣if(this-n=1)deletenum;elsedeletenum;this-n=n;num=newintn*n;for(inti=0;in;i+)for(intj=0;j*(num+i*n+j);Matrix:Matrix。/析構(gòu)函數(shù)if(n=l)deletenum;elsedeletenum;MatrixMatrix:operator+(constMatrix&a)/重載加法運(yùn)算符+,實現(xiàn)兩個矩陣的和if(a.n=n)int*p=

12、newintn*n;for(inti=0;ivn*n;i+)*(p+i)=*(a.num+i)+*(num+i);Matrix*temp=newMatrix(n,p);if(nl)deletep;elsedeletep;return*temp;elseMatrixtemp;returntemp;MatrixMatrix:operator-(constMatrix&a)/重載加法運(yùn)算符一,實現(xiàn)兩個矩陣的差if(a.n=n)int*p=newintn*n;for(inti=0;i1)deletep;elsedeletep;return*temp;elseMatrixtemp;returntemp;

13、MatrixMatrix:operator*(constMatrix&a)重載加法運(yùn)算符*,實現(xiàn)兩個矩陣的積if(a.n=n)int*p=newintn*n;inti=0,j=0,k=0;for(i=0;in*n;i+)*(p+i)=0;for(i=0;in;i+)for(j=0;jn;j+)for(k=0;k1)deletep;elsedeletep;return*temp;elseMatrixtemp;returntemp;Matrix&Matrix:operator=(constMatrix&a)重載加法運(yùn)算符=,實現(xiàn)兩個矩陣之間的賦值if(a.n=n)for(inti=0;i1)int

14、temp;for(inti=0;in;i+)for(intj=0;ji;j+)temp=*(num+i*n+j);*(num+i*n+j)=*(num+j*n+i);*(num+j*n+i)=temp;intMatrix:Max()求矩陣中的最大值inttemp;temp=*num;for(inti=0;itemp)temp=*(num+i);returntemp;intMatrix:Min()求矩陣中的最小值inttemp;temp=*num;for(inti=0;in*n;i+)if(*(num+i)num,this-n);doubleMatrix:MyDet(int*array,intJ

15、ie)我的求行列式函數(shù)if(Jie=0)cerr階小于0或等于0!endl;return0;elseif(Jie=1)returnarray0;elseinti,j,k,tag;int*subArray500;for(i=0;iJie;i+)subArrayi=newint(Jie-1)*(Jie-1);for(i=0;iJie;i+)for(j=0;jJie-1;j+)for(k=0;kJie-1;k+)*(subArrayi+j*(Jie-1)+k)=0;for(i=0;iJie;i+)for(j=0;jJie-1;j+)for(k=0;kJie-1;k+)if(ki)*(subArray

16、i+j*(Jie-1)+k)=*(array+(j+1)*Jie+k);else*(subArrayi+j*(Jie-1)+k)=*(array+(j+1)*Jie+k+1);doubletemp=0;tag=1;for(i=0;iJie;i+)temp+=tag*MyDet(subArrayi,Jie-1)*arrayi;tag*=-1;,題。4.3returntemp;ostream&operatorvv(ostream&stream,constMatrix&a)重載加法運(yùn)算符實現(xiàn)矩陣按照行列的格式輸出streamendl;for(inti=0;ia.n;i+)for(intj=0;ja.

17、n;j+)stream*(a.num+i*a.n+j);streamendl;returnstream;以上就是類的成員函數(shù),在編寫中除了求行列式以外,沒有遇到什么大的問主函數(shù)設(shè)計intmain(intargc,char*argv)intn1=3,n2=3,n3=3,max,min;intnum1=1,1,1,1,1,1,1,1,1;intnum2=2,3,3,2,2,3,2,2,2;intnum3=3,3,3,3,3,3,3,3,3;Matrixa,b(n1,num1),c(n2,num2),d(n3,num3);a.SetMatrix(3);d=a+b;coutd=dendl;d=a-c;

18、coutd=dendl;d=a*c;coutd=dendl;max=a.Max();min=a.Min();coutThemaxofais:maxendl;coutTheminofais:minendl;couta=aendl;a.Transpose();couta=aendl;coutTheDetofcis:c.Det()endl;return0;在程序的主函數(shù)部分,選擇了一個手動輸入矩陣和三個固定矩陣作為一個實際例子來驗證算法。5運(yùn)行結(jié)果與分析5.1程序運(yùn)行結(jié)果程序運(yùn)行結(jié)果如圖2所示。=,BC:DocumentsandSettingsAdministratorMffiTejE(.JlaH馬

19、輸入第1行第丄列個元素請輸入第1行第2列個元素請輸入第丄行第3列個元素宙輸入第2行第1列個元素請輸入第2行第2列個元素請輸入第2行第3列個元素請輸入第孑行第1列個元素咅輸入第3行第2列個元素魯輸入餡行餡列個元素(5d=TOC o 1-5 h z356SB9769d=0-1-2-2-5-5d卜妙78tf?824tfef88TheDetPressanykeytocontinueThemaxThemin4-3-6圖2程序運(yùn)行結(jié)果從圖2中可以看出,程序能夠?qū)崿F(xiàn)一個簡單nXn矩陣操作的類。5.2運(yùn)行結(jié)果分析整個程序中的矩陣存儲采用的是一維數(shù)組和動態(tài)內(nèi)存分配方式。Matrix類是專門處理矩陣的類結(jié)合問題的

20、實際需要,增加了很矩陣所特有的運(yùn)算,使Matrix類進(jìn)一步具體化、特殊化,達(dá)到對問題的有效描述和處理。程序的訪問控制也是根據(jù)問題的需要而設(shè)計的。 PARTII1需求分析(1)很多自然科學(xué)和工程技術(shù)中的問題都需要計算器的參與,常見的計算器有三類:算數(shù)型計算器、科學(xué)型計算器、程序計算器。(2)算術(shù)型計算器可進(jìn)行加、減、乘、除等簡單的四則運(yùn)算,又稱簡單計算器??茖W(xué)型計算器一一可進(jìn)行乘方、開方、指數(shù)、對數(shù)、三角函數(shù)、統(tǒng)計等方面的運(yùn)算,又稱函數(shù)計算器。程序計算器一一可以編程序,把較復(fù)雜的運(yùn)算步驟貯存起來,進(jìn)行多次重復(fù)的運(yùn)算。(3)本程序可以實現(xiàn)加、減、乘、除、平方、開方、sin、cos、清除、ce等操作

21、。算法基本原理本程序使用進(jìn)行編寫,首先建立一個基本對話框,用右邊的控件管理,構(gòu)造出該計算器的雛形。本計算器是以點(diǎn)擊對應(yīng)數(shù)字實現(xiàn)輸入數(shù)據(jù)。定義一個變量,然后點(diǎn)擊任何數(shù)字,首先該變量自乘10再加上對應(yīng)數(shù)字來實現(xiàn)其輸入功能。類設(shè)計從上面的算法分析可以看到,本設(shè)計面臨的計算問題的關(guān)鍵是數(shù)據(jù)輸入以及數(shù)據(jù)操作??梢栽贑CalcDlg類中定義m_fresult用于裝第一個操作數(shù),m_foldresult用于裝第二個操作數(shù)。定義一個整型數(shù)據(jù)m_nOperator用于判斷操作符。定義一個整型數(shù)據(jù)m_ncontrol用于判斷操作是否結(jié)束,以免獲得結(jié)果后,按數(shù)字鍵還能繼續(xù)執(zhí)行輸入操作。定義按鈕數(shù)字函數(shù),即對應(yīng)數(shù)字的

22、輸入函數(shù)。定義按鈕操作函數(shù),即對應(yīng)函數(shù)的操作函數(shù)。定義按鈕清除函數(shù):C按鈕,即為初始化所有操作數(shù);Ce按鈕,即為初始化當(dāng)前操作數(shù)。CDialogCCaleDig+m_freEult:double+m_foldresult:double+ro_nOperator:int+mncontrol:int # #OnlnitDialog():virtualBOOLOnSysCommand(UINTnID,LPARAMlParam):afx_msgvoidOnPaint():afx_msgvoidOnQueryDragIcon():afx_msgHCURSOROnButtonl()OnButton2)On

23、Button3()OnButton4)OnButton5)OnButton6()OnButton7)OnButton8)OnButton9()OnButtonO)OnButtonC()_OnButtonAdd():afx_msgvoidOnButtonSub():OnButtonMul():_OnButtonDivO:afx_msgvoidOnButtonResult():afx_msgvoidOnButtonSquO:OnButtonSqr():afxOnButtonSinO:OnButtonCos():_OnButtonCe():afxmsgvoidafx_msgafx_msgafx_ms

24、gafx_msgafx_msgafx_msgafx_msgafx_msgafx_msgafx_msgafx_msgvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidafx_msgafx_msgafx_msg:_nisgafx_msgafx_msgvoidvoidvoidvoidvoidvoid CCalcDlg類的咖L圖形表示4詳細(xì)設(shè)計calcDlg.h中定義變量以及操作函數(shù)。calcDlg.cpp中將對應(yīng)的操作函數(shù)內(nèi)容代碼編寫進(jìn)去4.1類的接口設(shè)計/calcDlg.h文件,實現(xiàn)類的聲明#includeusingnamespacestd;classCCal

25、cDlg:publicCDialog/Constructionpublic:CCalcDlg(CWnd*pParent=NULL);/standardconstructor/DialogData/AFX_DATA(CCalcDlg)enumIDD=IDD_CALC_DIALOG;doublem_fresult;doublem_foldresult;intm_nOperator;intm_ncontrol;/AFX_DATA/ClassWizardgeneratedvirtualfunctionoverrides/AFX_VIRTUAL(CCalcDlg)protected:DDX/DDVvir

26、tualvoidDoDataExchange(CDataExchange*pDX);/support/AFX_VIRTUAL/Implementationprotected:HICONm_hIcon;/Generatedmessagemapfunctions/AFX_MSG(CCalcDlg)virtualBOOLOnInitDialog();afx_msgvoidOnSysCommand(UINTnID,LPARAMlParam);afx_msgvoidOnPaint(); afx_msgHCURSOROnQueryDragIcon();afx_msgvoidOnButton1();afx_

27、msgvoidOnButton2();afx_msgvoidOnButton3();afx_msgvoidOnButton4();afx_msgvoidOnButton5();afx_msgvoidOnButton6();afx_msgvoidOnButton7();afx_msgvoidOnButton8();afx_msgvoidOnButton9();afx_msgvoidOnButton0();afx_msgvoidOnButtonC();afx_msgvoidOnButtonAdd();afx_msgvoidOnButtonSub();afx_msgvoidOnButtonMul()

28、;afx_msgvoidOnButtonDiv();afx_msgvoidOnButtonResult();afx_msgvoidOnButtonSqu();afx_msgvoidOnButtonSqr();afx_msgvoidOnButtonSin();afx_msgvoidOnButtonCos();afx_msgvoidOnButtonCe();/AFX_MSGDECLARE_MESSAGE_MAP();/AFX_INSERT_LOCATION 4.2類的實現(xiàn)/calcDlg.cpp文件,類實現(xiàn)#includestdafx.h#includemath.h#includecalc.h#i

29、ncludecalcDlg.h/包含類的聲明頭文件/calcDlg類的實現(xiàn)CCalcDlg:CCalcDlg(CWnd*pParent/*=NULL*/)/初始化變量:CDialog(CCalcDlg:IDD,pParent)/AFX_DATA_INIT(CCalcDlg)m_fresult=0.0;m_fresult=0.0;m_nOperator=0;m_ncontrol=0;/AFX_DATA_INIT/NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32m_hIcon=AfxGetApp()-LoadIcon(IDR_M

30、AINFRAME);BEGIN_MESSAGE_MAP(CCalcDlg,CDialog)/將變量于外面輸入/AFX_MSG_MAP(CCalcDlg)/聯(lián)系起來產(chǎn)生映射ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON12,OnButton1)ON_BN_CLICKED(IDC_BUTTON_2,OnButton2)ON_BN_CLICKED(IDC_BUTTON_3,OnButton3)ON_BN_CLICKED(IDC_BUTTON_4,OnButton4)ON_BN_CLICKED(I

31、DC_BUTTON_5,OnButton5)ON_BN_CLICKED(IDC_BUTTON_6,OnButton6)ON_BN_CLICKED(IDC_BUTTON_7,OnButton7)ON_BN_CLICKED(IDC_BUTTON_8,OnButton8)ON_BN_CLICKED(IDC_BUTTON_9,OnButton9)ON_BN_CLICKED(IDC_BUTTON_0,OnButton0)ON_BN_CLICKED(IDC_BUTTON_C,OnButtonC)ON_BN_CLICKED(IDC_BUTTON_ADD,OnButtonAdd)ON_BN_CLICKED(I

32、DC_BUTTON_SUB,OnButtonSub)ON_BN_CLICKED(IDC_BUTTON_MUL,OnButtonMul)ON_BN_CLICKED(IDC_BUTTON_DIV,OnButtonDiv)ON_BN_CLICKED(IDC_BUTTON_RESULT,OnButtonResult)ON_BN_CLICKED(IDC_BUTTON_SQU,OnButtonSqu)ON_BN_CLICKED(IDC_BUTTON_SQR,OnButtonSqr)ON_BN_CLICKED(IDC_BUTTON_SIN,OnButtonSin)ON_BN_CLICKED(IDC_BUTT

33、ON_COS,OnButtonCos)ON_BN_CLICKED(IDC_BUTTON_CE,OnButtonCe)/AFX_MSG_MAPEND_MESSAGE_MAP()voidCCalcDlg:OnButton1()UpdateData(TRUE);if(m_ncontrol!=0)m_fresult=m_foldresult=0;m_ncontrol=0;m_fresult=m_fresult*10+1;UpdateData(FALSE);voidCCalcDlg:OnButton2()UpdateData(TRUE);if(m_ncontrol!=0)/按1按鈕/將控件中的數(shù)據(jù)交換到

34、變量中/如果是操作結(jié)束后/操作數(shù)初始化/符號初始化/操作數(shù)自乘10,加對應(yīng)按鈕數(shù)/將變量中的數(shù)據(jù)交換到控件中/按2按鈕 # #m_fresult=m_foldresult=0; m_ncontrol=0;m_fresult=m_fresult*10+2;UpdateData(FALSE);voidCCalcDlg:OnButton3()UpdateData(TRUE);if(m_ncontrol!=0)m_fresult=m_foldresult=0;m_ncontrol=0;m_fresult=m_fresult*10+3;UpdateData(FALSE);voidCCalcDlg:OnB

35、utton4()UpdateData(TRUE);if(m_ncontrol!=0)m_fresult=m_foldresult=0;m_ncontrol=0;m_fresult=m_fresult*10+4;UpdateData(FALSE);voidCCalcDlg:OnButton5()/按3按鈕/按4按鈕/按5按鈕UpdateData(TRUE);if(m_ncontrol!=0) m_fresult=m_foldresult=0;m_ncontrol=0;m_fresult=m_fresult*10+5;UpdateData(FALSE);voidCCalcDlg:OnButton6

36、()UpdateData(TRUE);if(m_ncontrol!=0)m_fresult=m_foldresult=0;m_ncontrol=0;m_fresult=m_fresult*10+6;UpdateData(FALSE);voidCCalcDlg:OnButton7()UpdateData(TRUE);if(m_ncontrol!=0)m_fresult=m_foldresult=0;m_ncontrol=0;m_fresult=m_fresult*10+7;UpdateData(FALSE);voidCCalcDlg:OnButton8()/按6按鈕/按7按鈕/按8按鈕 /按9按

37、鈕/按0按鈕UpdateData(TRUE);if(m_ncontrol!=0)m_fresult=m_foldresult=0;m_ncontrol=0;m_fresult=m_fresult*10+8;UpdateData(FALSE);voidCCalcDlg:OnButton9()UpdateData(TRUE);if(m_ncontrol!=0)m_fresult=m_foldresult=0;m_ncontrol=0;m_fresult=m_fresult*10+9;UpdateData(FALSE);voidCCalcDlg:OnButton0()UpdateData(TRUE)

38、;if(m_ncontrol!=0)m_fresult=m_foldresult=0;m_ncontrol=0;m_fresult=m_fresult*10;UpdateData(FALSE);voidCCalcDlg:OnButtonC()UpdateData(TRUE);m_fresult=0;m_foldresult=0;按C按鈕/初始化所有數(shù)據(jù)m_nOperator=0;UpdateData(FALSE); # #voidCCalcDlg:OnButtonAdd()UpdateData(TRUE);m_foldresult=m_fresult;m_fresult=0;m_nOperat

39、or=1;UpdateData(FALSE);/按+按鈕/將操作數(shù)1賦值給操作數(shù)2初始化操作數(shù)1記錄操作為+ # #/按-按鈕/按*按鈕voidCCalcDlg:OnButtonSub()UpdateData(TRUE);m_foldresult=m_fresult;m_fresult=0;m_nOperator=2;UpdateData(FALSE);voidCCalcDlg:OnButtonMul()UpdateData(TRUE);m_foldresult=m_fresult;m_fresult=0;m_nOperator=3;UpdateData(FALSE); voidCCalcDlg:OnButtonDiv()UpdateData(TRUE);m_foldresult=m_fresult;m_fresult=0;m_nOperator=4;UpdateData(FALSE);/按/按鈕voidCCalcDlg:OnButtonResult()UpdateData(TRUE);switch(m_nOperator)case1:m_fresult=m_foldresult+mbreak;case2:m_fresul

溫馨提示

  • 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

提交評論