程序设计操作符的重载实验报告.doc_第1页
程序设计操作符的重载实验报告.doc_第2页
程序设计操作符的重载实验报告.doc_第3页
程序设计操作符的重载实验报告.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

实验报告二 类和对象一、 实验目的 本实验的目的是熟练学习和掌握类的定义及操作符的重载以及Datatime结构。二、 实验内容及结果(一)、第1个题目的要求:定义完整的ComplexNumber类,在其中重载加减乘除等基本操作符、相等和不等操作符、大小比较操作符以及自增自减操作符 1、程序编程思路:首先定义一个ComplexNumber类,然后重载各种操作2、程序源码: static void Main(string args) Console.WriteLine(请输入第一个复数c1:); ComplexNumber c1 = new ComplexNumber(double.Parse(Console.ReadLine(), double.Parse(Console.ReadLine(); Console.WriteLine(请输入第二个复数c2:); ComplexNumber c2 = new ComplexNumber(double.Parse(Console.ReadLine(), double.Parse(Console.ReadLine(); ComplexNumber c3 = c1 + c2; Console.WriteLine(这两个复数的和为 0, c3); ComplexNumber c4 = c1 - c2; Console.WriteLine(这两个复数的差为 0, c4); ComplexNumber c5 = c1 * c2; Console.WriteLine(这两个复数的乘积为 0, c5); ComplexNumber c6 = c1 / c2; Console.WriteLine(这两个复数相除为 0, c6); if (c1 = c2) Console.WriteLine(这两个复数相等); else if (c1 != c2) Console.WriteLine(这两个复数不相等); if (c1 c2) Console.WriteLine(c1c2); else Console.WriteLine(c1(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 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-, c1.y-); public override string ToString() return string.Format(0+1i,this.x,this.y); 3、实验结果: (二)、第2个题目的要求:知道一个人的生日,如何计算他的年龄(严格按照周岁计算) 1、程序编程思路: 首先考虑的是怎么来计算年龄,想到用当前日期减去生日日期,用年减去年,月减去月,日减去日,然后思考,各种情况下的年龄计算方法,画出程序的流程图,根据流程图写出源程序;接着就想到如何让操作者方便的一次性将生日的年月日输入,就考虑用字符数组,然后用string类的split方法将输入的字符串劈开。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; 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) if (b 0) Console.WriteLine(您今年0岁!,a); else if (b 0) Console.WriteLine(您今年0岁!, a - 1); else if (b = 0) if (c0) Console.WriteLine(您今年0岁!, a-1); else Console.WriteLine(您今年0岁!, a); Console.ReadLine(); 3、实验结果: 三、 实验效果对第一个题目,要熟记操作符重载的方法与格式,掌握被重载的操作符必须被声明为共有的和静态的并通过operator后跟操作符来声明。对第二个题目,将程序的流程图画出后,更多的考虑的是如何让用户方便的输入生日

温馨提示

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

评论

0/150

提交评论