Übungsaufgabe und Lösung zu „Get the BASICs, Visual Basic für Einsteiger und Umsteiger“, Teil 7


Aufgabe:


Implementieren Sie Fehlerbehandlung für das Programm “Kreisinhalt berechnen” aus Webcast #2


Schreiben Sie ein Programm welches den Kreisinhalt (A) berechnet.
A = πr²


Verwenden Sie Console.WriteLine() und/oder Console.Write() und/oder Console.ReadLine() und System.Math.PI


Bitte geben Sie den Radius des Kreises in cm ein: 5
Der Kreisinhalt eines Kreises mit Radius 5cm beträgt ca. 78,5cm².


Lösung:


Option Strict On


Option Explicit On


 


Module Module1


 


    Sub Main()


 


        Dim RadiusEingabe As String


        Dim Radius As Double


 


        Dim Kreisinhalt As Double


 


        Console.Write(“Bitte geben Sie den Radius des Kreises in cm ein: “)


        RadiusEingabe = Console.ReadLine()


 


        Try


            Radius = Convert.ToDouble(RadiusEingabe)


 


        Catch ex As System.FormatException


            Console.WriteLine(“Es wurde keine Zahl eingegeben.”)


            Return


 


        Catch ex As Exception


            Console.WriteLine(“Ein unbekannter Fehler ist aufgetreten.”)


            Console.WriteLine(ex.Message)


            Return


 


        End Try


 


        ‘ Alternative Lösungsmöglichkeit


       


        ‘ If Double.TryParse(RadiusEingabe, Radius) = False Then


            ‘ es wurde ein Wert eingegeben, der nicht


            ‘ in ein Double konvertiert werden kann


 


            ‘ Fehlermeldung ausgeben


            Console.WriteLine(“Es wurde eine ungültige Zahl eingegeben.”)


 


            ‘ Programm beenden


            Return


 


        ‘End If


 


 


        ‘ Kreisinhalt berechnen


        Try


            Kreisinhalt = Math.PI * Math.Pow(Radius, 2)


 


            Console.WriteLine(“Der Kreisinhalt eines Kreises mit “ & _


            “Radius {0}cm beträgt ca. {1}cm².”, Radius, Kreisinhalt)


 


        Catch ex As Exception


            Console.WriteLine(“Ein unbekannter Fehler ist aufgetreten.”)


            Console.WriteLine(ex.Message)


 


        End Try


 


    End Sub


 


End Module

Comments (0)