Ir para conteúdo
Fórum Script Brasil
  • 0

Problema com Do While


Dhiego

Pergunta

galera, me deem um help numa coisinha besta

eu n manjo nada de vb, to comecando ciencia da computacao agora, to no primeiro semestre hehe, por isso não liguem pra pergunta de novato

to fazendo um programinha aqui que o objetivo dele é calcular a media de um determinado produto

estou tentando usar o Do While, no final ele faz uma pergunta, deseja continuar? S/N

quero saber como faz pra colocar tanto S maiusculo quando minusculo pra ele dar o loop

ai vai meu codigo pra vocês entenderem melhor.

O que eu quero é que quando a resposta for S ou s ele volte pro inicio e pergunte novamente os precos dos produtos.

Do jeito que ta ai, mesmo eu colocando s minusculo ele n volta pro inicio

Eu tentei colocar Do while (resposta.equals("S")) igual no java mas mesmo assim n deu

não sei se no VB é diferente, mas ele da um erro na variavel resposta quando eu tento usar dessa forma

alguém sabe arrumar??

Private Sub Form_Load()
Dim preco1 As Single
Dim preco2 As Single
Dim preco3 As Single
Dim preco4 As Single
Dim preco5 As Single
Dim media As Single
Dim resposta As String
Dim show As Single

Do While resposta = s


    preco1 = InputBox("digite o preço 1")
    preco2 = InputBox("digite o preço 2")
    preco3 = InputBox("digite o preço 3")
    preco4 = InputBox("digite o preço 4")
    preco5 = InputBox("digite o preço 5")
    
media = Val(preco1) + Val(preco2) + Val(preco3) + Val(preco4) + Val(preco5) / 5
resposta = InputBox("deseja continuar o calculo? S/N")
Loop
End Sub

obs: estou usando o vb 6

eu queria saber onde eu consigo esse VB.NET ai

eu preciso comprar o cd do visual studio 2008 pra ter ele ou não? como eu faco pra ter o vb.net?

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
quero saber como faz pra colocar tanto S maiusculo quando minusculo pra ele dar o loop

primeiro, note q o seu codigo ta errado aqui:

Do While resposta = s
você ta tentando procurar uma variavel chamada s e não a string "s" (você teria q por entre aspas). e pra considerar maiusculo e minusculo, use as funcoes LCase() (q converte pra minusculo) e UCase() (q converte pra maiusculo). você pode fazer assim:
Do While UCase(resposta) = "S"

so q tipo, em vez de um input box pra ele digitar s ou n não é melhor uma msgbox com as opcoes Sim e Não??

eu queria saber onde eu consigo esse VB.NET ai

eu preciso comprar o cd do visual studio 2008 pra ter ele ou não? como eu faco pra ter o vb.net?

o Visual Basic 2008 Express Edition é gratis e você pode encontrar pra baxar no site da microsoft. simplesmente faca uma busca no google por Visual Basic 2008 q o link deve estar nas primeiras posicoes.

Link para o comentário
Compartilhar em outros sites

  • 0

Private Sub Form_Load()

Dim preco1 As Single

Dim preco2 As Single

Dim preco3 As Single

Dim preco4 As Single

Dim preco5 As Single

Dim media As Single

Dim resposta As String

Dim show As Single

Do While resposta = s

preco1 = InputBox("digite o preço 1")

preco2 = InputBox("digite o preço 2")

preco3 = InputBox("digite o preço 3")

preco4 = InputBox("digite o preço 4")

preco5 = InputBox("digite o preço 5")

media = Val(preco1) + Val(preco2) + Val(preco3) + Val(preco4) + Val(preco5) / 5

resposta = MsgBox("deseja continuar?", vbYesNo + vbQuestion, "Continuar")

If resposta = vbYes Then

Loop

else

exit sub

end if

End Sub

Pode estar no lugar errado, mas para saber se clicou em sim ou não é desta forma colega...

Link para o comentário
Compartilhar em outros sites

  • 0
estranho cara, quando eu coloco do while resposta = "s" ele pula o do while

a duas coisas. primeiro, q se resposta não for igual a "S" ele nem entra no while. antes do while você teria q adicionar a linha

resposta = "S"
e a segunda coisa, é q o codigo q eu passei não é simplesmente do while resposta = "s", você esqueceu o UCase()
se eu for usar o msgbox com SIM ou não, como eu faco pra quando for SIM ele comecar denovo e quando for não ele parar?
então declare resposta como Integer. e no lugar onde você escreveria resposta = "S" (de acordo com a resposta q dei acima), escreva resposta = vbYes ai você abriria o while com:
Do While resposta = vbYes

e você faria a MsgBox() da forma como o macedo mostrou no tópico acima.

acho q o codigo esta bem simples de entender, mas qualquer duvida, pergunte.

e macedo, note tb tem erros no seu codigo, tipo, você esta fechando o loop com o if ainda aberto.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...