none
O que está acontecendo com este código? RRS feed

  • Pergunta

  • Module Module1
        Sub Main()
            Dim x, y As Double
            Dim esc As Char
            Console.Write("Entre com operador (/,*,+,-,%): ")
            esc = Console.ReadLine()
            Console.Write("Entre com X: ")
            x = Console.Read()
            Console.Write("Entre com Y: ")
            y = Console.Read()
            If esc = "+" Then
                Console.WriteLine(x + y)
            End If
            Console.ReadKey()
        End Sub
    End Module
    
    Eu entro com o valor 1 (exemplo) na variável X e depois o programa mostra 62, ignorando o resto das instruções. Por quê?
    sexta-feira, 6 de setembro de 2013 00:08

Respostas

  • Então utilize Console.ReadLine() e transforme ele para Double

    Assim:

    Dim x, y As Double
    Dim esc As Char
    Console.Write("Entre com operador (/,*,+,-,%): ")
    esc = Console.ReadLine()
    Console.Write("Entre com X: ")
    x = Double.Parse(Console.ReadLine())
    Console.Write("Entre com Y: ")
    y = Double.Parse(Console.Read())
    If esc = "+" Then
    	Console.WriteLine(x + y)
    End If


    Fúlvio Cezar Canducci Dias

    sexta-feira, 6 de setembro de 2013 00:17

Todas as Respostas

  • Então utilize Console.ReadLine() e transforme ele para Double

    Assim:

    Dim x, y As Double
    Dim esc As Char
    Console.Write("Entre com operador (/,*,+,-,%): ")
    esc = Console.ReadLine()
    Console.Write("Entre com X: ")
    x = Double.Parse(Console.ReadLine())
    Console.Write("Entre com Y: ")
    y = Double.Parse(Console.Read())
    If esc = "+" Then
    	Console.WriteLine(x + y)
    End If


    Fúlvio Cezar Canducci Dias

    sexta-feira, 6 de setembro de 2013 00:17
  • Agora funcionou. Obrigado.
    sexta-feira, 6 de setembro de 2013 00:29