Jump to content

Programa reinicia a cada operação e campo nulos o travam


Gabriel SS
 Share

Recommended Posts

Salve, salve!

Pessoal, possuo um programa que efetua contas matemáticas e cada vez que se deixa um txtbox em branco, ele trava e o Debugging acusa um erro. Outra coisa é que toda vez que ele acaba a operação, ele se "desliga", fecha sozinho..

Resumindo

1 - Como resolver o problema do textbox, que, quando vazio, trava e dá erro

2 - Não fechar programa ao acabar a operação solicitada

Muito Obrigado!

Link to comment
Share on other sites

Pois bem, testei muitas condições, porém não funcionou!

Segue o código:

Imports System.Math
Public Class bhaskara

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim a, b, c, d, x1, x2 As String
        a = nra.Text
        b = nrb.Text
        c = nrc.Text


        ''''''''''''''''''''''''delta'''''''''''''''''''''''''''''''''''''''''''
        d = b * b - 4 * a * c
        If d < 0 Then
            MsgBox("X inexistente")
            End
        End If
        '''''''''''''''''''''''''''''''''' raiz ''''''''''''''''''''''''''''''''
        x1 = Math.Round((-b + Math.Sqrt(d)) / (2 * a))
        x2 = Math.Round((-b - Math.Sqrt(d)) / (2 * a))


        MsgBox("A equação possui os valores de " & x1 & " e " & x2)

    
    End Sub
End Class
Link to comment
Share on other sites

    Boa noite,

    Assim de cabeça.... usar um try ... catch para lidar com os valores null na caixa de texto de forma a não dar erro.

Cordiais cumprimentos,

Apocsantos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other sites

Imports System.Math
Public Class bhaskara

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim a, b, c, d, x1, x2 As String
        a = nra.Text
        b = nrb.Text
        c = nrc.Text

        Try
        ''''''''''''''''''''''''delta'''''''''''''''''''''''''''''''''''''''''''
        d = b * b - 4 * a * c
        If d < 0 Then
            MsgBox("X inexistente")
            End
        End If
        '''''''''''''''''''''''''''''''''' raiz ''''''''''''''''''''''''''''''''
        x1 = Math.Round((-b + Math.Sqrt(d)) / (2 * a))
        x2 = Math.Round((-b - Math.Sqrt(d)) / (2 * a))

        Catch e As Exception
        Msgbox("oException")
        'aqui colocas a excepção que ele te dá e como lidar com ela
        End Try
        MsgBox("A equação possui os valores de " & x1 & " e " & x2)

    
    End Sub
End Class

    Mais ou menos isto, foi à pressa posso ter-me enganado em algo.

Cordiais cumprimentos,

Apocsantos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other sites

Uii, que mau código!

Então o que é isto?

d = b * b - 4 * a * c

Que nome de variáveis é este?

Isto são strings não deves fazer operações desta forma. Usa os tipos de dados correctos, verifica se os dados têm o resultado esperado, etc. "Perde" um pouco de tempo com isto porque é importante. 🙂

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.