Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Ayuda Con Una Pequeña Calculadora
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Ayuda Con Una Pequeña Calculadora 
 
Hola, estoy empezando con este lenguaje de programación, y lo primero que estoy haciendo es una calculadora capaz de realizar diversas operaciones. Pero lo que no sé es cómo hacer que al terminar la operación vuelva al principio y me vuelva a preguntar qué operación quiere que haga. Por ahora sólo trabajo con aplicación en consola.
Todo lo que he visto son repeticiones de números, pero no he encontrado lo que busco. Gracias.

Por si lo necesitan les adjunto el código fuente:

PUBLIC SUB Main()

DIM A, B, C, D, E, F, G, H, I, J AS Float
DIM mete AS Variant
DIM suma, resta, mult, divi, pot AS String
DIM P, Q AS String
DIM R, R2, R3, R4, R5, R6, R7, R8 AS Variant
suma = "suma"
resta = "resta"
mult = "mult"
divi = "div"
pot = "pot"
P = "si"
Q = "no"

PRINT "Bienvenido a la interfaz de cálculo. Escribe suma para sumar, resta para restar,"
PRINT "mult para multiplicar, div para dividir o pot para elevar a una potencia..."
INPUT mete
    
    IF mete = suma THEN
    PRINT "Escribe el primer número a sumar..."
    INPUT A
    PRINT "Escribe el segundo número..."
    INPUT B
    PRINT "¿Algo más?"
    INPUT R
        IF R = Q THEN
        PRINT "El resultado es "; A + B
        ELSE IF R = P THEN
        PRINT "Escribe el tercer número..."
        INPUT C
        PRINT "¿Algo más?"
        INPUT R2
            IF R2 = Q THEN
            PRINT "El resultado es "; A + B + C
            ELSE IF R2 = P THEN
            PRINT "Escribe el cuarto número..."
            INPUT D
            PRINT "¿Algo más?"
            INPUT R3
                IF R3 = Q THEN
                PRINT "El resultado es "; A + B + C + D
                ELSE IF R3 = P THEN
                PRINT "Escribe el quinto número..."
                INPUT E
                PRINT "¿Algo más?"
                INPUT R4
                    IF R4 = Q THEN
                    PRINT "El resultado es "; A + B + C + D + E
                    ELSE IF R4 = P THEN
                    PRINT "Escribe el sexto número..."
                    INPUT F
                    PRINT "¿Algo más?"
                    INPUT R5
                        IF R5 = Q THEN
                        PRINT "El resultado es "; A + B + C + D + E + F
                        ELSE IF R5 = P THEN
                        PRINT "Escribe el séptimo número..."
                        INPUT G
                        PRINT "¿Algo más?"
                        INPUT R6
                            IF R6 = Q THEN
                            PRINT "El resultado es "; A + B + C + D + E + F + G
                            ELSE IF R6 = P THEN
                            PRINT "Escribe el octavo número..."
                            INPUT H
                            PRINT "¿Algo más?"
                            INPUT R7
                                IF R7 = Q THEN
                                PRINT "El resultado es "; A + B + C + D + E + F + G + H
                                ELSE IF R7 = P THEN
                                PRINT "Escribe el noveno número..."
                                INPUT I
                                PRINT "¿Algo más?"
                                INPUT R8
                                    IF R8 = Q THEN
                                    PRINT "El resultado es "; A + B + C + D + E + F + G + H + I
                                    ELSE IF R8 = P THEN
                                    PRINT "Escribe el décimo número..."
                                    INPUT J
                                    PRINT "El resultado es "; A + B + C + D + E + F + G + H + I + J
                                    ENDIF
                                ENDIF
                            ENDIF
                        ENDIF
                    ENDIF                    
                ENDIF
            ENDIF  
        ENDIF
    ELSE IF mete = resta THEN
    PRINT "Escribe el primer número a restar"
    INPUT A
    PRINT "Escribe el segundo número..."
    INPUT B
    PRINT "¿Algo más?"
    INPUT R
        IF R = Q THEN
        PRINT "El resultado es "; A - B
        ELSE IF R = P THEN
        PRINT "Escribe el tercer número..."
        INPUT C
        PRINT "¿Algo más?"
        INPUT R2
            IF R2 = Q THEN
            PRINT "El resultado es "; A - B - C
            ELSE IF R2 = P THEN
            PRINT "Escribe el cuarto número..."
            INPUT D
            PRINT "¿Algo más?"
            INPUT R3
                IF R3 = Q THEN
                PRINT "El resultado es "; A - B - C - D
                ELSE IF R3 = P THEN
                PRINT "Escribe el quinto número..."
                INPUT E
                PRINT "¿Algo más?"
                INPUT R4
                    IF R4 = Q THEN
                    PRINT "El resultado es "; A - B - C - D - E
                    ELSE IF R4 = P THEN
                    PRINT "Escribe el sexto número..."
                    INPUT F
                    PRINT "¿Algo más?"
                    INPUT R5
                        IF R5 = Q THEN
                        PRINT "El resultado es "; A - B - C - D - E - F
                        ELSE IF R5 = P THEN
                        PRINT "Escribe el séptimo número..."
                        INPUT G
                        PRINT "¿Algo más?"
                        INPUT R6
                            IF R6 = Q THEN
                            PRINT "El resultado es "; A - B - C - D - E - F - G
                            ELSE IF R6 = P THEN
                            PRINT "Escribe el octavo número..."
                            INPUT H
                            PRINT "¿Algo más?"
                            INPUT R7
                                IF R7 = Q THEN
                                PRINT "El resultado es "; A - B - C - D - E - F - G - H
                                ELSE IF R7 = P THEN
                                PRINT "Escribe el noveno número..."
                                INPUT I
                                PRINT "¿Algo más?"
                                INPUT R8
                                    IF R8 = Q THEN
                                    PRINT "El resultado es "; A - B - C - D - E - F - G - H - I
                                    ELSE IF R8 = P THEN
                                    PRINT "Escribe el décimo número..."
                                    INPUT J
                                    PRINT "El resultado es "; A - B - C - D - E - F - G - H - I - J
                                    ENDIF
                                ENDIF
                            ENDIF
                        ENDIF
                    ENDIF                
                ENDIF
            ENDIF
        ENDIF
    ELSE IF mete = mult THEN
    PRINT "Escribe el primer número a multiplicar..."
    INPUT A
    PRINT "Escribe el segundo número..."
    INPUT B
    PRINT "¿Algo más?"
    INPUT R
        IF R = Q THEN
        PRINT "El resultado es "; A * B
        ELSE IF R = P THEN
        PRINT "Escribe el tercer número..."
        INPUT C
        PRINT "¿Algo más?"
        INPUT R2
            IF R2 = Q THEN
            PRINT "El resultado es "; A * B * C
            ELSE IF R2 = P THEN
            PRINT "Escribe el cuarto número..."
            INPUT D
            PRINT "¿Algo más?"
            INPUT R3
                IF R3 = Q THEN
                PRINT "El resultado es "; A * B * C * D
                ELSE IF R3 = P THEN
                PRINT "Escribe el quinto número..."
                INPUT E
                PRINT "¿Algo más?"
                INPUT R4
                    IF R4 = Q THEN
                    PRINT "El resultado es "; A * B * C * D * E
                    ELSE IF R4 = P THEN
                    PRINT "Escribe el sexto número..."
                    INPUT F
                    PRINT "¿Algo más?"
                    INPUT R5
                        IF R5 = Q THEN
                        PRINT "El resultado es "; A * B * C * D * E * F
                        ELSE IF R5 = P THEN
                        PRINT "Escribe el séptimo número..."
                        INPUT G
                        PRINT "¿Algo más?"
                        INPUT R6
                            IF R6 = Q THEN
                            PRINT "El resultado es "; A * B * C * D * E * F * G
                            ELSE IF R6 = P THEN
                            PRINT "Escribe el octavo número..."
                            INPUT H
                            PRINT "¿Algo más?"
                            INPUT R7
                                IF R7 = Q THEN
                                PRINT "El resultado es "; A * B * C * D * E * F * G * H
                                ELSE IF R7 = P THEN
                                PRINT "Escribe el noveno número..."
                                INPUT I
                                PRINT "¿Algo más?"
                                INPUT R8
                                    IF R8 = Q THEN
                                    PRINT "El resultado es "; A * B * C * D * E * F * G * H * I
                                    ELSE IF R8 = P THEN
                                    PRINT "Escribe el décimo número..."
                                    INPUT J
                                    PRINT "El resultado es "; A * B * C * D * E * F * G * H * I * J
                                    ENDIF
                                ENDIF
                            ENDIF
                        ENDIF
                    ENDIF                    
                ENDIF
            ENDIF  
        ENDIF  
    ELSE IF mete = divi THEN
    PRINT "Escribe el primer número a dividir..."
    INPUT A
    PRINT "Escribe el divisor..."
    INPUT B
    PRINT "El resultado es "; A / B
    
    ELSE IF mete = pot THEN
    PRINT "Escribe la base de la potencia..."
    INPUT A
    PRINT "Escribe el exponente de la potencia..."
    INPUT B
    PRINT "El resultado es "; A ^ B
    ENDIF

END
 



 
miguelibagar - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con Una Pequeña Calculadora 
 
Bienvenido Miguel.

Antes de nada, tienes que aprender a usar los iconos del editor de la comunidad.
Hay un icono que es como el símbolo C#. Haces clic una vez y pegas el código.
Luego vuelves a hacer click en el icono del simbolo de C#, para cerrar la parte de código.

Para que un grupo de instrucciones se repita necesitas un bucle. Existen dos tipos de bucles muy conocidos:

El bucle For, conoces un principio y un final. Conoces las veces que se va a repetir.
Y el bucle While, que acaba o se ejecuta según una condición. No sabes las veces que puede ejecutarse, todo depende de la condición.

http://www.gambasdoc.org/help/cat/loop?es&v3

Prueba a crear un bucle.

Por otro lado es importante que aprendas a usar funciones y procedimientos que son pequeños trozos de códigos
que sin ellos, repetirás muchas veces las misma instrucciones una y otra vez. Haciendo un código enorme.

http://gambasdoc.org/help/lang/methoddecl?es

No olvides leer el manual de gambas.

Y otra cosa que es bueno aprender a usar el buscador de la comunidad. Para que los mensajes no se repitan demasiado.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con Una Pequeña Calculadora 
 
miguelibagar:

Te dejo también el enlace al curso de gambas sobre los bucles while....wend que seguro también te sirve.
http://cursogambas.blogspot.com.es/2012/08/whilewend.html

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con Una Pequeña Calculadora 
 
Ya, pero lo que yo digo es:
1.El ordenador, cuando termine la operación, te va a preguntar "¿Quieres hacer algo más?".
2.Si escribes "si", entonces volverá al principio del programa, volviéndote a preguntar la operación que quieres realizar.
3.Si escribes "no", el programa se cerrará.

Lo que necesito es el comando y dónde ponerlo.
De todas formas, gracias por responder, es mi primer tema.     
 



 
miguelibagar - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con Una Pequeña Calculadora 
 
miguelibagar:

No se trata de un solo comando, se trata de usar un bucle.

Por ejemplo lo puedes hacer asi:
Public Sub Form_Open()
  
  Dim r As String
  Dim respuesta As String
  
  respuesta = "no"
  While respuesta = "no"
    '.....
    Print "presento datos o prengunto cosas"
    'cosas que tienes que hacer o menu....
    '
    Print "¿salir \"si\" o \"no\"?"
    Input r
    If r = "si" Then respuesta = "si"
  Wend
  
  'has puesto "si".... he salido
  Print "adios"
End

 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Pequeña Duda Sobre Funciones shordi General 2 Viernes, 09 Octobre 2009, 18:08 Ver último mensaje
shordi
No hay nuevos mensajes Pequeña Charla Sobre Gambas [RubyConf Uru... Ayortano General 8 Viernes, 30 Julio 2010, 23:19 Ver último mensaje
Invitado
No hay nuevos mensajes Simple Calculadora kotonfree Aplicaciones/Fragmentos de Código 8 Martes, 14 Diciembre 2010, 17:45 Ver último mensaje
kotonfree
No hay nuevos mensajes Calculadora jcontasti General 6 Miercoles, 16 Marzo 2011, 05:50 Ver último mensaje
soplo
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron