《程序设计操作符的重载实验报告》由会员分享,可在线阅读,更多相关《程序设计操作符的重载实验报告(5页珍藏版)》请在金锄头文库上搜索。
1、实验报告二 类和对象一、 实验目的 本实验的目的是熟练学习和掌握类的定义及操作符的重载以及Datatime结构。二、 实验内容及结果(一)、第1个题目的要求:定义完整的ComplexNumber类,在其中重载加减乘除等基本操作符、相等和不等操作符、大小比较操作符以及自增自减操作符 1、程序编程思路:首先定义一个ComplexNumber类,然后重载各种操作2、程序源码: static void Main(string args) Console.WriteLine(请输入第一个复数c1:); ComplexNumber c1 = new ComplexNumber(double.Parse(C
2、onsole.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(这两个复
3、数的差为 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(ComplexNu
4、mber 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 oper
5、ator +(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、程序编程思路: 首先考
6、虑的是怎么来计算年龄,想到用当前日期减去生日日期,用年减去年,月减去月,日减去日,然后思考,各种情况下的年龄计算方法,画出程序的流程图,根据流程图写出源程序;接着就想到如何让操作者方便的一次性将生日的年月日输入,就考虑用字符数组,然后用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)