Pues justo hice un programa como ese no hace mucho. Lo hice solo utilizando if, aunque se puede hacer con bucles por ejemplo metiendo previamente esos valores (los billetes) en un array que posteriormente se recorre y se compara con el valor introducido por el usuario.
Aqui te pongo el codigo. Creo recordar que funcionaba. Eso si, no hay formulario, el valor se pasa por el url y se recoge con get. La función intval lo que hace es devolver el entero. Por ejemplo si divides 5/2 te devolvería 2 (sin los decimales).
Cita: <html>
<head>
<title> Cajero </title>
</head>
<body>
<h1> Billetes</h1>
<a href=index.php?dinero> Dinero </a>
<?
$dinero=0;
$dinero=$_GET[dinero];
$billetes500=intval($dinero/500);
echo "<br/>";
echo "<br/>";
$resto500=$dinero%500;
if ($dinero >= 500)
{
echo "Tienes: " .$billetes500. " billetes de 500";
echo "<br/>";
}
if ($resto500>=200)
{
echo "Tienes: " .intval($resto500/200). " billetes de 200";
}
$resto200=$resto500%200;
echo "<br/>";
if($resto200>=100)
{
echo "Tienes: " .intval($resto200/100). " billetes de 100";
}
$resto100=$resto200%100;
echo "<br/>";
if ($resto100>=50)
{
echo "Tienes: ".intval($resto100/50). " billetes de 50";
}
$resto50=$resto100%50;
echo "<br>";
if ($resto50>=20)
{
echo "Tienes: ".intval($resto50/20). " billetes de 20";
}
$resto20=$resto50%20;
echo "<br>";
if ($resto20>=10)
{
echo "Tienes: ".intval($resto20/10). " billetes de 10";
}
$resto10=$resto20%10;
echo "<br>";
if ($resto10>=5)
{
echo "Tienes: ".intval($resto10/5). " billetes de 5";
}
echo "<br/>";
echo "<br/>";
?>
</body>
</html>