Objective
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 the imaginary part would be "b" (-3).
Create a class ComplexNumber with:
A constructor to set the values for the real part and the imaginary part.
Setters and getters for both.
A method "ToString", which would return "(2,-3)"
A method "GetMagnitude" to return the magnitude of the complex number (square root of a2+b2)
A method "Add", to sum two complex numbers (the real part will be the sum of both real parts, and the imaginary part will be the sum of both imaginary parts)
Create a test program, to try these capabilities.
Write Your C# Exercise
C# Exercise Example
// Importing the System namespace for basic system functionalities like Console for input/output
using System;
public class ComplexNumber
{
// Private fields for the real and imaginary parts of the complex number
private double real;
private double imaginary;
// Constructor to set the values for the real and imaginary parts
public ComplexNumber(double real, double imaginary)
{
this.real = real; // Setting the real part
this.imaginary = imaginary; // Setting the imaginary part
}
// Getter for the real part
public double GetReal()
{
return real; // Returning the real part
}
// Setter for the real part
public void SetReal(double real)
{
this.real = real; // Updating the real part
}
// Getter for the imaginary part
public double GetImaginary()
{
return imaginary; // Returning the imaginary part
}
// Setter for the imaginary part
public void SetImaginary(double imaginary)
{
this.imaginary = imaginary; // Updating the imaginary part
}
// Method to return the complex number as a string in the format "(real, imaginary)"
public override string ToString()
{
return $"({real},{imaginary})"; // Returning the complex number as a string
}
// Method to calculate and return the magnitude of the complex number
public double GetMagnitude()
{
return Math.Sqrt(real * real + imaginary * imaginary); // Returning the magnitude (square root of a^2 + b^2)
}
// Method to add another complex number to this one
public ComplexNumber Add(ComplexNumber other)
{
double newReal = this.real + other.GetReal(); // Summing the real parts
double newImaginary = this.imaginary + other.GetImaginary(); // Summing the imaginary parts
return new ComplexNumber(newReal, newImaginary); // Returning the new complex number
}
// Main method to test the functionality of the ComplexNumber class
public static void Main()
{
// Creating two complex numbers
ComplexNumber complex1 = new ComplexNumber(2, -3); // 2 - 3i
ComplexNumber complex2 = new ComplexNumber(1, 4); // 1 + 4i
// Printing the complex numbers
Console.WriteLine($"Complex number 1: {complex1}"); // Output: (2,-3)
Console.WriteLine($"Complex number 2: {complex2}"); // Output: (1,4)
// Printing the magnitude of the first complex number
Console.WriteLine($"Magnitude of complex number 1: {complex1.GetMagnitude()}"); // Output: Magnitude of 2 - 3i
// Adding the two complex numbers and displaying the result
ComplexNumber sum = complex1.Add(complex2); // Adding the two complex numbers
Console.WriteLine($"Sum of complex numbers: {sum}"); // Output: (3,1)
}
}