2專業(yè)基礎(chǔ)實驗1指導(dǎo)書1(實驗一)_第1頁
2專業(yè)基礎(chǔ)實驗1指導(dǎo)書1(實驗一)_第2頁
2專業(yè)基礎(chǔ)實驗1指導(dǎo)書1(實驗一)_第3頁
2專業(yè)基礎(chǔ)實驗1指導(dǎo)書1(實驗一)_第4頁
2專業(yè)基礎(chǔ)實驗1指導(dǎo)書1(實驗一)_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、專業(yè)基礎(chǔ)實驗1指導(dǎo)書軟件101、102 第1部分 上機實驗上機實驗要求及規(guī)范一、實驗?zāi)康摹⒁蠛腿蝿?wù)數(shù)據(jù)結(jié)構(gòu)課程具有比較強的理論性,同時也具有較強的可應(yīng)用性和實踐性。上機實驗是一個重要的教學(xué)環(huán)節(jié)。學(xué)生應(yīng)該重視實驗環(huán)節(jié),對于編寫程序上機練習(xí)具有一定的積極性。更應(yīng)該重視實驗的總結(jié)、實驗報告的撰寫。對于一名大學(xué)生必須嚴(yán)格訓(xùn)練分析總結(jié)能力、書面表達(dá)能力。需要逐步培養(yǎng)書寫科學(xué)實驗報告以及科技論文的能力。拿到一個題目,一般不要急于編程。按照面向過程的程序設(shè)計思路(關(guān)于面向?qū)ο蟮挠?xùn)練將在其它后繼課程中進行),正確的方法是:首先理解問題,明確給定的條件和要求解決的問題,然后按照自頂向下,逐步求精,分而治之的策

2、略,逐一地解決子問題。具體實習(xí)步驟如下:1.問題分析與系統(tǒng)結(jié)構(gòu)設(shè)計上機實驗是針對一個具體的實際問題,進行程序設(shè)計以便解決問題。首先需要充分地分析和理解問題本身,弄清要求做什么(而不是怎么做),限制條件是什么。按照面向?qū)ο蠹夹g(shù)的原則,考慮所需設(shè)計的類是什么?在主函數(shù)中如何使用類對象,如何實現(xiàn)問題的解決。具體來講,搞清實際問題的若干數(shù)據(jù)元素的邏輯結(jié)構(gòu)(是線性表還是樹、圖?),確定數(shù)據(jù)的存儲結(jié)構(gòu)(是順序結(jié)構(gòu)還是鏈表結(jié)構(gòu)?),設(shè)計哪些有關(guān)操作的函數(shù)。將數(shù)據(jù)存儲結(jié)構(gòu)和算法對應(yīng)的函數(shù)封裝成為一個類,一些重要的典型的算法往往以類的成員函數(shù)形式出現(xiàn)。要求繪制簡明扼要的系統(tǒng)結(jié)構(gòu)圖,主要描述主函數(shù)系統(tǒng)結(jié)構(gòu)。對于復(fù)

3、雜重要的算法,也要繪制該函數(shù)的流程圖。充分地分析和理解問題本身,弄清要求做什么,包括功能要求、性能要求、設(shè)計要求和約束以及基本數(shù)據(jù)特性,數(shù)據(jù)間的聯(lián)系等。2.詳細(xì)設(shè)計和編碼詳細(xì)設(shè)計是對函數(shù)(模塊)的進一步求精,用偽高級語言或自然語言寫出算法框架,這時不必確定很多結(jié)構(gòu)和變量。編碼,即程序設(shè)計。就是對詳細(xì)設(shè)計結(jié)果的進一步求精,即用某種高級語言(如C+語言)表達(dá)出來。盡量多設(shè)一些注釋語句,清晰易懂。盡量臨時增加一些輸出語句,便于差錯矯正,在程序成功后再刪去它們。3.上機準(zhǔn)備熟悉高級語言用法,如C+語言。熟悉機器(即操作系統(tǒng)),基本的常用命令。靜態(tài)檢查主要有兩條路徑,一是用一組測試數(shù)據(jù)手工執(zhí)行程序(或分

4、模塊進行);二是通過閱讀或給別人講解自己的程序而深入全面地理解程序邏輯,在這個過程中再加入一些注釋和斷言。如果程序中邏輯概念清楚,后者將比前者有效。4.上機調(diào)試程序上機調(diào)試程序應(yīng)該分步驟分層次進行。程序由簡到繁、規(guī)模由小到大、數(shù)據(jù)量由少到多,逐步完成。比如,針對一個類它可能有許多函數(shù),建議首先僅僅調(diào)試類的構(gòu)造函數(shù)和輸入/出函數(shù),這一步比較簡單容易。即使如此,實驗數(shù)據(jù)的規(guī)模也從少量幾個開始(1-3個),程序調(diào)通之后,再用大量數(shù)據(jù)(十個到幾十個或者更多)實驗。此時,還可以排除一些錯誤。通過這一階段,可以排除數(shù)據(jù)結(jié)構(gòu)設(shè)計、構(gòu)造函數(shù)和輸入/輸出函數(shù)設(shè)計的錯誤。然后,再把體現(xiàn)重要算法的函數(shù)加入到源程序之

5、中,這包括:類代碼中的函數(shù)原型聲明、函數(shù)實現(xiàn)的程序代碼以及對它的調(diào)用語句等等。此時,實驗數(shù)據(jù)規(guī)模也從少量幾個開始,以便檢查算法設(shè)計的正確性,程序基本調(diào)通之后,再用大量數(shù)據(jù)進行實驗。本階段還可進一步排除一些錯誤。但是,出現(xiàn)錯誤的范圍往往集在新加入的代碼段之中。5.測試用例設(shè)計準(zhǔn)備典型測試數(shù)據(jù)和測試方案,測試數(shù)據(jù)要有代表性、敏感性,測試方案包括模塊測試和模塊集成測試。6.整理實習(xí)報告在上機實開始之前要充分準(zhǔn)備實驗數(shù)據(jù),在上機實踐過程中要及時記錄實驗數(shù)據(jù),在上機實踐完成之后必須及時總結(jié)分析。寫出實驗報告,實驗報告的書寫格式。實驗報告書寫:(1)實驗?zāi)康募耙蟀慈蝿?wù)書給出實驗?zāi)康募耙螅瑢嶒災(zāi)康囊羁?/p>

6、體會。(2)實驗內(nèi)容按任務(wù)書給出的實驗內(nèi)容抄寫(3)解決問題的思路1)對實驗問題的描述:2)算法的數(shù)據(jù)結(jié)構(gòu);3)算法基本操作的說明及分析(可能需要流程圖)(4)工作表清單給出算法描述的程序代碼(加附頁)(5)總結(jié)1)給出測試數(shù)據(jù)及實驗結(jié)果分析與評價 ;2)實驗方法的拓展;3)算法的時間復(fù)雜度為;4)實驗心得體會附源程序清單和運行結(jié)果。源程序要加注釋。如果題目規(guī)定了測試數(shù)據(jù),則結(jié)果要包含這些測試數(shù)據(jù)和運行輸出,當(dāng)然還可以含有其它測試數(shù)據(jù)和運行輸出(有時需要多組數(shù)據(jù))。二、如何提高上機效率為了提高上機的效率,真正達(dá)到實驗?zāi)康模笸瑢W(xué)做好實驗前的準(zhǔn)備工作,寫好實驗預(yù)習(xí)報告,編寫好程序,并用一組測試

7、數(shù)據(jù)手工執(zhí)行程序靜態(tài)檢查程序是否有錯,通過閱讀、執(zhí)行程序或給別人講解自己的程序而深入全面地理解程序邏輯,提高程序的正確性。對C,C+語言程序不熟悉的同學(xué),上機時最好帶上C,C+語言程序設(shè)計的教材,以備查詢。調(diào)試中遇到問題,應(yīng)認(rèn)真分析,確定可疑點,設(shè)置調(diào)試斷點或輸出斷點處變量的值,以便發(fā)現(xiàn)問題,迅速排除問題,加快調(diào)試速度。第2部分 C+基本知識各種數(shù)據(jù)結(jié)構(gòu)以及相應(yīng)算法的描述總是要選用一種語言工具。在計算機科學(xué)發(fā)展過程中,早期數(shù)據(jù)結(jié)構(gòu)教材大都采用PASCAL語言為描述工具,后來出現(xiàn)了采用C語言為描述工具的教材版本、至今又出現(xiàn)了采用C+語言為描述工具的多種教材版本。本實驗指導(dǎo)書是為已經(jīng)學(xué)習(xí)過C+語言

8、的學(xué)生而編寫。程序要求在Devc+開發(fā)環(huán)境之下調(diào)試運行,采用面向?qū)ο蠓椒ㄟM行設(shè)計。典型的數(shù)據(jù)結(jié)構(gòu)被設(shè)計成為類(class),典型算法設(shè)計成為類的函數(shù)成員,然后在主函數(shù)中聲明創(chuàng)建類對象,根據(jù)實際需要調(diào)用重要的算法。由于C+的使用具有一定的難度,為了同學(xué)更好的學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)自身的知識內(nèi)容,減輕描述工具所帶來的困難,這里針對數(shù)據(jù)結(jié)構(gòu)上機實驗所必須的C+基本知識(結(jié)構(gòu)體、類等等)做補充介紹。#include . /編譯預(yù)處理class A .;/ 類成員函數(shù)定義;.int main().編譯預(yù)處理等類的相關(guān)程序編碼主函數(shù)程序代碼一、 源程序組成 這部分內(nèi)容詳細(xì)參見本指導(dǎo)書的第3部分的程序?qū)嵗6⒔Y(jié)構(gòu)體

9、及運用數(shù)據(jù)結(jié)構(gòu)課程所研究的問題均運用到“結(jié)構(gòu)體”和“類”。在C+語言中結(jié)構(gòu)體和函數(shù)又是理解和掌握“類”的語法基礎(chǔ)。定義結(jié)構(gòu)體的一般格式:struct 結(jié)構(gòu)體類型名 類型名1 變量名1; /數(shù)據(jù)子域類型名2 變量名2;類型名n 變量名n;其中struct是保留字。結(jié)構(gòu)體類型名由用戶自己命名。在使用時必須聲明一個具體的結(jié)構(gòu)體類型的變量,聲明創(chuàng)建一個結(jié)構(gòu)體變量的方法是: 結(jié)構(gòu)體類型名 結(jié)構(gòu)體變量名;一個結(jié)構(gòu)體中可以包含多個數(shù)據(jù)子域。數(shù)據(jù)子域的類型名一般指基本數(shù)據(jù)類型(int char 等),也可是已經(jīng)定義的另一結(jié)構(gòu)體名。數(shù)據(jù)子域變量名可以是簡單變量,也可以是數(shù)組。它們也可以稱為結(jié)構(gòu)體的數(shù)據(jù)成員,它們

10、的訪問控制具有公有屬性。1. 通過“結(jié)構(gòu)體變量名.數(shù)據(jù)子域” 可以訪問數(shù)據(jù)子域。 / 設(shè)計Student結(jié)構(gòu)體,在主程序中運用。#include <iostream.h>#include <conio.h>#include <string.h>struct Student /定義結(jié)構(gòu)體Student long num; / 學(xué)號 int x; / 成績 char name10; / 姓名int main( ) Student s1; /聲明創(chuàng)建一個結(jié)構(gòu)體變量s1或者使用鍵盤輸入 cin >> s1.num;cin >> s1.x;ci

11、n >> ;/為s1的數(shù)據(jù)子域提供數(shù)據(jù)s1.num=1001 ; s1. x=83; strcpy( , “ 李 明”); /輸出結(jié)構(gòu)體變量s1 的內(nèi)容cout<< “ 姓名: ”<< <<endl;cout<< “ 學(xué)號: ”<< s1.num<<endl:cout<< “ 成績:”<< s1.x <<ednl; _getch(); return 0; 2. 設(shè)計一維數(shù)組,每個數(shù)組元素是Student結(jié)構(gòu)體類型,通過以下語句段可以

12、說明結(jié)構(gòu)體數(shù)組的一般用法:通過“結(jié)構(gòu)體數(shù)組名下標(biāo).數(shù)據(jù)子域”訪問數(shù)據(jù)域。 Student a5; /聲明創(chuàng)建一個結(jié)構(gòu)體數(shù)組a for(int i=0, i<5, i+) cout<<“學(xué)號:”; cin>>ai.num; /輸出數(shù)組元素ai的學(xué)號域cout<<“姓名:”; cin>> ; /輸出數(shù)組元素ai的姓名域cout<<“成績:”; cin>>ai.x; /輸出數(shù)組元素ai的成績域 以上是關(guān)于結(jié)構(gòu)體的基本概念和簡單運用。三、 類的基本概念及運用類的是面向?qū)ο蟪绦虻幕締挝弧n愂怯蓴?shù)據(jù)成員和相關(guān)的函

13、數(shù)成員組成。從面向?qū)ο蟮慕嵌瓤紤]“學(xué)生”這個類,它不僅包括“學(xué)生”的一般屬性:學(xué)號、姓名、成績等等,還應(yīng)包括對于這些屬性的操作:輸入/輸出、聽課、實驗、等等。 類定義的一般格式:class 類名 若干數(shù)據(jù)成員; 若干函數(shù)成員; ;類的數(shù)據(jù)成員和函數(shù)成員均存在訪問控制權(quán)限問題。訪問控制分為三種:公有(public)、私有(private)和受護(protected)。數(shù)據(jù)成員的定義和結(jié)構(gòu)體中的數(shù)據(jù)域定義是相似的。不同的是它們必須明確訪問控制。而公有數(shù)據(jù)成員,可以認(rèn)為與結(jié)構(gòu)體的數(shù)據(jù)域的訪問權(quán)限相同。成員函數(shù)的定義又和一般函數(shù)的定義基本相同。不同的是類中成員函數(shù)也必須明確訪問控制權(quán)限。如果在類之中定

14、義成員函數(shù)帶函數(shù)體,并未有什么特殊之處。如果在類之中僅有成員函數(shù)的原型聲明,當(dāng)在類定義之外定義函數(shù)體時,需要加上類限定標(biāo)識“類名:”。下面是“學(xué)生”類的定義:class Students /定義類結(jié)構(gòu)體Students private: /私有成員long num; / 學(xué)號 int x; / 成績 char name10; / 姓名public: /公有成員 Students(); Students() ; void SetDat( long n, int x0, char *na0 ) num=n; x=x0; strcpy( name,na0); void PrintOut( ); /輸

15、出函數(shù)的原型聲明 .;void Students:PrintOut( ) / 輸出函數(shù)前加Students: cout<< “ 姓名: ”<< name <<endl;cout<< “ 學(xué)號: ”<< num<<endl:cout<< “ 成績:”<< x <<ednl; 在主程序中運用類 S main( ) Students s; /聲明創(chuàng)建一個類對象s,調(diào)用構(gòu)造函數(shù)s.PrintOut( ); /輸出s的內(nèi)容long m; int y; char xname10

16、; cout<< “ 輸入學(xué)號,成績,姓名:” ;cin>>m>>y>>xname;s. SetDat( m, y, xname ) ; /修改對象s數(shù)據(jù) s. PrintOut(); /輸出改變后s的內(nèi)容_getch(); return 0;運行結(jié)果: 姓名:O學(xué)號:0成績:0 輸入學(xué)號,成績,姓名:1001 90 WangMing姓名:WangMing學(xué)號:1001成績:90這個例題中數(shù)據(jù)成員全部定義為私有(private),以便保證數(shù)據(jù)安全性。而函數(shù)成員全部定義為公有(public)成員函數(shù),可以作為類對外部的的接口。 通過s. SetDa

17、t( m, y, xname ) ; 直接訪公有函數(shù)成員SetDat( ), 將實參(主函數(shù)的局部變量m, y, xname) 的數(shù)據(jù)賦給私有數(shù)據(jù)成員 num,x,name。 通過 s.PrintOut( );直接訪公有函數(shù)成員PrintOut( ),間接訪問輸出私有成員num,x,name。四、 結(jié)構(gòu)體在類中的使用 1結(jié)構(gòu)體數(shù)組做類的數(shù)據(jù)成員const int MAXSIZE=100; / 數(shù)組的容量struct ElemType / 數(shù)據(jù)元素的類型 int numb; char name20; long tel; ;class Sqlist private: ElemType elemMA

18、XSIZE; /結(jié)構(gòu)體ElemType類型的數(shù)組elem 做數(shù)據(jù)成員 int length; public: Sqlist( void); Sqlist() ;/其他函數(shù);2.結(jié)構(gòu)體指針變量做類的數(shù)據(jù)成員struct NodeType / 結(jié)點的結(jié)構(gòu)定義 int data; / 數(shù)據(jù)域 NodeType *next; / 指針域 ;class Link /類聲明 private: NodeType *Head; /指向結(jié)構(gòu)構(gòu)體NodeType的指針變量Head做數(shù)據(jù)成員 public: Link ( ) Head=new NodeType; / 為頭結(jié)點申請空間 Head->next=H

19、ead; / 頭結(jié)點Head 形成空環(huán) ;Head Link () ; void creat(); void outs();實驗一:關(guān)于抽象數(shù)據(jù)類型ADT的實驗一、實驗?zāi)康募耙?.熟悉C+環(huán)境(DEVC+),理解抽象數(shù)據(jù)類型ADT的基本概念;2.學(xué)會運用C設(shè)計實現(xiàn)復(fù)數(shù)的ADT、集合的ADT;3.練習(xí)運算符重載的使用。二、實驗內(nèi)容01. 定義復(fù)數(shù)的數(shù)據(jù)結(jié)構(gòu),在復(fù)數(shù)加法的基礎(chǔ)上增加減法、乘法、除法操作。2. 定義集合的數(shù)據(jù)結(jié)構(gòu),實現(xiàn)集合的并、交、差運算基本操作。要求:演示程序有很好的界面及交互性。如:實驗1的參考界面:三、實驗準(zhǔn)備1. 計算機設(shè)備;2. 程序調(diào)試環(huán)境的準(zhǔn)備,如Devc+環(huán)境;3.

20、實驗內(nèi)容的算法分析與代碼設(shè)計與分析準(zhǔn)備。四、實驗背景知識1數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識(1)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)指的是有某種關(guān)系(某一種關(guān)系)的數(shù)據(jù)元素的集合。包括以下三個方面的內(nèi)容:ü 數(shù)據(jù)的邏輯結(jié)構(gòu)數(shù)據(jù)元素之間的邏輯關(guān)系(D,S)。ü 數(shù)據(jù)的存儲結(jié)構(gòu)數(shù)據(jù)元素及其關(guān)系在計算機存儲器內(nèi)的表示。ü 運算(操作特征)對數(shù)據(jù)進行操作的特點和規(guī)范。(P)(2)數(shù)據(jù)的邏輯結(jié)構(gòu)ü 數(shù)據(jù)的邏輯結(jié)構(gòu)是從邏輯關(guān)系上描述數(shù)據(jù),它與數(shù)據(jù)的存儲無關(guān),是獨立于計算機的。ü 有四大類:集合、線性結(jié)構(gòu)、樹型結(jié)構(gòu)、圖型結(jié)構(gòu)。線性結(jié)構(gòu)的邏輯特征是:若結(jié)構(gòu)是非空集,則符合以下四個特征:l 有且

21、僅有一個表頭結(jié)點;l 有且僅有一個表尾結(jié)點;l 除了表頭結(jié)點,其余結(jié)點均有且僅有一個直接前驅(qū);l 除了表尾結(jié)點,其余結(jié)點均有且僅有一個直接后繼。(3)數(shù)據(jù)的存儲結(jié)構(gòu)ü 數(shù)據(jù)的存儲結(jié)構(gòu)是邏輯結(jié)構(gòu)用計算機語言的實現(xiàn),即建立計算機的機內(nèi)表示,在存儲空間中建立各結(jié)點之間的關(guān)聯(lián)來表示數(shù)據(jù)元素之間的邏輯關(guān)系。ü 數(shù)據(jù)的存儲結(jié)構(gòu)主要有順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)兩大類。l 順序存儲結(jié)構(gòu)中的元素都依次存儲在一個連續(xù)的區(qū)域中,元素的物理地址就體現(xiàn)了元素的邏輯關(guān)系。l 鏈?zhǔn)酱鎯Y(jié)構(gòu)中的結(jié)點不僅包含一個數(shù)據(jù)元素,還包含一個指針,指向該元素邏輯上的直接后繼結(jié)點。(4)數(shù)據(jù)結(jié)構(gòu)的運算1)創(chuàng)建運算(cr

22、eate):創(chuàng)建一個數(shù)據(jù)結(jié)構(gòu);2)清除運算(clear):刪除數(shù)據(jù)結(jié)構(gòu)中的全部元素;3)插入運算(insert):在數(shù)據(jù)結(jié)構(gòu)的指定位置上插入一個新元素;4)刪除運算(remove):將數(shù)據(jù)結(jié)構(gòu)中的某個元素刪除;5)搜索運算(search):在數(shù)據(jù)結(jié)構(gòu)中搜索滿足一定條件的元素;6)更新運算(replace):修改數(shù)據(jù)結(jié)構(gòu)中某個元素的值;7)訪問運算(retrieve):訪問數(shù)據(jù)結(jié)構(gòu)中某個元素;8)遍歷運算(traverse):按照某種次序,系統(tǒng)地訪問數(shù)據(jù)結(jié)構(gòu)的各元素,使得每個元素恰好被訪問一次。(5)數(shù)據(jù)結(jié)構(gòu)的規(guī)范和實現(xiàn)數(shù)據(jù)結(jié)構(gòu)的規(guī)范(ADT):是指它的邏輯結(jié)構(gòu)和運算的規(guī)范;數(shù)據(jù)結(jié)構(gòu)的實現(xiàn):是指

23、它的存儲表示和運算的實現(xiàn)。2復(fù)數(shù)復(fù)數(shù)的代數(shù)形式:形如a + bi (a,bR)的數(shù)叫復(fù)數(shù),實數(shù)a、b 分別叫做實部和虛部。試設(shè)計一個復(fù)數(shù)類,該類有實部和虛部兩個成員數(shù)據(jù),成員數(shù)據(jù)采用私有訪問權(quán)限,同時該類有兩個共有成員函數(shù)。設(shè)z1=a+bi,z2=c+di是任意兩個復(fù)數(shù),復(fù)數(shù)的四則運算規(guī)定為: z1+z2(ac)(bd)i,z1-z2(ac)(bd)i,z1*z2(acbd)(bcad)i, z1/z2(ac+bd) / (c2+d2)(bcad) / (c2+d2) i.3集合 是一些可確定的可相互區(qū)別的事物(同種類型的數(shù)據(jù)元素)匯集在一起所組成的整體。集合的元素具有以下三個性質(zhì):(1)確定

24、性元素與集合的關(guān)系是屬于或不屬于,二者必居其一(2)互異性集合中元素彼此不同,沒有重復(fù)的元素。(3)無序性集合中的元素與排列順序無關(guān)。 并、交、差是集合常用的運算。五、設(shè)計與實現(xiàn)1復(fù)數(shù)的有關(guān)操作(1)復(fù)數(shù)的ADT ADT complex 數(shù)據(jù)對象:De1,e2e1,e2RealSet 數(shù)據(jù)關(guān)系:R1<e1,e2> | e1是復(fù)數(shù)的實數(shù)部分,e2 是復(fù)數(shù)的虛數(shù)部分 運算: InitComplex (v1, v2 ) 操作結(jié)果:構(gòu)造一復(fù)數(shù),其實部和虛部分別被賦以參數(shù)v1和v2的值。 DestroyComplex() 操作結(jié)果:復(fù)數(shù)被銷毀。 GetReal(&realPart )

25、 初始條件:復(fù)數(shù)已存在。 操作結(jié)果:用realPart返回復(fù)數(shù)的實部值。 GetImag(&ImagPart ) 初始條件:復(fù)數(shù)已存在。 操作結(jié)果:用ImagPart返回復(fù)數(shù)的虛部值。 Add(z1,z2) 初始條件:z1, z2是復(fù)數(shù)。 操作結(jié)果:返回兩個復(fù)數(shù)z1、z2的和值。 ADT Complex (2)復(fù)數(shù)類模板的定義(XXXX.h,如complex.h)template <class T>class Complexprivate: T real,imag; public: Complex(); Complex(T r,T i); T Getreal()const;

26、 T Getimag()const; Complex<T> Add(Complex &c); /其他運算 Complex<T> operator+(Complex &c); /其他運算重載 void Output(ostream& out); void Input(istream& in);(3)復(fù)數(shù)類模板中成員函數(shù)的實現(xiàn)(complex.cpp)(4)主程序模塊定義 在沒有學(xué)習(xí)可視化圖形界面之前,建議在主函數(shù)中簡單設(shè)計一個“菜單”(do-while循環(huán)內(nèi)嵌套一個 switch結(jié)構(gòu))。隨著學(xué)習(xí)的深入,應(yīng)該學(xué)會熟練使用“菜單”技術(shù),這樣會明顯提高編程和運行效率。一個主函數(shù)一般樣式如下:(參考代碼) do /顯示菜單內(nèi)容 cout<<"=歡迎使用復(fù)數(shù)運算系統(tǒng)=n&qu

溫馨提示

  • 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

提交評論