Foro de elhacker.net

Programación => Ejercicios => Mensaje iniciado por: KiddKeo en 5 Mayo 2017, 11:11 am



Título: Ayuda ejercicio Bash
Publicado por: KiddKeo en 5 Mayo 2017, 11:11 am
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 debería 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 contenía 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 aquí os dejo el código que tengo.

Código:
#!/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