gai通信工程專業(yè)面向?qū)ο笳n程要求與指導(dǎo)_第1頁
gai通信工程專業(yè)面向?qū)ο笳n程要求與指導(dǎo)_第2頁
免費預(yù)覽已結(jié)束,剩余17頁可下載查看

下載本文檔

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

文檔簡介

1、課程設(shè)計任務(wù)書學(xué)院信息科學(xué)與工程專業(yè)通信工程學(xué)生姓名學(xué)號設(shè)計題目靜態(tài)查 卜找類模板的1勺設(shè)計與實現(xiàn)內(nèi)容及要求:在非數(shù)值運算問題中,數(shù)據(jù)存儲量一般很大,為了在大量信息中找到某些 值,就需要用到查找技術(shù)。基于線性表的查找具體可分為順序查找,折半查找 和分塊查找。折半查找又分為遞歸和非遞歸兩類。要求采用 C+語言,建立一維數(shù)組數(shù)據(jù)結(jié)構(gòu)的模板類,使一維數(shù)組中的數(shù) 據(jù)元素可以是 char, int, float 等多種數(shù)據(jù)類型,并對數(shù)組元素進行靜態(tài)查找。主 要完成如下功能:(1)實現(xiàn)數(shù)組數(shù)據(jù)的輸入和輸出;(2)對數(shù)組進行順序查找;(3)對有序數(shù)組進行折半查找(遞歸算法);(4)對有序數(shù)組進行折半查找(非

2、遞歸算法);(5) 將每種查找功能作為類的成員函數(shù)實現(xiàn),編寫主函數(shù)測試上述查找 功能。進度安排:第 17 周:分析題目,查閱課題相關(guān)資料,進行類設(shè)計、算法設(shè)計;第 18 周:程序的設(shè)計、調(diào)試與實現(xiàn);第 19 周:程序測試與分析,撰寫課程設(shè)計報告,進行答辯驗收。指導(dǎo)教師(簽字):學(xué)院院長(簽字)年月日年月日1 需求分析-0 - 2 算法基本原理-0 -3 類設(shè)計 - 2 -4 詳細(xì)設(shè)計 - 2 -4.1 類的接口設(shè)計 -2-4.2 類的實現(xiàn)- 4 -4.3 主函數(shù)設(shè)計 - 85 DOS 界面程序運行結(jié)果及分析 - 9 -5.1 程序運行結(jié)果 -9-5.2 運行結(jié)果分析 -116 基于 MFC 的

3、圖形界面程序開發(fā) - 11 -6.1 基于 MFC 的圖形界面程序設(shè)計 -116.2 程序測試 -146.3 MFC 程序編寫總結(jié) - 157 參考文獻 - 15 -1 需求分析(1)查找運算在實際生活中使用頻率高,如帳戶查詢、訂票查詢及股市查 詢等,一些實時查詢系統(tǒng)的效率也格外重要。(2)假定被查找的對象是由一組結(jié)點(元素)組成的表或文件,而每個結(jié) 點則由若干個數(shù)據(jù)項組成。所謂的查找,即給定一個待查數(shù)據(jù)值,在表的指定 數(shù)據(jù)項中查找等于待查數(shù)據(jù)值的結(jié)點。若找到,則查找成功,返回該結(jié)點的信 息或該結(jié)點在表中的位置;否則查找失敗,返回相關(guān)提示信息。(3)靜態(tài)查找表查找方式包括順序查找、折半查找(遞

4、歸和非遞歸)。2 算法基本原理1 順序查找在查找的存儲方式中,順序表是最簡單的一種。建立在其上的順序查找是從 表的一端開始,順序掃描,依次將掃描到的元素和待查數(shù)值比較。若當(dāng)前元素 的數(shù)據(jù)值與待查數(shù)據(jù)值相等,則查找成功;若掃描結(jié)束后,仍未找到數(shù)據(jù)值等 于待查數(shù)據(jù)值的元素,則查找失敗。順序查找實例如下圖:*順序表的順序查找 *當(dāng)前順序表如下:0 1 2 3 471 68 74 17 20 請輸入要查找的元素: 74 查找經(jīng)過如下: 第一趟順序查找的結(jié)果為:0 1 2 3 471 68 74 17 20T第二趟順序查找的結(jié)果為:0 1 2 3 471 68 74 17 20T第三趟順序查找的結(jié)果為:

5、 0 1 2 3 4 71 68 74 17 20查找結(jié)果:你要查找的元素 74 是第 3 個元素2 折半查找(1)非遞歸折半查找折半查找是一種效率較高的查找方法,但要求作用于有序順序表。其基本 思想是:最初把整個有序順序表作為查找區(qū)域,每次用待查數(shù)據(jù)值與查找區(qū)域 中間元素比較,分以下三種情況處理:如果待查數(shù)據(jù)值等于中間元素,則查找 成功;如果待查數(shù)據(jù)值小于中間元素,則繼續(xù)在前半?yún)^(qū)域查找;如果待查數(shù)據(jù) 值大于中間元素,則繼續(xù)在后半?yún)^(qū)域查找。查找過程中,每次與中間元素比較,就可以確定查找是否成功。如不成 功,則當(dāng)前查找區(qū)域縮小一半,這樣查找區(qū)域逐漸縮小。如果查找區(qū)域最終縮 小到不存在,則表示查找

6、不到這個數(shù)據(jù)。非遞歸折半查找實例:當(dāng)前有序順序表如下:0 1 2 3 4 5 69 18 26 27 29 32 40 請輸入要查找的元素: 26 查找經(jīng)過如下:第 1 趟折半查找結(jié)果為:0 1 2 3 4 5 69 18 26 27 29 32 40T第 2 趟折半查找結(jié)果為:0 1 2 3 4 5 69 18 26 27 29 32 40T第 3 趟折半查找結(jié)果為:0 1 2 3 4 5 69 18 26 27 29 32 40T查找結(jié)果:你要查找的元素 26 是第 3 個元素(2)遞歸折半查找3 類設(shè)計從上面的算法分析可以看到,本設(shè)計面臨的計算問題的關(guān)鍵是矩陣運算。 可以定義一個矩陣類

7、Matrix 作為基類,然后由矩陣類派生出線性方程組類 Linequ。矩陣類*非遞歸折半查找*Matrix 只處理 n 溝類型的方陣,方陣用一個一維數(shù)組來存放, 矩陣類 Matrix 的數(shù)據(jù)成員包括數(shù)組的首地址和n,矩陣類 Matrix 的功能有設(shè)置矩陣的值 SetMatrix ()和顯示矩陣 PrintM ()等。從問題的需要來看,線性方程組類 Linequ 的數(shù)據(jù)除了由矩陣類 Matrix 繼承 過來用于存放系數(shù)矩陣 A 的成員外,還應(yīng)該包括存放解向量 x 和方程右端向量 b 的數(shù)組首地址。線性方程組類 Linequ 的主要操作有設(shè)置 SetLinequ( )、顯示 PrintL( )、求

8、解 Solve( )及輸出方程的解 showX ( )??梢酝ㄟ^定義線性 方程組類 Linequ 的新增成員函數(shù)來實現(xiàn)這些針對方程組求解的功能。矩陣類 Matrix 和線性方程組類 Linequ 的組成及相互關(guān)系如圖 1 所示。圖1 Matrix類和Linequ類的派生關(guān)系的UML圖形表示在線性方程組的求解過程中,在線性方程組類Linequ 的成員函數(shù) Solve 中需要訪問基類矩陣類 Matrix 的數(shù)據(jù)成員,利用公有繼承方式派生,同時將 Matrix 類中的數(shù)據(jù)成員的訪問控制設(shè)置為保護類型。這樣,經(jīng)過公有派生之 后,基類的保護成員在派生類中依然是保護成員,可以被派生類的成員函數(shù)訪 問。4

9、詳細(xì)設(shè)計整個程序分為三個獨立的文檔, Linequ.h 文件中包括矩陣類 Matrix 和線性 方程組類 Linequ 的聲明, Linequ.cpp 文件中包括這兩個類的成員函數(shù)實現(xiàn)文 件; ma in.cpp 文件包括程序的主函數(shù),主函數(shù)中定義了一個類Linequ 的對象,通過這個對象求解一個四元線性方程組。4.1類的接口設(shè)計/Linequ.h 文件,實現(xiàn)類的聲明#include #include using n amespace stdclass Matrix/基類 Matrix 聲明public:/外部接口Matrix(int dims=2)。/構(gòu)造函數(shù)Matrix ()。/析構(gòu)函數(shù)v

10、oid SetMatrix (double *rmax)。 /矩陣賦初值。class Linequ:public Matrix/公有派生類 Linequ 聲明。經(jīng)過公有派生, Linequ 類獲得了除構(gòu)造函數(shù)、析構(gòu)函數(shù)之外的 Matrix 類的全部成員,由于基類的成員是公有和保護類型,因此在派生類中的成員函數(shù) 中,基類繼承來的成員全部可以訪問,而對于建立 Linequ 類對象的外部模塊來 講,基類的保護成員是無法訪問的。通過保護訪問類型和公有的繼承方式,實 現(xiàn)了基類 Matrix 的數(shù)據(jù)的有效共享和可靠保護。在程序中,方程的系數(shù)矩陣、 解以及右端項全部采用了動態(tài)內(nèi)存分配技術(shù),這些工作都是在基類

11、、派生類的構(gòu)造函數(shù)中完成,它們的清理工作在析構(gòu)函數(shù)中完成。void PrintM ()。protected:int index。double* MatrixA 。/顯示矩陣/方陣的行數(shù) /矩陣存放數(shù)組首地址public:Linequ(int dims=2)。Linequ()。void SetLinequ (double *a, double *b) 。 voidPrintL () int Solve()。void ShowX ()private:double *sums。/外部接口/構(gòu)造函數(shù)/析構(gòu)函數(shù)/方程賦值double *solu。/顯示方程/全選主元高斯消去法求解方程/顯示方程的解/私有

12、數(shù)據(jù)/方程右端項/方程的解4.2類的實現(xiàn)/Linequ.cpp 文件,類實現(xiàn)#include linequ.h/包含類的聲明頭文件/Matrix 類的實現(xiàn)void Matrix:SetMatrix (double *rmatr)/ 設(shè)置矩陣for (int i=0。iindex*index。i+)MatrixAi=rmatri 。/矩陣成員賦初值Matrix:Matrix ( int dims)/矩陣 Matrix 類的構(gòu)造函數(shù)index=dims。/矩陣行數(shù)賦值MatrixA=new doubleindex*index 。/動態(tài)內(nèi)存分配Matrix:Matrix ()/矩陣 Matrix 類

13、的析構(gòu)函數(shù)delete MatrixA 。/內(nèi)存釋放void Matrix:PrintM ()/顯示矩陣元素coutThe Matrix is:endl 。for (int i=0。 iindex。 i+)for (int j=0。 jindex。 j+) cout* (MatrixA+i*index+j ) 。coutendl。/派生類 Linequ 的實現(xiàn)Linequ:Linequ (int dims) :Matrix (dims)/派生類 Linequ 的構(gòu)造函數(shù)/使用參數(shù)調(diào)用基類構(gòu)造函數(shù)sums=new doubledims。/動態(tài)內(nèi)存分配solu=new doubledims。Lin

14、equ:Linequ ()/派生類 Linequ 的析構(gòu)函數(shù)delete sums。/釋放內(nèi)存delete solu。void Linequ:SetLinequ( double *a,double *b)/ 設(shè)置線性方程組SetMatrix (a)。/調(diào)用基類函數(shù)for (int i=0。iindex。i+)sumsi=bi 。void Linequ:PrintL () /顯示線性方程組coutThe line equation is:endl。for (int i=0。 iindex。 i+)for (int j=0。 jindex。 j+)cout* (MatrixA+i*index+j

15、) 。cout sumsiendl 。void Linequ:ShowX ()/輸出方程組的解coutThe result is:endl 。for (int i=0。 iindex。 i+)coutXi=soluiendl。int Li n equ:Solve ( )/全選主元高斯法求解方程int *js,l,k,i,j,is,p,q 。double d,t。double *MatrixB 。 /聲明局部矩陣 MatrixBMatrixB=new doubleindex*index 。/將矩陣 MatrixA 賦值給 MatrixB for (i=0。iindex*index。i+)Matr

16、ixBi=MatrixAi 。js=new intindex 。/分配動態(tài)內(nèi)存l=1。for ( k=0。 k=index-2。 k+)/消去過程d=0.0。for ( i=k 。 i=index-1。 i+ )/選取主元素for ( j=k 。 jd) d=t 。 jsk=j 。 is=i。 if ( d+1.0=1.0)/主元素為零l=0。else/主元素交換if( jsk!=k )for( i=0。 i=index-1 。 i+)p=i*index+k 。 q=i*index+jsk 。t=MatrixBp 。MatrixBp=MatrixBqMatrixBq=t 。if( is!=k)

17、for( j=k 。 j=index-1。 j+ )p=k*index+j 。q=is*index+j 。t=MatrixBp 。 MatrixBp=MatrixBq 。MatrixBq=t 。t=sumsk 。 sumsk=sumsis。 sumsis=t。if (l=0 )/若主元素為零,求解失敗deletejs。coutfailendl 。return 0。d=MatrixBk*index+k 。/歸一化計算for (j=k+1 。 j=index-1 。 j+ )p=k*index+j 。MatrixBp=MatrixBp/d 。sumsk=sumsk/d。for (i=k+1 。 i

18、=index-1 。 i+ )/消去計算for (j=k+1。jv=index-1。j+)p=index*i+j 。MatrixBp=MatrixBp-MatrixBi*index+k*MatrixBk*index+j 。sumsi=sumsi-MatrixBi*index+k*sumsk 。d=MatrixB (index-1)*index+index-1 。if(fabs(d)+1.0=1.0)delete js。coutfail=0。-)t=0.0。for ( j=i+1 。 j=0。 k- )if( jsk!=k )t=soluk 。 soluk=solujsk 。 solujsk=t

19、 。delete js。return 1。在類的成員函數(shù)實現(xiàn)過程中, 派生類的構(gòu)造函數(shù)使用參數(shù)調(diào)用了基類的構(gòu) 造函數(shù),為矩陣動態(tài)分配了內(nèi)存空間。而派生類的析構(gòu)函數(shù)同樣也調(diào)用了基類 的析構(gòu)函數(shù),只是整個調(diào)用過程中完全是由系統(tǒng)內(nèi)部完成?;惖谋Wo數(shù)據(jù)成 員,經(jīng)過公有派生之后,在派生類中是以保護成員的身份出現(xiàn)的,派生類的成 員函數(shù)可以自由地進行訪問。全選主元高斯消去法求解函數(shù)返回值為整數(shù),正常完成之后,返回值為 1,非正常結(jié)束后,返回值為0,根據(jù)函數(shù)的返回值,就可以判斷求解過程的完成情況。4.3主函數(shù)設(shè)計/main.cpp 主函數(shù)#include linequ.h int main()/主函數(shù)dou

20、ble a=0.2368,0.2471,0.2568,1.2671,0.1968,0.2071,1.2168,0.2271,0.1581,1.1675,0.1768,0.1871,1.1161,0.1254,0.1397,0.1490。double b4= 1.8471,1.7471,1.6471,1.5471。/ 方程右端項Linequ equ1(4)。 /定義一個四元方程組對象 return 1。在程序的主函數(shù)部分,選擇了一個四元方程組作為一個實際例子來驗證算 法。方程組的系數(shù)及右端項數(shù)據(jù)都使用一維數(shù)組來存儲。 首先定義一個四元方 程組對象 equl,在定義過程中調(diào)用派生類的構(gòu)造函數(shù),通過

21、派生類的構(gòu)造函 數(shù),又調(diào)用了基類的構(gòu)造函數(shù),對進一步求解動態(tài)分配了內(nèi)存。接著給方程組 的系數(shù)和右端項賦初值,把我們選定的方程組輸入到新定義的方程組對象 equ1 中。對象成員函數(shù) PrintL 、Solve 和ShowX 分別完成了輸出方程組、求解方程 組和輸出求解結(jié)果的任務(wù)。5 DOS 界面程序運行結(jié)果及分析5.1程序運行結(jié)果程序運行結(jié)果如圖 2 所示圖2程序運行結(jié)果從圖 2 中可以看出,程序能夠?qū)崿F(xiàn)全選主元高斯消去法對于線性方程組的 求解,/系數(shù)矩陣equ1.SetLinequ( a,b)。equ1.PrintL()。if (equ1.Solve()equ1.ShowX()。elsecou

22、tFailendl/設(shè)置方程組/輸出方程組/求解方程組/輸出方程組的解/求解失敗但是,對于求解結(jié)果的正確性問題卻無法獲知,為了能夠驗證求解結(jié)果 的正確性,考慮將求解結(jié)果 x 帶入原方程 Ax=b 中,如果滿足原方程,即說明 求解結(jié)果是正確的,否則,說明求解存在問題,需對程序進行進一步調(diào)試分 析。為此,考慮在 Linequ 類中增加測試函數(shù) Test,用以驗證求解結(jié)果的正確 性。void Linequ:test()/求解結(jié)果驗證函數(shù)double *b2。b2=new doubleindex。for (int i=0。iindex。i+)將解 solu 帶入原方程求出新的右端項 b2b2i=0 。

23、for (int j=0。 jindex。 j+) b2i=b2i+MatrixAi*index+j*soluj 。for (i=0。 iindex。 i+) /輸出新的右端項coutb2i 。coutendl。在主函數(shù) main 中增加語句:equ1.test()。/驗證求解結(jié)果經(jīng)過驗證的程序運行結(jié)果如圖 3 所示。圖3程序運行結(jié)果的驗證從圖 3 中可以看出,方程組求解驗證的右端項結(jié)果與原右端項結(jié)果完全一 致,這說明了方程組求解的正確性。5.2運行結(jié)果分析整個程序中的矩陣存儲采用的是一維數(shù)組和動態(tài)內(nèi)存分配方式?;愂菍iT處理矩陣的類,公有派生類 Linequ 是針對線性方程組而設(shè)計 的,除了

24、繼承基類的基本特征之外,結(jié)合問題的實際需要,增加了很多線性方 程組所特有的成員,使基類 Matrix 進一步具體化、特殊化,達(dá)到對問題的有效 描述和處理。程序的訪問控制也是根據(jù)問題的需要而設(shè)計的?;惖臄?shù)據(jù)成員的存儲、 維護著矩陣數(shù)據(jù),這正是派生類方程組的系數(shù)矩陣,使派生類解方程成員函數(shù) 必須訪問的。利用保護成員特征,將基類數(shù)據(jù)成員的訪問控制屬性設(shè)置為保護 型,在公有派生類Linequ 中就可以訪問到基類繼承下來的保護成員;而對于類 外的其余模塊,這些數(shù)據(jù)無法訪問。這樣,就在數(shù)據(jù)的共享與隱藏之間尋找到 一個比較恰當(dāng)?shù)慕Y(jié)合點。在派生過程中,基類的構(gòu)造函數(shù)和析構(gòu)函數(shù)無法繼承下來,因此在派生類 中需

25、要添加構(gòu)造函數(shù)、析構(gòu)函數(shù)來完成派生類的初始化和最后清理工作。派生 類的構(gòu)造函數(shù)通過調(diào)用基類的構(gòu)造函數(shù)來對基類數(shù)據(jù)進行初始化,本設(shè)計中, 派生類 Linequ 的構(gòu)造函數(shù)調(diào)用了基類 Matrix 的構(gòu)造函數(shù)并傳遞必須的初始化參 數(shù)。派生類的析構(gòu)函數(shù)調(diào)用基類的構(gòu)造函數(shù),共同完成清理任務(wù)。6 基于 MFC 的圖形界面程序開發(fā)MFC 的圖形界面程序設(shè)計可在上述類設(shè)計的基礎(chǔ)上進行改造, MFC 的圖形 界面程序與 DOS 界面程序的主要不同點是: MFC 圖形界面程序與 DOS 界面程 序的輸入輸出方式不同,DOS 界面程序采用字符交互式實現(xiàn)數(shù)據(jù)輸入輸出,主 要通過 cin,cout 等 I/O 流實現(xiàn)

26、,而 MFC 的圖形程序界面采用標(biāo)準(zhǔn) Windows 窗 口和控件實現(xiàn)輸入輸出,因此必須在 MFC 類的框架下加入上面所設(shè)計的矩陣和 方程組類,并通過圖形界面的輸入輸出改造來完成。6.1基于MFC的圖形界面程序設(shè)計(1)界面設(shè)計首先在 VC 中建立 MFC AppWizard(exe)工程,名稱為 GuassLineGUI, 并在向?qū)У?Step1 中選擇 Dialog based,即建立基于對話框的應(yīng)用程序,如下圖 45 所示。F 面是編寫代碼的重要階段,可以借鑒在設(shè)計基于DOS 界面的控制臺應(yīng)用圖4建立MFC AppWizard(exe)工程圖5建立基于對話框的應(yīng)用程序?qū)υ捒蛸Y源中的默認(rèn)

27、對話框利用工具箱改造成如下界面,如圖6 所示。圖6方程組求解程序界面設(shè)計圖 6 所示的界面中包含了 3 個 Static Text 控件,3 個 Button 控件,和 24 個Edit Box 控件,控件的基本信息列表如下表 1 所示表1控件基本信息控件類別控件ID控件Caption說明Static TextIDC_STATIC系數(shù)矩陣A方程組右端項b解XBott onIDC BUTTON Read讀入數(shù)據(jù)IDC BUTTON CALC計算求解IDC BUTTON Exit退出Edit BoxIDC_EDIT_A00 IDC_EDIT_A33矩陣A的16個元素IDC EDIT bO IDC

28、EDIT b3向量b的4個兀素IDC EDIT XO IDC EDIT X3解X的4個元素(2)代碼設(shè)計為了能夠?qū)υ捒蚪缑嫔系目丶軌蚺c代碼聯(lián)系起來,需要為24 個 EditBox 控件建立 Member Variables,按 Ctrl+w 鍵進入 MFC ClassWizard 界面,選擇Member Variables 選項卡,可顯示成員變量設(shè)置界面,如圖7 所示。圖7成員變量設(shè)置界面通過該界面設(shè)置與 24 個 Edit Box 控件對應(yīng)的成員變量,具體如表 2 所示表2控件基本信息控件ID成員變量類型成員變量名稱IDC EDIT A00 IDC EDIT A33doublem A00

29、m A33IDC EDIT b0 IDC EDIT b3doublem b0m b3IDC EDIT X0 IDC EDIT X3doublem X0m X3程序的代碼,并將其作必要的改寫,具體改寫的步驟與內(nèi)容如下。1將 Linequ.h 文 件 和 Linequ.cpp 文 件 合 并 成 一 個 文 件 , 重 新 命名 為Linequ.h,并將其加入 MFC 工程。2修改 Linequ.h 文件具體包括:將顯示矩陣 PrintM ()函數(shù)和顯示方程 PrintL ()函數(shù)注釋掉,因為在圖形界面的程序上已經(jīng)不需要連個函數(shù)承擔(dān)輸出功能了; 將輸出方程組的解 ShowX() 函數(shù)加入?yún)?shù) do

30、uble x 變成 ShowX( double x ),以實現(xiàn)將所求的解輸出至參數(shù) x 中,并最終完成在對 話框界面上的顯示;將全選主元高斯法求解函數(shù) Solve() 中的兩處 cout 語句去掉,因為 不需要也不能夠使用 cout 流實現(xiàn)輸出。3在 對 話 框 類 的 實 現(xiàn) 文 件 GuassLineGUIDlg.cpp 中 加 入 #includeLinequ.h ,以實現(xiàn)在該文件中可使用 Linequ 類。4在 GuassLineGUIDlg.cpp 文件中 加入 以下全局 變量 的定 義, 以實現(xiàn)GuassLineGUIDlg 類和 Linequ 類之間的通信,具體代碼如下:doub

31、le a=/系數(shù)矩陣0.2368,0.2471,0.2568,1.2671,0.1968,0.2071,1.2168,0.2271,0.1581,1.1675,0.1768,0.1871,1.1161,0.1254,0.1397,0.1490。double b4= 1.8471,1.7471,1.6471,1.5471。/方程右端項double *X 。/存放方程組的解5編寫讀入數(shù)據(jù)按鈕的消息處理函數(shù),實現(xiàn)將矩陣和右端項的數(shù)據(jù)刷新到界面上,具體代碼如下:void CGuassLineGUIDlg:OnBUTTONRead()/ TODO: Add your control notificati

32、on handler code herem_A00=a0 。 m_A01=a1 。 m_A02=a2 。 m_A03=a3 。m_A10=a5 。 m_A11=a6 。 m_A12=a7 。 m_A13=a8 。 m_A20=a9 。m_A21=a10 。 m_A22=a11 。 m_A23=a12 。 m_A30=a13 。m_A31=a14 。 m_A32=a15 。 m_A33=a16 。 m_b0=b0 。 m_b1=b1 。m_b2=b2 。 m_b3=b3 。UpdateData(FALSE)o退出按鈕比較簡單,代碼如下:void CGuassLineGUIDlg:OnBUTTONExit ()/ TODO: Add your control notification handler code here OnOK()。6.2程序測試運行程序后,首先出現(xiàn)的界面如圖 8 所示。圖8程序初始運行界面單擊讀入數(shù)據(jù)按鈕后,可將系數(shù)矩陣 A 和方程組右端項 b 的數(shù)據(jù)在界面上編寫計算求解按鈕的消息處理函數(shù),實現(xiàn)將方程求解,具體代碼如下:void CGuassLineGUIDlg:OnButtonCalc ()/

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論