Hi..look this mi module

Module Module1

    Sub Main()
        Dim nume As New numeros

        Console.WriteLine("Numeros aleatorios")
        Console.WriteLine("Escriba numero 1")
        nume.setnumero1(Console.ReadLine)
        Console.WriteLine("Escriba numero 2")
        nume.setnumero2(Console.ReadLine)
        Console.WriteLine("Escriba numero 3")
        nume.setnumero3(Console.ReadLine)

        Console.WriteLine("El menor numero es {0}", nume.numeromenor)





    End Sub

End Module

this mi class

Public Class numeros
    Private numero1, numero2, numero3 As Integer

    Public Sub setnumero1(ByVal value As Integer)
        numero1 = value

    End Sub

    Public Sub setnumero2(ByVal value As Integer)
        numero2 = value
    End Sub

    Public Sub setnumero3(ByVal value As Integer)
        numero3 = value
    End Sub

    Public Function getnumero1()
        Return numero1
    End Function
    Public Function getnumero2()
        Return numero2
    End Function
    Public Function getnumero3()
        Return numero3
    End Function

    Public Function numeromenor()

       
        If numero1 < numero2 And numero1 < numero3 Then
            Return numero1
        ElseIf numero2 < numero1 And numero2 < numero3 Then
            Return numero2
        ElseIf numero3 < numero1 And numero3 < numero1 Then
            Return numero3
        Else
            numero1 = numero2 Or numero1 = numero3 Or numero2 = numero3
            Return numero1 or numero2 or numero3
           


        End If
    End Function

End Class

mi program do this ..the user write 3 numbers then the program reads each number and returns the lowest number...thahs ok...BUT if for example numero1 and numero2 are equals the program return -1.......

I dont understand thath Why the program return -1 ..it should return any numero.. no -1..

Recommended Answers

All 2 Replies

my first question would be what does number 3 equal when you are sending number 1 and number 2 as the same number? If number 3 is -1, then I could see this result occuring...

Hi, Change your code

Public Function numeromenor()

       
        If numero1 < numero2 And numero1 < numero3 Then
            Return numero1
        ElseIf numero2 < numero1 And numero2 < numero3 Then
            Return numero2
        ElseIf numero3 < numero1 And numero3 < numero1 Then
            Return numero3
        Else
            numero1 = numero2 Or numero1 = numero3 Or numero2 = numero3
            Return numero1 or numero2 or numero3
        End If
    End Function

as

Public Function numeromenor()
        If numero1 < numero2 And numero1 < numero3 Then
            Return numero1
        ElseIf numero2 < numero1 And numero2 < numero3 Then
            Return numero2
        Else
            Return numero3
        End If
    End Function

No need "Elseif" After two Ifs

In vb True = -1

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.