Test Foro de elhacker.net SMF 2.1

Programación => Programación General => 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.

#!/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