Ir para conteúdo


Foto

Divisao Por 0 Da Erro No Vb6


5 respostas neste tópico

#1 HCD

HCD
  • Membros
  • 10 posts

Postado 19 November 2006 - 15:15 PM

to fazendo um calculadorinha so pra aprender a mexer com textbox mais ai voce tenta dividir 2 por 0 da essa mensagem:

Run-time error '11'

Division by zero


Ou quando voce aperta o botao de dividir quando esta 0 e 0 ele da esse mensagem:


Run-time error '6'

overflow


o codigo do botao de dividir é esse:

Private Sub cmdDividir_Click()
txtresultado.Text = Val(txt1.Text) / Val(txt2.Text)
lblalgaritimos.Caption = "/"

End Sub



voces não sabem um codigo que "ignora" esse erro??? sad.gif



#2 kuroi

kuroi
  • Membros
  • 7410 posts

Postado 19 November 2006 - 19:00 PM

o problema num é cum o visual basic, é cum a matematica.
alias nem é problema, é so que não se pode dividir por 0

e como é uma coisa meio sem sentido alguém querer fazer isso, o visual basic retorna erro.
ou seja você so tem que impedir o seu programa de tenta dividir por 0.
você nunca viu como faz a calculadora do windows??? é so fazer um if:
CODE
Private Sub cmdDividir_Click()
if Val(txt2.Text) <> 0 Then
txtresultado.Text = Val(txt1.Text) / Val(txt2.Text)
lblalgaritimos.Caption = "/"
Else
- Aqui você da uma mensagem -
End Sub


EDITADO:
a e sem quere se chato, o que você quis dizer com algaritimos?? e uma mistura de algarismo cum algoritmo??

#3 HCD

HCD
  • Membros
  • 10 posts

Postado 20 November 2006 - 12:13 PM

QUOTE
EDITADO:
a e sem quere se chato, o que você quis dizer com algaritimos?? e uma mistura de algarismo cum algoritmo??




desculpa tava digitano rapido e nem vi que errei, era algarismo desculpa mesmo, to acustumado com o word que corrige as porcaria que a gente escreve.

So + uma pergunta essa parte do if

if Val(txt2.Text) <> 0 Then

pra que serve as "setinhas" (<>) nunca vi um codigo com isso antes?! não é mais facil colocar = 0


E pra que usa o else??
Nesse codigo eu vi que ele funciona como continuacao mais não seria mas facil fazer assim:

Private Sub cmdDividir_Click()
if Val(txt2.Text) <> 0 Then
- Aqui você da uma mensagem -

End if
txtresultado.Text = Val(txt1.Text) / Val(txt2.Text)
lblalgaritimos.Caption = "/"

End Sub



#4 kuroi

kuroi
  • Membros
  • 7410 posts

Postado 20 November 2006 - 13:28 PM

<> significa diferente. ou seja, ele so vai fazer a divisao se o numero for diferente de 0, entende??
e o else é o que ele executa se não entrar no if (se as condicoes forem falsas).

o codigo que eu passei esta certo:
CODE
Private Sub cmdDividir_Click()
if Val(txt2.Text) <> 0 Then
txtresultado.Text = Val(txt1.Text) / Val(txt2.Text)
lblalgaritimos.Caption = "/"
Else
- Aqui você da uma mensagem -
End If
End Sub

alias, tinha faltado o end if, corrigi agora, foi mal

porque se o divisor for diferente (<>) de 0, ele faz a conta. senao (else) ele da uma mensagem.
o codigo que você passou
CODE
Private Sub cmdDividir_Click()
if Val(txt2.Text) <> 0 Then
- Aqui você da uma mensagem -
End if
txtresultado.Text = Val(txt1.Text) / Val(txt2.Text)
lblalgaritimos.Caption = "/"

End Sub

ficou ao contrario. ele vai dar a mensagem quando o cara não digitar 0. e vai calcular msmo que ele digite 0. veja se entendeu, qualquer coisa pergunta aí

#5 HCD

HCD
  • Membros
  • 10 posts

Postado 20 November 2006 - 14:00 PM

entendi. isso que e logica da programacao ou não

e pra mim que to praticamnete comecando a programar é importante saber logica da programacao mesmo sem saber quase nada ou so é bom estudar logica da programacao com um nivel quase intermediario

#6 Graymalkin

Graymalkin

    www.gsxbr.net

  • Veteranos
  • 8172 posts
  • Gender:Male
  • Location:Belford Roxo - RJ

Postado 20 November 2006 - 16:18 PM

O ideal é aprender a Lógica de Programação antes de começar realmente a programar (ou ao mesmo tempo, ou seja, colocando os exercícios de lógica em prática com uma determinada linguagem). Dê uma olhada nos tutoriais da nossa sala de Lógica de Programação: http://scriptbrasil....hp?showforum=64

Abraços,

Graymalkin



Responder



  


0 usuário(s) está(ão) lendo este tópico

0 membros, 0 visitantes, 0 membros anônimos