C上機題目復習及答案_第1頁
C上機題目復習及答案_第2頁
C上機題目復習及答案_第3頁
C上機題目復習及答案_第4頁
C上機題目復習及答案_第5頁
免費預覽已結束,剩余23頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第十周上機題目題目:1. 建立一個矩陣類 Array,存儲一個nx n矩陣并能完成矩陣轉置運算。要求如下1 ) 私有成員數據int *x:指向存儲一個nxn矩陣值得內存區域(二維數組作為一維數組存儲)int n: 存儲矩陣行數( 2)公有成員函數構造函數:用參數指定得值或缺省值3初始化n,并用n得值為矩陣動態申請內存空間析構函數 :釋放對象存儲矩陣時占用得內存空間 ;viod input(int *a): 將一個矩陣賦值給對象中得數組。void print(): 按行輸出矩陣得值。void change(): 轉置矩陣。編寫一個程序測試該類。定義對象A,將一個矩陣存入A中,并輸出矩陣得值,轉置

2、對象 A 中得矩陣并輸出 ,使用以下測試數據 :A=A轉置后得矩陣=#include<iostream 、 h>#define N 3class Arrayint *x; /指向存儲一個n x n矩陣值得內存區域(二維數組作為一維數組存儲)int n; /存儲矩陣行數public:Array(int s=3)n=s;x=new intN*N;void input(int *a);/ 將一個矩陣賦值給對象中得數組。void print();/ 按行輸出矩陣得值。void chan ge();/ 轉置矩陣。Array()if(x) delete x;void main()int aN3

3、;int i,j;cout<<" 請輸入 "<<N<<'*'<<N<<" 得矩陣 "<<endl;for(i=0;i<N;i+)for(j=0;j<N;j+)cin>>aij;Array d(N); d、input(a0);cout<<"原始數組為:n"d、print();d、change(); cout<<"轉置后得數組為:n"d、print();void Array:i npu

4、 t(i nt *a)for(i nt i=0;i<N*N;i+)xi=*a+;void Array: prin t()for(i nt i=0;i<N*N;i+)(i+1)%3)?cout<<xi<<'t':cout<<xi<<e ndl;void Array:cha nge()int temp;for(i nt i=0;i<N;i+)for(i nt j=0;j<i;j+) tem p=xi*N+j; xi*N+j=xN+i; xj*N+i=te mp;2. 編程題模擬人腦神經網絡得神經元結構模型如下圖

5、所示,它們得之間得關系為:這里,刀表示各項得與,exp(z)為求z得自然指數值ex得函數,包含在頭文件 math、h中, 其函數原型為 double exp(double z)。試定義一個NN類實現上述模型。具體要求如下:1)私有成員float x5,dt:數組x與數組w分別存放輸入信號xi及其加權系數 wi;dt存放非零參數Obdouble y:神經元得突出。2)公有成員:NN(float t , float d)用數組t初始化加權系統 wi,用d初始化dt。void fun (float t):用數組t初始化xi,并根據上述公式計算y得值。void print( ): 輸出輸入信號與輸出信

6、號得值 在主函數中 ,用輸入信號 1、2,3、5 , 2、3 , 3、2 , 2、8 以及加權系數 o、5 , 0、 8 , 1、2 , 1、8 , 1、1 對該類進行測試。#include<iostream 、 h> #include<math 、 h>class NNfloat x5,w5,dt;double y;public:NN(float t,float d);/用數組t初始化加權系統wi,用d初始化dt。/輸出輸入信號與輸出信號得值void fun(float t); / 用數組 t 初始化 xi, 并根據上述公式計算 y 得值。 void print( )

7、;void main()2,3、5,2、3,3 、 2,2、 8;8,1、 2,1、8,1、1;float a5=1 、5,0、float b5=0 、NN t(b,0 、2);t、 fun(a); t、print();NN:NN(float t,float d)for(int i=0;i<5;i+) wi=ti;dt=d;void NN:fun(float t)for(int i=0;i<5;i+)xi=ti;double n=0 、0; for(i=0;i<5;i+)n+=(xi-wi)*(xi-wi);y=exp(-n/(2*dt*dt);void NN:print()

8、 cout<<"xi="for(int i=0;i<5;i+) cout<<xi<<' 'cout<<endl;cout<<"y="<<y<<endl;附加題:3. 面向對象編程 :幾何圖形類要求】按以下描述與要求建立兩個類:基類 Rectangle 與派生類 Cube:Rectangle 私有成員 :/左下角得坐標/右上角得坐標double x1, y1 ;double x2, y2 ; 公有成員Rectangle(double a=0, doub

9、le b=0, double c=0, double d=0);/帶缺省值得構造函數double getwidth();/ 計算并返回矩形得寬double getlength() ;/ 計算并返回矩形得長virtual void display() ;/輸出矩形得各坐標及長寬注:正立方體 Cube 得底面矩形從基類繼承Cube:私有成員 :/ 立方體名稱 (字符串對象 )/立方體高度string name; double h;公有成員 :Cube (string="", double =0, );/帶缺省值得構造函數void set (string, double) ;/修

10、改立方體標識符與高度值void display(); / 輸出立方體全部信息 ,并計算輸出體積Cube add ( Cube &S ); /將參數對象 S得高度加到this對象上。以上成員函數得參數名如有未給出得則自已命名。頭文件包含語句為 :#include <iostream 、 h>#include <string 、 h>主函數要求 :(1) 定義 Rectangle 類對象 A 坐標 :10, 10, 30, 40;定義Cube類對象B坐標:20, 10, 30, 40;名稱與高度:Box, 60、C(C數據由B拷貝 生成 )與 D(D 數據暫無 )。

11、(2) 調用函數set修改對象C得名稱與高度值。數據為 Trunk, 95。(3) 調用函數dis play及相關函數輸出對象A、B與C得全部數據,計算輸出B與C得體積。每個對象得信息占一行。(4) 調用add函數,計算D=B+C。輸出D得全部數據,計算并輸出D得體積。#include<iostream 、 h> #include<string 、h>class Rectangledouble x1, y1 ;/左下角得坐標double x2, y2 ;/右上角得坐標public:Rectangle(double a=0, double b=0, double c=0,

12、 double d=0) x1=a,y1=b;x2=c,y2=d;double getwidth()return (x2-x1); /計算并返回矩形得寬double getlength()return (y2-y1); / 計算并返回矩形得長void display() ;/輸出矩形得各坐標及長寬;class Cube :public Rectanglechar name10;/立方體名稱 (字符串對象 )double h;/立方體高度public:Cube (double a=0,double b=0,double c=0,double d=0,char *s=0, double h1=0)

13、:Rectangle(a,b,c,d)/ 帶缺省值得構造函數if(s) strcpy(name,s);h=h1;void set (char *, double);/ 修改立方體標識符與高度值void display(); / 輸出立方體全部信息 ,并計算輸出體積Cube add(Cube &S); /將參數對象 S得高度加到this對象上。;void main()Rectangle A(10,10,30,40);Cube B(20,10,30,40,"Box",60),C(B),D;B、set("Trunk", 95);A 、 display(

14、);B、display();C、display();D=B、add(C);D、display();void Rectangle:display()cout<<"矩形:";cout<<"左下角得坐標:"<<x1<<','<<y1<<",右上角得坐標:"<<x2<<','<<y2<<',' cout<<"長:"<<(x2-x1)&

15、lt;<",寬:"<<(y2-y1)<<endl;void Cube:set (char *s, double h1)h=h1;strcpy(name,s);void Cube:display()double mj=getwidth()*getlength();cout<<" 長方體 : "cout<<"底面積為:"<<mj<<','cout<<" 體積為 : "<<mj*h<<endl

16、;Cube Cube:add(Cube &S) h+=S、h; return *this;第十一周上機題目題目:1.建立一個類 NUM, 求指定范圍內得所有素數 (質數 )。具體要求如下 :1)私有數據成員。int data25; 依次存放指定范圍內得所有素數。int spanl , span2 ;存放要求計算得素數得范圍。int num ;存放 span1 與 span2 之間得素數個數。2)公有成員函數。構造函數NUM (int a ,int b);初始化所要求得素數得范圍spani、span2及num (值為0)。void process():求出指定范圍內得所有素數,把它們依次

17、存放在數組data中,并將求出得素數得個數賦給 num 。void print( ): 輸出求出得所有素數。3)在主程序中對該類進行測試。使用測試數據之間得所有素數。span1=100 , span2=200 。即求 100200#include<iostream 、 h> #include<math 、 h>class NUMintdata25;/依次存放指定范圍內得所有素數。intintnum;II存放spani與span2之間得素數個數。span1,span2; /存放要求計算得素數得范圍。public:NUM (int a ,int b);void proces

18、s( );void print( );void main()NUM a(100,200);a、 process();a、 print();NUM:NUM (int a ,int b)span1=a;span2=b;num=0;void NUM:process( )int i,n,f=0;for(i=span1;i<=span2;i+)for(n=2,f=0;n<=sqrt(i);n+)if(i%n=0)f=1;break; if(f=1)continue;datanum+=i;void NUM:print( )for(int i=0;i<num;)cout<<da

19、tai<<'t'if(+i%6=0)cout<<endl;cout<<endl;2. 編程題已知由一個數組派生出另一個數組得派生規則如下:假定原始數組為a10, 新數組為b10,則bi得值為數組a中大于ai得元素得個數。例如,對于說明“ int a =1,2,3,4,5;int b5; ”,其中a1=2,數組a中有3個元素比a1大,則b1=3。試建立一個實現此功能得類 ARRAY 。具體要求如下 :1) 私有數據成員。int a10,b10;a 存放原始數組 ,b 存放派生數組。2) 公有成員函數。構造函數 ARRAY(int data10)

20、; 初始化成員數組void process();由數組a根據上述派生類規則,用循環語句計算數組b得各元素。void print( ); 屏幕顯示數組 a 與 b。#include<iostream 、 h>class ARRAY int a10,b10;public:ARRAY(int data10);/ 初始化成員數組 a 。void Process( );/由數組a根據上述派生類規則,用循環語句計算數組b得各元素。void print( );/ 屏幕顯示數組 a 與 b。;void main()int a=7,4,9,23,56,44,18,33,21,17;ARRAY arr

21、ay(a);array、 process(); array、print();ARRAY:ARRAY(int data10)for(int i=0;i<10;i+)ai=datai;bi=0;void ARRAY:process( )for(int i=0;i<10;i+) for(int k=0;k<10;k+) if(ak>ai) bi+;void ARRAY:print( ) cout<<"a10= " for(int i=0;i<10;i+) cout<<ai<<' ' cout<

22、<endl; cout<<"b10= " for(i=0;i<10;i+)cout<<bi<<' ' cout<<endl;附加題:3. 面向對象編程 :物品保管箱管理應用程序【要求】按以下描述與要求建立一個類Boxes,執行主函數對其測試。私有成員 :int *box ;/指向保管箱數組,下標為箱號 ,元素值為0 表示空箱 ;大于 0 表示該箱中存入得物品數量。char *flag ; static int sum; int xh; 公有成員 :/指向客戶標識符數組 (下標為箱號 ,與 box 數

23、組配對使用 ) /累計存入物品數量/保管箱得個數Boxes(int num=10); / 構造函數 ,動態分配 box 與 flag 數組空間 , 長度為 num。Boxes( );/析構函數 ,釋放分配得內存void put(int n, char m);/選擇一個空箱存入 n 件物品 ,填寫客戶標識符 ,并將物品數量累加到sum;若找不到空箱則輸出提示信息。void get(char m);/根據客戶標識符 (元素下標 )查找存儲得物品 ,找到后取出并清空保管箱(置 0)。若找不到指定則輸出提示信息。void display();/輸出保管箱類所有數據,統計占用箱個數與空閑箱個數。最后輸出

24、存入物品數量:int Boxes:sum=0;頭文件包含語句為 :#include <iostream 、 h> 在類定義外面對靜態成員做定義性說明并賦初值為零 主函數要求 :1)2)定義 Boxes 類對象 A, B(2) 。數組元素初始值為零。 調用函數 put 為對象 A 與 B 做存儲操作 :A、put(5, R'); B、put(9,'K'); put(8, P'); put(15, H'); put(40, F');A、B、B、3)調用函數dis play輸出對象A與B得全部數據。 調用函數B、B、A、A、A、調用函數4)

25、#include<iostream 、 h>put與get為對象A與B做存儲與取出操作: get(H');put(40, F'); get(S') ; get(R');put(12, M ');display 輸出對象 A 與 B 得全部數據。class Boxesint *box ; /指向保管箱數組 ,下標為箱號 ,元素值為 0 表示空箱 ;大于 0 表示該 箱中存入得物品數量。char *flag ;/指向客戶標識符數組 (下標為箱號 ,與 box 數組配對使用 )static int sum;/累計存入物品數量int xh;publi

26、c:Boxes(int num=10); / 構造函數 ,動態分配 box 與 flag 數組空間 , 長度為 num。 Boxes( );/ 析構函數 ,釋放分配得內存void put(int n, char m);/ 選擇一個空箱存入 n 件物品 ,填寫客戶標識符 ,并將物品數量累加到sum;若找不到空箱則輸出提示信息。void get(char m);/根據客戶標識符 (元素下標 )查找存儲得物品 ,找到后取出并清空保管箱 (置 0)。若找不到指定則輸出提示信息。void display();/輸出保管箱類所有數據,統計占用箱個數與空閑箱個數。最后輸出存入物品數量;int Boxes:s

27、um=0; void main()Boxes A,B(2);/ 數組元素初始值為零。A、put(5, 'R');B、put(9,'K');put(8, 'P');put(15, 'H');put(40, 'F');A、B、B、cout<<"A 庫:n"A、display();cout<<"B 庫:n"B、display(); get('H');put(40, 'F');get('S') ;get('

28、;R');put(12, 'M');B、B、A、A、A、cout<<"A 庫:n"A、display();cout<<"B 庫:n"B、display();Boxes:Boxes(int num) box=new intnum; flag=new charnum; xh=num;for(int i=0;i<num;i+) boxi=flagi=0;Boxes:Boxes( )delete box;delete flag;void Boxes:put(int n, char m)int i=0;whil

29、e(boxi!=0 && i+<xh); if(i<xh && boxi=0) boxi=n;flagi=m; sum+=n;else cout<<" 無空箱存放客戶 "<<m<<" 得物品 !nn"void Boxes:get(char m)int i=0;while(flagi!=m && i<xh) i+;if(flagi!=m)cout<<" 沒有找到客戶 "<<m<<" 物品 !

30、nn" else sum-=boxi;boxi=0;void Boxes:display()int n=0;for(int i=0;i<xh;i+)if(boxi>0)cout<<" 客戶 "<<flagi<<": 存放物品數量 :"<<boxi<<" 件。 n" else n+;cout<<" 占用箱個數 :"<<xh-n<<" 個 ,空閑箱個數 :"<<n<

31、<" 個。 n 存入物品總數量 有:"<<sum<<"nn"第十二周上機題目. 編程題【程序功能】 找出給定范圍內得與親數。對于兩個正整數 ,如果其中得一個整數就是另一個整數得全部真因子之與,反之亦然 ,則稱這兩個數為 “與親數 ”。例如 ,220有真因子 “1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110 ,其與為 28”4, 而 284 有真因子 “ 1, 2, 4, 71, 142,其與”為 220,因此 220 與 284 就就是一對與親數。 【編程要求】1. 試建立一個類 NNM私有數

32、據成員int n1 , n2 ;/ 查找數據得范圍int a102; /存儲m n(m<n)之間得所有與親數對,并存儲到a數組中int num;/統計與 親數對得個數公有成員函數1)2)3)4)缺省構造函數:初始化數據成員n1,n2為0。帶參構造函數 NNM(int m,int n): 用參數初始化數據成員n1,n2。void find( ) 函數用于查找 n1 n2 之間得所有與親數對并存儲到數組中 打印函數 void print( ) ,將結果輸出到屏幕#include<iostream 、 h> class NNMint n1,n2; int a102;int num;

33、public:NNM()n1=0;n2=0;num=0;NNM(int a, int b) n1=a,n2=b,num=0;void find();void print();void main()NNM a(2,500);a、 find();a、print();void NNM:find()int sum1=0,sum2=0;int i,n;for(i=n1;i<=n2;i+) for(sum1=0,n=1;n<i/2+1;n+) if(i%n=0)sum1+=n;for(sum2=0,n=1;n<sum1/2+1;n+) if(sum1%n=0)sum2+=n;if(sum

34、2!=i | sum1=i) continue;anum0=i,anum+1=sum1;void NNM:print() for(int i=0;i<num;i+)cout<<ai0<<','<<ai1<<endl;2. 編寫 main 函數 ,接收鍵盤輸入得兩個正整數 m 與 n(m<n), 建立對象 ,通過調用成員函數完 成親與數得查找及結果輸出得任務。【測試數據與運行結果】 測試數據 :m=2, n=500 。運行結果 : ( 220 ,284 )( 284 , 220)二. 編程題要求】試建立一個類 Stude

35、nt 用于描述學生信息 ,具體要求如下 :私有數據成員int id: 學生學號。char yuwen:語文成績(五級分制:A、B、C、D與E,其它無效)。float shuxue: 數學成績 (百分制 )。公有成員函數1)缺省構造函數:初始化數據成員為 0或 NULL 值。2)帶參構造函數:用參數初始化數據成員。3)void Print( ):輸出本對象得學號、語文成績與數學成績。4) 員得值。int id;/學生學號。修改函數 void Change( ): 從鍵盤輸入新得學號、語文成績與數學成績,修改相應數據成5) 比較函數 void p(Student &a, Student &

36、amp;b): 比較 a 學生與 b 學生得數學成績 ,找出數學成 績最高與最低得學生 ,輸出她們得信息。主程序 :定義三個以上得對象 ,并且每個成員函數至少被調用一次。#include<iostream 、 h> class Studentchar yuwen; /語文成績(五級分制:A、B、C、D與E,其它無效)。float shuxue; / 數學成績 (百分制 )。public:Student()id=0, yuwen=NULL;shuxue=0;Student(int,char,float);void Print( );void Change( );void p(Stud

37、ent &a, Student &b);void main()Student A(78,'E',86),B(84,'D',82),C;C 、 Change();A、 p(B,C);Student:Student(int a,char b, float c)id=a, yuwen=b;shuxue=c;void Student:Print( )cout<<" 學號: "<<id<<", 語文成績 : "<<yuwen<<", 數學成績 :

38、"<<shuxue<<endl;void Student:Change( )cout<<" 請輸入學生得學號、語文成績(五級分制 :A/B/C/D/E, 其它無效 )與數學成績 :n"cin>>id>>yuwen>>shuxue;void Student:p(Student &a, Student &b)Student max,min;max= shuxue>a、 shuxue?(shuxue>b、shuxue? *this:b):(a 、shuxue>b、

39、shuxue?a:b);min= shuxue<a 、 shuxue?(shuxue<b、shuxue? *this:b):(a 、 shuxue<b、 shuxue?a:b);cout<<" 數學成績最高與最低得學生分別就是 :n"max、 Print();min 、 Print();附加題 :三 . 編程題 :1.2.3.4.實現描述超市得得類 Suppermacket 類 ,記錄系統中現有商品 (用指針實現 ),定義增加 商品得函數Append,刪除商品得函數Delete,查詢商品得函數 Query,并顯示查詢結果;定義商品類 Goods

40、,具有商品名稱 Name,商品價格Price,商品數量number等屬性,操 作Sale(銷售商品,余額不足時給予提示卜Add(商品上架操作)與ShowMe(顯示商品 信息)。編寫 main 函數 ,測試以上所要求得各種功能,完成商品得增加、刪除與查詢商品,以及商品銷售與商品上架得操作。可以利用對象成員來實現。#include<iostream 、 h> #include<string 、 h> class Suppermacket; class Goodschar name10; int Price;int number;public:Goods() strcpy(n

41、ame,"");Price=0;number=0;void Sale(int n);void Add();void ShowME()cout<<" 商品 :"<<name<<", 價格 :"<<Price<<", 有 "<<number<<" 件。 nn" ;friend Suppermacket;class SuppermacketGoods *PGoods;int num;public:Suppermacke

42、t(int n=10)PGoods=new Goodsn; num=n;void Append();void Delete();void Query();Suppermacket()delete PGoods;void main()Suppermacket A(3);A 、 Append();A 、 Append();A 、 Delete();A 、 Query();void Suppermacket:Append() for(int i=0;i<num;i+) if(PGoodsi 、 number=0) PGoodsi 、 Add(); PGoodsi 、 ShowME(); ret

43、urn;cout<<" 沒有空貨架上貨了! n"void Suppermacket:Delete()char name10;int n;H.cout<<"請輸入需要銷售商品名稱與數量cin>>name>>n; for(int i=0;i<num;i+)if(strcmp(PGoodsi 、 name,name)=0) PGoodsi 、 Sale(n); return;cout<<" 查無此商品 !n"void Suppermacket:Query()char name10;co

44、ut<<"請輸入需要查詢得商品名稱;”;cin>>name;for(int i=0;i<num;i+) if(strcmp(PGoodsi 、 name,name)=0)PGoodsi 、 ShowME(); return;cout<<"查無此商品!n”;void Goods:Sale(int n) if(n<number) number-=n; ShowME();elsecout<<" 商品數量不夠 ,無法銷售! n";void Goods:Add()H.cout<<"請

45、輸入上架得商品名稱、價格及數量 cin>>name>>Price>>number;第十三周上機題目1、編程題/*編寫一個程序,輸入N個學生數據,包括學號、姓名、C+成績,要求輸出這些學生得數據、平 均分與成績等級。提示:設計一個學生類Stud,除了包括id(學號)、name(姓名)與C(成績)數據成員外,還有兩個靜態成員數據sum與num,分別存放總分與人數,另有兩個普通成員函數 setdata()與print(),分別 用于給數據成員賦值與輸出數據成員得值,另有一個靜態成員函數avg(),它用于計算平均分,,設計一個完整得程序。并輸出平均分。 同時設計一個

46、友元函數 ,輸出成績對應得等級 :大于等于 90:優;8090:良;7079: 中;6069:及格 ;小于 60:不及格 在ma in ()函數中定義了一個對象數組用于存儲輸入得學生數據*/ #define N 3 #include <iostream 、 h> #include <string 、 h> class Studint id;char name20;int deg;static int sum; /靜態成員變量static int num;public:Stud()Stud();void setdata();void display();static vo

47、id avg();friend void grade(Stud &);int Stud:num = 0;int Stud:sum = 0;void Stud:setdata() / 設置學號、姓名、成績cout<<"Please input Id 、H.cin>>id;cout<<"Please input Name: "cin>>name;cout<<"Please input score: "cin>>deg;num +;/學生人數sum += deg;/總成績

48、void Stud:display() / 輸出學生信息cout<<"Id = " << id << ", name = " << name <<", deg = "<<deg<<endl;void Stud:avg() / 計算平均成績cout<< "Average score is " << (float)sum/num <<endl;void grade(Stud &s)switch

49、(s 、 deg/10)case 0:case 1:case 2:case 3: case 4: case 5:cout<<" 不及格 "break;case 6:cout<<" 及格 "break;case 7:cout<<"中 ”;break;case 8:cout<<"良"break;case 9: case 10:cout<<"優"break;void main()Stud stuN;for(int i = 1; i <= N; i

50、+)stui 、 setdata();for(i = 1; i <= N; i+)stui 、 display();cout<<"C+ 成績等級 :"grade(stui);cout<<endl;Stud:avg();2、編程題/*、+、定義一個復數類 ,通過重載運算符 :=、+=、-=、+、-、 *、/、=、!=,直接實現兩個復數之間 得各種運算。編寫一個完整得程序(包括測試各運算符得程序部分 )。*/#include"iostream 、 h" class plexfloat Real,Image;public:plex

51、(float r=0,float i=0)Real=r;Image=i;float getR()return Real;float getI()return Image;void show()cout<<"Real="<<Real<<'t'<<"Image="<<Image<<'n'plex operator + (plex &);plex operator - (plex &);plex operator * (plex &)

52、;plex operator / (plex &);void operator = (plex &);int operator = (plex &);int operator != (plex &);void operator += (plex &);void operator -= (plex &);plex plex:operator + (plex &c)plex t;t、 Real=Real+c 、 Real;t、 Image=Image+c 、 Image;return t;plex plex:operator - (plex

53、&c)plex t;t、 Real=Real-c 、 Real;t、 Image=Image-c 、 Image;return t;plex plex:operator * (plex &c)plex t;t、 Real=Real*c 、Real-Image*c 、Image;t、 Image=Real*c 、 Image+Image*c 、 Real;return t;plex plex:operator / (plex &c)plex t;t、 Real=(Real*c 、 Real+Image*c 、 Image)/(c 、 Real*c 、 Real+c、 Im

54、age*c 、 Image);t、 Image=(Image*c 、 Real-Real*c 、 Image)/(c 、 Real*c 、 Real+c 、Image*c 、 Image);return t;void plex:operator = (plex &c)Real=c 、 Real;Image=c、 Image;int plex:operator = (plex &c)if(Real=c 、Real&&Image=c 、 Image)return 1;elsereturn 0;int plex:operator != (plex &c)if(

55、Real=c 、Real|Image=c 、 Image)return 0;elsereturn 1;void plex:operator += (plex &c)Real=Real+c 、Real;Image=Image+c 、 Image;void plex:operator -= (plex &c)Real=Real-c 、 Real;Image=Image-c 、 Image;void main()plex c1(1,2),c2,c3(3,5);plex c,c4(5,6);c1、 show();c2=c1;c2、 show();c=c1+c3;c、 show();c+

56、=c1;c、 show();c-=c1;c、 show();c=c1/c3;c、 show();c4+=c1*c2;c4、 show();cout<<(c1=c2)<<'n'cout<<(c1!=c2)<<'n'第十四周上機題目1、編程題/*設計一個三角形類Triangle,包含三角形三條邊長得私有數據成員,另有重載運算符“ + ”與“-”,以實現求兩個三角形對象得面積之與與之差。提示:在Triangle類中設計兩個友元函數,重載運算符"+"與"-"。*/ #include<iostream 、 h> #include&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論