程序設(shè)計(jì)操作符的重載實(shí)驗(yàn)報(bào)告_第1頁
程序設(shè)計(jì)操作符的重載實(shí)驗(yàn)報(bào)告_第2頁
程序設(shè)計(jì)操作符的重載實(shí)驗(yàn)報(bào)告_第3頁
程序設(shè)計(jì)操作符的重載實(shí)驗(yàn)報(bào)告_第4頁
程序設(shè)計(jì)操作符的重載實(shí)驗(yàn)報(bào)告_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)報(bào)告二 類和對象一、 實(shí)驗(yàn)?zāi)康?本實(shí)驗(yàn)的目的是熟練學(xué)習(xí)和掌握類的定義及操作符的重載以及datatime結(jié)構(gòu)。二、 實(shí)驗(yàn)內(nèi)容及結(jié)果(一)、第1個題目的要求:定義完整的complexnumber類,在其中重載加減乘除等基本操作符、相等和不等操作符、大小比較操作符以及自增自減操作符 1、程序編程思路:首先定義一個complexnumber類,然后重載各種操作2、程序源碼: static void main(string args) console.writeline("請輸入第一個復(fù)數(shù)c1:"); complexnumber c1 = new complexnumber(do

2、uble.parse(console.readline(), double.parse(console.readline(); console.writeline("請輸入第二個復(fù)數(shù)c2:"); complexnumber c2 = new complexnumber(double.parse(console.readline(), double.parse(console.readline(); complexnumber c3 = c1 + c2; console.writeline("這兩個復(fù)數(shù)的和為 0", c3); complexnumber

3、c4 = c1 - c2; console.writeline("這兩個復(fù)數(shù)的差為 0", c4); complexnumber c5 = c1 * c2; console.writeline("這兩個復(fù)數(shù)的乘積為 0", c5); complexnumber c6 = c1 / c2; console.writeline("這兩個復(fù)數(shù)相除為 0", c6); if (c1 = c2) console.writeline("這兩個復(fù)數(shù)相等"); else if (c1 != c2) console.writelin

4、e("這兩個復(fù)數(shù)不相等"); if (c1 > c2) console.writeline("c1>c2"); else console.writeline("c1<c2"); console.writeline("c1自增結(jié)果為 0", c1+); console.writeline("c1自減結(jié)果為 0", c1-); console.readline(); public class complexnumber private double x, y; public dou

5、ble x get return x; set x = value; public double y get return y; set y = value; public complexnumber(double x, double y) this.x = x; this.y = y; public static complexnumber operator +(complexnumber c1, complexnumber c2) return new complexnumber(c1.x + c2.x, c1.y + c2.y); public static complexnumber

6、operator -(complexnumber c1, complexnumber c2) return new complexnumber(c1.x - c2.x, c1.y - c2.y); public static complexnumber operator *(complexnumber c1, complexnumber c2) return new complexnumber(c1.x * c2.x - c1.y * c2.y, c1.y * c2.x + c1.x * c2.y); public static complexnumber operator /(complex

7、number c1, complexnumber c2) return new complexnumber(c1.x * c2.x + c1.y * c2.y) / (c2.x * c2.x + c2.y * c2.y), (c1.y * c2.x - c1.x * c2.y) / (c2.x * c2.x + c2.y * c2.y); public static bool operator =(complexnumber c1, complexnumber c2) return (c1.x = c2.x) && (c1.y = c2.y); public static bo

8、ol operator !=(complexnumber c1, complexnumber c2) return (c1.x != c2.x) | (c1.y != c2.y); public static bool operator >(complexnumber c1, complexnumber c2) double a = c1.x * c1.x + c1.y * c1.y; double b = c2.x * c2.x + c2.y * c2.y; return a > b; public static bool operator <(complexnumber

9、c1, complexnumber c2) double a = c1.x * c1.x + c1.y * c1.y; double b = c2.x * c2.x + c2.y * c2.y; return a < b; public static complexnumber operator +(complexnumber c1) return new complexnumber(c1.x+, c1.y+); public static complexnumber operator -(complexnumber c1) return new complexnumber(c1.x-,

10、 c1.y-); public override string tostring() return string.format("0+1i",this.x,this.y); 3、實(shí)驗(yàn)結(jié)果: (二)、第2個題目的要求:知道一個人的生日,如何計(jì)算他的年齡(嚴(yán)格按照周歲計(jì)算) 1、程序編程思路: 首先考慮的是怎么來計(jì)算年齡,想到用當(dāng)前日期減去生日日期,用年減去年,月減去月,日減去日,然后思考,各種情況下的年齡計(jì)算方法,畫出程序的流程圖,根據(jù)流程圖寫出源程序;接著就想到如何讓操作者方便的一次性將生日的年月日輸入,就考慮用字符數(shù)組,然后用string類的split方法將輸入的字符串劈

11、開。2、程序源碼:static void main(string args) int a, b, c, d, e, f; datetime s = datetime.today; d = s.year; e = s.month; f = s.day; console.writeline("請輸入您的生日(格式為0000-00-00)"); string g = console.readline(); char sep1 = '-' string h= g.split(sep1); int x = new inth.length; for (int i = 0

12、; i < h.length; i+) xi = int.parse(hi); a = d - x0; b = e - x1; c = f - x2; if (a < 0) | (a = 0 && b < 0) | (a = 0 && b = 0 && c < 0) console.writeline("您輸入的生日有誤!"); else if (a = 0) console.writeline("您不滿一歲!"); else if (a > 0) if (b > 0) console.writeline("您今年0歲!",a); else if (b < 0) console.writeline("您今年0歲!", a - 1); else if (b = 0) if (c<0) console.writeline("您今年0歲!", a-1); else console.writeline("您今年0歲!", a); console.readline(); 3、實(shí)驗(yàn)結(jié)果: 三、 實(shí)驗(yàn)效果對第一個題目,要熟記操作符重載的方法與格式

溫馨提示

  • 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

提交評論