viernes, 2 de mayo de 2014

Calculadora común con botones

Hola espero todos estén bien y que sigan a la espera de mi cuarta entrega en este caso sigue siendo una calculadora como todos la hacen, nada mas que un poquito mas normal; a que me refiero? pues a que la interfaz es un poco mas conocida, tiene sus numeritos del 0 al 9 también tiene sus botones de +, -, *, /, y su botón de borrar.

Bueno eso seria la interfaz de la calculadora, pues en cuanto a la programación de la misma la explico en seguida, el código es un tanto mas largo y bueno los programadores conocedores se darán cuenta que estoy gastando muchas muchísimas lineas de código que podría haber ahorrado, pero pues bueno eso lo haré para mi próxima entrega, desde ya les digo que ya divise esos errores ademas de que no puse la división por cero, para que se den cuenta lo importante que es verificar la máxima cantidad de excepciones que puede dar un programa, de esa forma nadie podrá hacer que nuestro programa colapse; y bueno a lo que voy aquí esta el código:

Public Class calcomun
    Private cantidad As String
    Private resultados As String
    Private op As Integer

    Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click
        cantidad = cantidad + "1"
        lblpantalla.Text = cantidad
    End Sub

    Private Sub btn2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn2.Click
        cantidad = cantidad + "2"
        lblpantalla.Text = cantidad
    End Sub

    Private Sub btn3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn3.Click
        cantidad = cantidad + "3"
        lblpantalla.Text = cantidad
    End Sub

    Private Sub btn4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn4.Click
        cantidad = cantidad + "4"
        lblpantalla.Text = cantidad
    End Sub

    Private Sub btn5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn5.Click
        cantidad = cantidad + "5"
        lblpantalla.Text = cantidad
    End Sub

    Private Sub btn6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn6.Click
        cantidad = cantidad + "6"
        lblpantalla.Text = cantidad
    End Sub

    Private Sub btn7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn7.Click
        cantidad = cantidad + "7"
        lblpantalla.Text = cantidad
    End Sub

    Private Sub btn8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn8.Click
        cantidad = cantidad + "8"
        lblpantalla.Text = cantidad
    End Sub

    Private Sub btn9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn9.Click
        cantidad = cantidad + "9"
        lblpantalla.Text = cantidad
    End Sub

    Private Sub btn0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn0.Click
        cantidad = cantidad + "0"
        lblpantalla.Text = cantidad
    End Sub

    Private Sub btnborrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnborrar.Click
        resultados = ""
        cantidad = ""
        lblpantalla.Text = "0"
        op = 0
    End Sub

    Private Sub btnsumar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsumar.Click
        If op = 1 Then
            resultados = (Convert.ToInt32(resultados)) + (Convert.ToInt32(cantidad))
            resultados = resultados + cantidad
            lblpantalla.Text = resultados
        End If
        If op = 2 Then
            resultados = (Convert.ToInt32(resultados)) - (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 3 Then
            resultados = (Convert.ToInt32(resultados)) * (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 4 Then
            resultados = (Convert.ToInt32(resultados)) / (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 0 Then
            resultados = cantidad
        End If
        cantidad = ""
        op = 1
    End Sub
    Private Sub btnrestar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnrestar.Click
        If op = 1 Then
            resultados = (Convert.ToInt32(resultados)) + (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 2 Then
            resultados = (Convert.ToInt32(resultados)) - (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 3 Then
            resultados = (Convert.ToInt32(resultados)) * (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 4 Then
            resultados = (Convert.ToInt32(resultados)) / (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 0 Then
            resultados = cantidad
        End If
        cantidad = ""
        op = 2
    End Sub

    Private Sub btnmultiplicar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnmultiplicar.Click
        If op = 1 Then
            resultados = (Convert.ToInt32(resultados)) + (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 2 Then
            resultados = (Convert.ToInt32(resultados)) - (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 3 Then
            resultados = (Convert.ToInt32(resultados)) * (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 4 Then
            resultados = (Convert.ToInt32(resultados)) / (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 0 Then
            resultados = cantidad
        End If
        cantidad = ""
        op = 3
    End Sub

    Private Sub btndividr_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndividr.Click
        If op = 1 Then
            resultados = (Convert.ToInt32(resultados)) + (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 2 Then
            resultados = (Convert.ToInt32(resultados)) - (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 3 Then
            resultados = (Convert.ToInt32(resultados)) * (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 4 Then
            resultados = (Convert.ToInt32(resultados)) / (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 0 Then
            resultados = cantidad
        End If
        cantidad = ""
        op = 4
    End Sub

    Private Sub btnigual_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnigual.Click
        If op = 1 Then
            resultados = (Convert.ToInt32(resultados)) + (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 2 Then
            resultados = (Convert.ToInt32(resultados)) - (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 3 Then
            resultados = (Convert.ToInt32(resultados)) * (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
        If op = 4 Then
            resultados = (Convert.ToInt32(resultados)) / (Convert.ToInt32(cantidad))
            lblpantalla.Text = resultados
        End If
    End Sub

    Private Sub calcomun_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        op = 0
        lblpantalla.Text = "0"
    End Sub
End Class


Bien ese seria el código, un poco enredado de entenderlo quizá si, pero por lo mismo acá dejare el ejemplo desde visual basic donde esta la aplicación ya creada y podrán ver como funciona, por lo general no comentareo el código pero veo que se esta haciendo demasiado grande y un poco mas complicado así que al siguiente, haré comentarios de la mayoría de lineas de codigo, y sin mas que decis aqui les dejo el ejemplo:



Bueno sin mas que decir me despido para comenzar a trabajar en la proxima entrega y cualquier duda, comentario o algo en especial que quisieran que desarrollara pues lo pueden dejar acá abajo lo tomare muy en cuenta tratando de complacer sus dudas, saludos...