Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Lukas S.

Visual Basic - Consola

Mensagens Recomendadas

Lukas S.

Boas pessoal ;) a quanto tempo :) ... Estava a ver os exercicios da minha namorada quando eu decido fazer um exercicio dela que ela fez em c++ para vb mas para a consola ... só que o estranho é que algo se passa pois não está a funcionar ... deixo aqui o código

Module Module1
Sub Main()
	Dim distanciaViagens = 0, distanciaTotal = 0, maiorViagem = 0, menorViagem = 0
	Dim i = 1
	Dim mediaViagem = 0
	Console.WriteLine("Qual o numero de Viagens?")
	Console.WriteLine("")
	Dim numeroViagens = Console.ReadLine
	For i = 1 To i = numeroViagens
		Console.WriteLine(i)
		Console.WriteLine("Qual a distancia da Viagem " + i + "em km?")
		Dim input1
		input1 = Console.ReadLine
		distanciaViagens = input1
		distanciaTotal = distanciaTotal + distanciaViagens
	Next
	If i = 0 Then
		maiorViagem = distanciaViagens
		menorViagem = distanciaViagens
	Else
		If distanciaViagens > maiorViagem Then
			maiorViagem = distanciaViagens
		End If
		If distanciaViagens < menorViagem Then
			menorViagem = distanciaViagens
		End If
	End If
	If numeroViagens <> 0 Then
		mediaViagem = distanciaTotal / numeroViagens
	End If
	Console.WriteLine("A Viagem mais longa foi de " & maiorViagem & "kms")
	Console.WriteLine("A Viagem mais curta foi de " & menorViagem & "kms")
	Console.WriteLine("A Distancia Total percorrida foi de " & distanciaTotal & "kms")
	Console.WriteLine("A média de kms percorridos foi de " & mediaViagem & "kms")
End Sub
End Module

Ele automaticamente passa de

For i = 1 To i = numeroViagens

para i=0 ( i nunca vai ser 0 logo como ele passa praqui ?)

Se alguém poder ajudar agradeço

Editado por Lukas S.

E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Muita magia negra faz o compiler para passar estas situações para CIL...

Repara, tu não especifícas nem um tipo de dados. Nem um!

Para além disso, tu estás a definir o i=1 no início.

Depois no loop estás basicamente a dizer que deverá iterar até, e cito:

For i = 1 To i = numeroViagens

Ou seja, De 1 até Boolean... i não é igual ao número de viagens, a menos que seja 1, logo, estás a iterar 1 até False. Resultado: salta do ciclo. Não há nada para iterar.

Também tens para ali umas confusões e atropelamentos de variáveis... ora analisa lá esta proposta e tenta perceber o que tens de marado do teu lado:

Module Module1
   Sub Main()
       Dim totalViagens As Integer
       Dim maiorViagem As Integer = Integer.MinValue
       Dim menorViagem As Integer = Integer.MaxValue
       Console.Write("Qual o numero de Viagens? :")
       Dim numeroViagens As Integer = Integer.Parse(Console.ReadLine)
       If numeroViagens < 1 Then Console.WriteLine("Vai gozar com outro!") : Console.Read() : End
       For i As Integer = 1 To numeroViagens
           Console.Write("Qual a distancia da Viagem " & i.ToString & " em km? :")
           Dim dist As Integer = Integer.Parse(Console.ReadLine)
           totalViagens += dist
           maiorViagem = Math.Max(maiorViagem, dist)
           menorViagem = Math.Min(menorViagem, dist)
       Next
       Console.WriteLine("--------------------")
       Console.WriteLine("A Viagem mais longa foi de " & maiorViagem.ToString & " kms")
       Console.WriteLine("A Viagem mais curta foi de " & menorViagem.ToString & " kms")
       Console.WriteLine("A Distancia Total percorrida foi de " & totalViagens.ToString & " kms")
       Console.WriteLine("A média de kms percorridos foi de " &
                         Math.Round(totalViagens / numeroViagens, 2).ToString & " kms")
       Console.Read()
   End Sub
End Module


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.