Programación.

  1. #1
    En clase de sistemas mi maestra mando crear un script de una maquina de cambio en el lenguaje bash. Un ejemplo seria.

    ingresas 165 euros y te devoria de devolver

    1 billete de 100
    1 billete de 50
    1 billete de 10
    1 billete de 5

    Al principio se me ocurrió hacerlo con If ( IF $dinero -gt 500) y ir así con todas las cantidades pero al acabarlo me di cuenta de que si no contenia todos los billetes daba error.Si alguien tiene idea de este lenguaje y me pueda ayudar lo agradecería bastante le he dado bastantes vueltas y no se me ocurre nada, también me interesaría tenerlo en otro lenguaje, gracias de antemano y aqui os dejo el código que tengo.

    #!/bin/bash
    echo
    echo "Bienvenido a esta maquina de cambio automatico"
    echo
    read -p "Introduzca la cantidad que desa cambiar y a continuacion introduzca el dinero -----> " dinero
    echo
    if [ $dinero -ge 500 ]; then
    dinero1=$(( $dinero / 500 ))
    resto1=$(( $dinero % 500))
    echo "$dinero1 billetes de 500"
    else "a"
    fi
    if [ $resto1 -ge 200 ]; then
    dinero2=$(( $resto1 / 200))
    resto2=$(( $resto1 % 200))

    echo "$dinero2 billetes de 200"
    else "a"
    fi
    if [ $resto2 -ge 100 ]; then
    dinero3=$(( $resto2 / 100))
    resto3=$(( $resto2 % 100))

    echo "$dinero3 billetes de 100"

    else "a"
    fi

    if [ $resto3 -ge 50 ]; then
    dinero4=$(( $resto3 / 50))
    resto4=$(( $resto3 % 50))

    echo "$dinero4 billetes de 50"
    else "a"
    fi
    if
    [ $resto4 -ge 20 ]; then
    dinero5=$(( $resto4 / 20))
    resto5=$(( $resto4 % 20))

    echo "$dinero5 billetes de 20"
    else "a"

    fi
    if
    [ $resto5 -ge 10 ]; then
    dinero6=$(( $resto4 / 10))
    resto6=$(( $resto4 % 10))

    echo "$dinero5 billetes de 10"
    else "a"
    fi
    if
    [ $resto5 -ge 5 ]; then
    dinero6=$(( $resto5 / 5))
    resto6=$(( $resto5 % 5))

    echo "$dinero5 billetes de 5"
    else "a"
    fi
    if
    [ $resto6 -ge 2 ]; then
    dinero7=$(( $resto6 / 2))
    resto7=$(( $resto6 % 2))

    echo "$dinero5 monedas de 2"
    else "a"
    fi
    if
    [ $resto7 -ge 1 ]; then
    dinero8=$(( $resto7 / 1))

    echo "$dinero8 monedas de 1"
    else "no hay monedas de 1"
    fi

  2. #2
    Rober

    Rober
    Dila a tu profesora que Bash a muerto. Microsoft lo ha matado, la consola del sistema "Símbolo del sistema" de Windows ha sido sustituida por la Microsoft PowerShell.


    igual es bueno que te enseñen a programar en todos los lenguajes.


    Enseñar un lenguaje en desuso es un claro ejemplo del problema educativo.


    Ya he podido realizar el ejercicio pero utilizando js la verdad esque bash es bastante escueto. Pero en la educación como en todo hay bastantes personas que no se cómo están educando y otras que se merecen más y la verdad esque lo que se estudia en algunas asignaturas es bastante antiguo, teniendo en cuenta como es la informática los temas deberían de cambiar cada año y deberían de estar los profesores informados. la verdad es bastante pésimo, deja que desear

    También dar las gracias a "dios" por su respuesta por privado me ayudó bastante. Amor Amor
  3. #3
    Bueno En Java Serían puros if{}else{}para las validaciones y una switch con sus respectivas opciones
  4. #4
    Affet
    Bueno En Java Serían puros if{}else{}para las validaciones y una switch con sus respectivas opciones

    No hace falta usar condiciones, puedes organizarte para hacer un calculo con cada tipo de billete
  5. #5
    Dios

    Bueno En Java Serían puros if{}else{}para las validaciones y una switch con sus respectivas opciones

    No hace falta usar condiciones, puedes organizarte para hacer un calculo con cada tipo de billete


    A ver que es una opción, dando mi opinion de lo que podría hacer el, ya depende de el lo que quiera hacer, asi de simple.
  6. #6
    Imposible hacerlo con if y elses porque no se si has visto el código del principio que fue lo primero en lo que pensé lo realice con arrives y con un let
  7. #7
    josempa
    Imposible hacerlo con if y elses porque no se si has visto el código del principio que fue lo primero en lo que pensé lo realice con arrives y con un let

    Aunque le tengas que implementar loops y arrays se puede hacer perfectamente con condiciones

Entra para escribir en el foro.