.Tigas. Posted March 28, 2012 Report Share Posted March 28, 2012 Boas. Eu comecei VB à pouco tempo na escola. Tenho trabalhado apenas em WindowsFormApplications. No entanto, agora estou de férias e estou a tentar aprender Console Applications por mim mesmo para me adiantar um pouco quando voltar para o tempo de aulas. O problema é que a minha primeira tentativa foi falhada, já pesquisei e não consigo encontrar solução para o problema. Mas acredito que seja bastante simples. Penso que seja uma falha de sintaxe ou algo do género visto que estou habituado ao Pascal. De qualquer forma, o "enunciado" é: "Faça um programa que aceite N número inteiros e exiba a soma de todos eles quando o número digitado pelo usuário for igual a zero." O meu programa actual é o seguinte: Module Module1 Sub Main() Dim n, soma As Integer n = 1 Do Until n = 0 Console.WriteLine("Digite um número para somar") Console.Read(n) soma = soma + n Loop Console.Write("A soma dos números que digitou é ", soma) Console.ReadLine() End Sub End Module Dá-me erro no n e diz o seguinte: Error 1 - Too many arguments to 'Public Shared Function Read() As Integer'. Já tentei Readline mas isso é para strings. Já tentei ReadKey mas isso é para as teclas do teclado se não me engano. E pelo que li Read é a função certa para inteiros. Obrigado desde já. 👍 Link to comment Share on other sites More sharing options...
Caça Posted March 28, 2012 Report Share Posted March 28, 2012 Não deves colocar isto Console.Read(n) mas sim isto n = Console.Read() Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
Andrepereira9 Posted March 28, 2012 Report Share Posted March 28, 2012 Boas Tens 2 erros nessa função 1º Não estás a atribuir o número introduzido à variável n. Tens que fazer assim: n = Console.ReadLine() 3º Não te vai apresentar o resultado final. Apenas vai dizer "A soma dos números que digitou é " Substitui a virgula por & Console.Write("A soma dos números que digitou é " & soma) P.S. Utiliza o ReadLine e não o Read, porque o read lê apenas 1 carácter, e o readline lê a linha completa A informática chegou para resolver problemas que antes não existiam Quem ri por último é porque está conectado a 52 Kbs. Link to comment Share on other sites More sharing options...
.Tigas. Posted March 28, 2012 Author Report Share Posted March 28, 2012 Obrigado aos dois. @Andrepereira Mas o readline não é apenas para strings? É que aqui recomendam-me a usar o Read porque se trata de uma variável do tipo inteiro. Link to comment Share on other sites More sharing options...
ribeiro55 Posted March 29, 2012 Report Share Posted March 29, 2012 E o que são os inputs em consola, senão Strings? ReadLine assegura que todo o teu input da linha é transportado. Read lê apenas UM caractere, e devolve Integer porque não devolve o caractere, mas sim o código do caractere. Poderás estar a baralhar estes conceitos se vieres do Java, onde se costuma utilizar o Scanner que tem métodos para encontrar a próxima cadeia de dados de um determinado tipo. 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" Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now