Programming Course in C# ¡Free!

Complex, improved

 Saturday, April 06, 2013 published by Exercises C#
Proposed exercise

Improve the "ComplexNumber" class, so that it overloads the operators + and - to add and subtract numbers.

Output



Solution


using System;
class ComplexNumber
{
protected double a, b;

public ComplexNumber(double realPart, double imaginaryPart)
{
a = realPart;
b = imaginaryPart;
}


public double GetReal()
{
return a;
}


public void SetReal(double a)
{
this.a = a;
}


public double GetImaginary()
{
return b;
}


public void SetImaginary(double b)
{
this.b = b;
}


public new string ToString()
{
return "("+a+","+b+")";
}


public double GetMagnitude()
{
return Math.Sqrt ((a * a) + (b * b));
}


public void Add(ComplexNumber c2)
{
a += c2.GetReal();
b += c2.GetImaginary();
}

}

class ComplexTest
{
static void Main()
{
bool debug = false;

ComplexNumber number = new ComplexNumber(5, 2);
Console.WriteLine("Number is: "+ number.ToString());

number.SetImaginary(-3);
Console.WriteLine("Number is: "+ number.ToString());

Console.Write("Magnitude is: ");
Console.WriteLine(number.GetMagnitude());

ComplexNumber number2 = new ComplexNumber(-1, 1);
number.Add(number2);
Console.Write("After adding: ");
Console.WriteLine(number.ToString());

if (debug)
Console.ReadLine();
}
}