'-----------------------------------------------------------------------
' This file is part of the Microsoft .NET SDK Code Samples.
'
' Copyright (C) Microsoft Corporation. All rights reserved.
'
'This source code is intended only as a supplement to Microsoft
'Development Tools and/or on-line documentation. See these other
'materials for detailed information regarding Microsoft code samples.
'
'THIS CODE AND INFORMATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY
'KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
'IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
'PARTICULAR PURPOSE.
'-----------------------------------------------------------------------
Imports System
Imports Parser.Samples.Math.Parser
Module Module1
Sub Main()
While (True)
Console.WriteLine("Enter a simple formula. Ex: 4+4 (or q to quit)")
Dim formula As String = Console.ReadLine()
If (formula = "q" Or formula = "Q") Then
Exit While
End If
Dim pars As Parser.Samples.Math.Parser.Parser = New Parser.Samples.Math.Parser.Parser
Try
Dim argument As Arguments = pars.Parse(formula)
'do the calc and print the results
Dim m As Math = New Math
Console.WriteLine(m.GetResult(Convert.ToInt32(argument.Arg1), argument.Op, Convert.ToInt32(argument.Arg2)))
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
End While
End Sub
Public Class Math
Public Function GetResult(ByVal arg1 As Integer, ByVal op As Char, ByVal arg2 As Integer) As String
Select Case op
Case "+"
Return String.Format("Result: {0:G}", arg1 + arg2)
Case "-"
Return String.Format("Result: {0:G}", arg1 - arg2)
Case "*"
Return String.Format("Result: {0:G}", arg1 * arg2)
Case "/"
Return String.Format("Result: {0:G}", arg1 / arg2)
Case Else
Return "Invalid Operator: " + op
End Select
End Function
End Class
End Module
|