# Catalog + Menu VB.Net Exercise - Visual Basic Programming Course

### Code

``````Imports System
Class ComplexNumber
Protected a, b As Double

Public Sub New(ByVal realPart As Double, ByVal imaginaryPart As Double)
a = realPart
b = imaginaryPart
End Sub

Public Function GetReal() As Double
Return a
End Function

Public Sub SetReal(ByVal a As Double)
Me.a = a
End Sub

Public Function GetImaginary() As Double
Return b
End Function

Public Sub SetImaginary(ByVal b As Double)
Me.b = b
End Sub

Public Overloads Function ToString() As String
Return "(" & a & "," & b & ")"
End Function

Public Function GetMagnitude() As Double
Return Math.Sqrt((a * a) + (b * b))
End Function

Public Sub Add(ByVal c2 As ComplexNumber)
a += c2.GetReal()
b += c2.GetImaginary()
End Sub
End Class

Class ComplexTest
Private Shared Sub Main()
Dim debug As Boolean = False
Dim number As ComplexNumber = 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())
Dim number2 As ComplexNumber = New ComplexNumber(-1, 1)
Console.WriteLine(number.ToString())
End Sub
End Class
``````