dubbele conditie of ingebedde

Status
Niet open voor verdere reacties.

verhaba

Gebruiker
Lid geworden
8 feb 2008
Berichten
79
hallo beste mensen

Ik heb een vraag/probleempje.
Ik wil de gebruiker twee getallen laten ingeven. De getallen moet verschillend van nul zijn en ook niet negatief. Positief getallen verschillend van nul. Hoe moet ik dit nu aanpakken. Via een ingebedde of een dubbele conditie. Deze twee pogingen mislukken me altijd. Waarom?

dit is mijn code.

Code:
Module Module1

    Sub Main()

        Dim value1, value2 As Integer
        Console.Write("Geef een positieve waarde in?")
        value1 = Console.ReadLine()
        If value1 <= 0 Then
            Console.WriteLine("Sorry, de waarde moet positief zijn. Probeer opnieuw")
        Else
            Console.Write("Geef me nog een waarde.")
            value2 = Console.ReadLine()
          else value2 <= Then
            Console.WriteLine("sorry, de twee waardes moet positief zijn.")
        else
            Console.Write("De eerste waarde is " & value1 & ". De tweede waarde is: " & value2)
        End If
        End If
        Console.ReadLine()
    End Sub

End Module
 
Het is niet heel veel anders als jouw oplossing , maar ik vang hier de overflowexeption op de Unsigned Integer (UInt 0 tot 4,294,967,295) als die negatief is ingegeven.
En loop dan net zo lang totdat hij groter is dan 0.

Dan de 2e loop voor je andere waarde.

Als die twee kloppen (omdat ie net zo lang doorgaat totdat ze kloppen) print je ze op het scherm.

Code:
Module Module1

    Sub Main()

        Dim Val1 As UInteger = 0
        Dim Val2 As UInteger = 0

        Do While Val1 <= 0
            Try
                Console.Write("Geef een positieve waarde in?")
                Val1 = Console.ReadLine()
            Catch ex As OverflowException
                Console.WriteLine("Sorry, de waarde moet positief zijn. Probeer opnieuw")
            End Try
        Loop

        Do While Val2 <= 0
            Try
                Console.Write("Geef me nog een waarde.")
                Val2 = Console.ReadLine()
            Catch ex As OverflowException
                Console.WriteLine("sorry, de twee waardes moet positief zijn.")
            End Try
        Loop

        Console.Write("De eerste waarde is " & Val1 & ". De tweede waarde is: " & Val2)

    End Sub

End Module
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan