Getting started in VB.net I've written this console calculator based heavily off Nicholas Dingle youtube channel (in case it looks familiar). What I want to do is have a separate sub called Operation(parameter)
and take the if
statements out of CollectNumbers()
since it doesn't make sense to have them in that sub. To make this happen I think what i'll end up needing to do is use Enum for the different operations, but don't know how to implement it. I think also the calling of CollectNumbers()
will have to be reworked as well. I'm not looking for anyone to write it out, but a nudge in the right direction or tips would be very helpful.
Imports System.Runtime.Remoting.Services
Imports System.Threading
Module Module1
Sub Main()
Menu()
End Sub
'Enum operations
' Add = 1
' Subtract = 2
' Multiply = 3
' Divide = 4
'End Enum
Sub Menu()
Dim selection As String
Console.Clear()
Console.WriteLine("Say Hello To My Little Calculator!")
Console.WriteLine() 'print blank line
Console.WriteLine("Please press...")
Console.WriteLine() 'print blank line
Console.WriteLine("(A) to Add")
Console.WriteLine("(S) to Subtract")
Console.WriteLine("(M) to Multiply")
Console.WriteLine("(D) to Divide")
Console.WriteLine("(Q) to Quit")
selection = Console.ReadLine
If selection.ToUpper = "Q" Then
Console.WriteLine("Exiting...")
Thread.Sleep(2000)
Environment.Exit(0)
ElseIf selection.ToUpper = "A" Then
CollectNumbers("add")
ElseIf selection.ToUpper() = "S" Then
CollectNumbers("subtract")
ElseIf selection.ToUpper() = "M" Then
CollectNumbers("multiply")
ElseIf selection.ToUpper() = "D" Then
CollectNumbers("divide")
Else
Console.WriteLine("Please choose a valid option from the list...")
Thread.Sleep(2000)
Menu()
End If
End Sub
Sub CollectNumbers(operation As String)
Dim num1 As Integer
Dim num2 As Integer
Console.WriteLine("Please enter the first number...")
num1 = CInt(Console.ReadLine)
Console.WriteLine("Please enter the second number...")
num2 = CInt(Console.ReadLine)
If operation = "add" Then
Console.WriteLine(Add(num1, num2))
ElseIf operation = "subtract" Then
Console.WriteLine(Subtract(num1, num2))
ElseIf operation = "divide" Then
Console.WriteLine(Divide(num1, num2))
ElseIf operation = "multiply" Then
Console.WriteLine(Multiply(num1, num2))
End If
Console.ReadLine()
Menu()
End Sub
Function Add(a As Integer, b As Integer) As Double
Return a + b
End Function
Function Subtract(a As Integer, b As Integer) As Double
Return a - b
End Function
Function Multiply(a As Integer, b As Integer) As Double
Return a * b
End Function
Function Divide(a As Integer, b As Integer) As Double
Return a / b
End Function
End Module