Catalog + Menu Learn programming Visual Basic (VB.net)

Lesson:

More On Classes


Exercise:

Catalog + Menu 8


Objetive:

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.


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)
        number.Add(number2)
        Console.Write("After adding: ")
        Console.WriteLine(number.ToString())
        If debug Then Console.ReadLine()
    End Sub
End Class