程序设计操作符的重载实验报告_第1页
程序设计操作符的重载实验报告_第2页
程序设计操作符的重载实验报告_第3页
程序设计操作符的重载实验报告_第4页
程序设计操作符的重载实验报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序设计操作符的重载实验报告实验报告二 类和对象一、实验目的本实验的U的是熟练学习和掌握类的定义及操作符的重载以及Datatime结 构。二、实验内容及结果(一)、第1个题訂的要求:定义完整的ComplexNumber类,在其中重载加减乘 除等基本操作符、相等和不等操作符、大小比较操作符以及自增自减操作符1、程序编程思路:首先定义一个ComplexNumber类,然后重载各种操作2、程序源码:static void Main(stringargs)Console. WriteLine(z/请输入第一个复数 cl: ”);ComplexNumber cl = newComplexNumber(d

2、ouble Parse(Console ReadLine(),double Parse(Console ReadLine();Console. WriteLine (请输入笫二个复数 c2: ”);ComplexNumber c2 = newComplexNumber(double Parse(Console ReadLine(),double Parse(Console. ReadLine();ComplexNumber c3 = cl + c2;Console. WriteLine C这两个复数的和为0, c3);ComplexNumber c4 二 cl 一 c2;Console. Wr

3、iteLine (这两个复数的差为0 、c4);Comp1exNumber co = cl * c2;Console. WriteLine C这两个复数的乘积为0, c5);Comp1exNumber c6 = cl / c2;Console. WriteLine C这两个复数相除为0, c6);if (cl = c2)Console. WriteLine C这两个复数相等);else if (cl != c2)Console. WriteLine C这两个复数不相等);if (cl c2)Console. WriteLine(clc2);elseConsole. WriteLine(clc2

4、);Console. WriteLine Cc 1 自增结果为0, cl+);Console. WriteLineCc 1 自减结果为0, cl-);Console. ReadLine ();public class Comp1exNumberprivate double x, y;public double Xget return x; set x = value; public double Yget return y; set y = value; public Comp1exNumber(double x, double y)this x = x;this y 二 y;public s

5、tatic Comp1exNumber operator +(Comp1exNumber cl,Comp1exNumber c2)return new Comp 1 exNumber (clx + c2 x, cl y + c2 y);public static Comp1exNumber operator -(Comp1exNumber cl,Comp1exNumber c2)return new Comp 1 exNumber (cl.x 一 c2 x, cl y 一 c2 y);public static Comp1exNumber operator *(Comp1exNumber cl

6、,Comp1exNumber c2)return new Comp 1 exNumber (cl x * c2 x 一 cl y * c2 y, cl y * c2 x + cl. x * c2. y);public static Comp1exNumber operator /(Comp1exNumber cl,Comp1exNumber c2)return new Comp 1 exNumber(clx * c2x + cl y * c2 y) / (c2x * c2+ c2. y * c2. y), (cl. y * c2. x - cl. x * c2. y) / (c2. x * c

7、2. x + c2. y * c2. y);public static bool operator =(Comp1exNumber cl, Comp1exNumber c2)return (clx = c2 x) & (cly = c2 y);public static bool operator !=(Comp1exNumber cl, Comp1exNumber c2)return (clx != c2 x) I i (cly !二 c2 y);public static bool operator (Comp1exNumber cl, Comp1exNumber c2)double a

8、= clx * clx + cl. y * cl.y;double b = c2. x * c2. x + c2. y * c2. y;return a b;public static bool operator (Comp1exNumber cl, Comp1exNumber c2)double a = cl为:* cl. X+ cl y * cl. y;double b = c2 y:* c2. x+ c2. y * c2. y;return a b;public static Comp1exNumber operator +(Comp1exNumber cl)return new Com

9、p1exNumber(cl x+, cl. y+);public static Comp1exNumber operator -(Comp1exNumber cl)return new Comp1exNumber(cl x一一, cl y一一);public override string ToStringOreturn string Format C 0 + l i,z, this x, this y);3、实验结果:(二)、第2个题目的要求:知道一个人的生日,如何计算他的年龄(严格按照周 岁计算)1、程序编程思路:首先考虑的是怎么来计算年龄,想到用当前日期减去生日日期,用年减去年, 月减去

10、月,日减去日,然后思考,各种情况下的年龄讣算方法,画出程序的流程 图,根据流程图写出源程序;接着就想到如何让操作者方便的一次性将生日的年月 日输入,就考虑用字符数组,然后用string类的split方法将输入的字符串劈 开。2、程序源码:static void Main (string Z 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 = ConsoleRea

11、dLine();char sepl 二;string J h= g. Split (sepl);int x = new inth.Length;for (int i = 0; i h. Length; i+)xi = int. Parse(hi);a =d-x0;b =e-xl;c =f-x2;辻(a 0) I I (a = 0 & b 0) I i (a = 0 & b = 0 & c 0)if (b 0) Console. WriteLine ( 0 , a);您今年岁else if (b 0) Console. WriteLine C 0z/, a - 1);您今年岁else if (b = 0)if (c0) Console. WriteLine C 0z/, aT);您今年岁else Console. WriteLine ( 0 , a);您今年岁Console. ReadLine ();3、实验结果:三、实验效果对第一个题II,要熟记操作符重载的方法与格式,掌握被重载的操作符必须被声明为共有的和静态的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论