Enhanced Complexnumber Class C# Sharp Exercise

Exercise

Enhanced Complexnumber Class

Objetive

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

Example Code

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()
    {
        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());
    }
}

More C# Sharp Exercises of OOP More On Classes

Array Of Objects: Table
Create a class named "Table". It must have a constructor, indicating the width and height of the board. It will have a method "ShowData" which will wr...
House
Create a class "House", with an attribute "area", a constructor that sets its value and a method "ShowData" to display "I am a house, my area is 200 m...
Table + Coffetable + Array
Create a project named "Tables2", based on the "Tables" project. In it, create a class "CoffeeTable" that inherits from "Table". Its method "ShowDa...
Encrypter
Create a class "Encrypter" to encrypt and decrypt text. It will have a "Encrypt" method, which will receive a string and return another string. It ...
Complex Numbers
A complex number has two parts: the real part and the imaginary part. In a number such as a+bi (2-3i, for example) the real part would be "a" (2) and ...
Table + Coffetable + Leg
Extend the example of the tables and the coffee tables, to add a class "Leg" with a method "ShowData", which will write "I am a leg" and then it will ...
Catalog
Create the classes diagram and then, using Visual Studio, a project and the corresponding classes for a catalog utility: It will be able to store i...
Random Number
Create a class RandomNumber, with three static methods: - GetFloat will return a number between 0 and 1 using the following algorithm: seed = (s...
Text To HTML
Create a class "TextToHTML", which must be able to convert several texts entered by the user into a HTML sequence, like this one: Hola Soy yo Ya ...
Class Screentext
Create a class ScreenText, to display a certain text in specified screen coordinates. It must have a constructor which will receive X, Y and the strin...
3D Point
Create a class "Point3D", to represent a point in 3-D space, with coordinates X, Y and Z. It must contain the following methods: MoveTo, which will...
Catalog + Menu
Improve the Catalog program, so that "Main" displays a menu to allow entering new data of any kind, as well as displaying all the data stored....