no se si el codigo me funcionara, pues antes de mirar el foro de nuevo se me ha ocurrido una forma usando las pocas herramientas que aunque seguramente mi codigo sea mucho mas largo que el tuyo XD
bueno aqui esta ( he cambiado las variables para que sean mas facieles de entender XD):
Citar
/*Realizar un programa, que proporcionando una cantidad de euros, te diga cual es la menor cantidad de billetes y monedas que se debe usar para cubrir dicha cantidad de euros*/
public class ejercicio_1 {
public static void main(String[] args) {
double x = 888.88, z, e, c;
z= x-(int)x;
e = (int) x;
c = z * 100;
int quinientos1, quinientos2, doscientos1, doscientos2, cien1, cien2, cincuenta1, cincuenta2, veinte1, veinte2, diez1, diez2, cinco1, cinco2, dos1, dos2, uno1;
quinientos1 = (int) e / 500;
quinientos2 = (int) e % 500;
doscientos1 = quinientos2 / 200;
doscientos2 = quinientos2 % 200;
cien1 = doscientos2 / 100;
cien2 = doscientos2 % 100;
cincuenta1 = cien2 / 50;
cincuenta2 = cien2 % 50;
veinte1 = cincuenta2 / 20;
veinte2 = cincuenta2 % 20;
diez1 = veinte2 / 10;
diez2 = veinte2 % 10;
cinco1 = diez2 / 5;
cinco2 = diez2 % 5;
dos1 = cinco2 / 2;
dos2 = cinco2 % 2;
uno1 = dos2 / 1;
int cincuenta3, cincuenta4, veinte3, veinte4, diez3, diez4, cinco3, cinco4, dos3, dos4, uno2;
cincuenta3 = (int) c / 50;
cincuenta4 = (int) c % 50;
veinte3 = cincuenta4 / 20;
veinte4 = cincuenta4 % 20;
diez3 = veinte4 / 10;
diez4 = veinte4 % 10;
cinco3 = diez4 / 5;
cinco4 = diez4 % 5;
dos3 = cinco4 / 2;
dos4 = cinco4 % 2;
uno2= dos4/ 1;
System.out.println("en " + x + " euros hay:");
double j3,k3,l3,m3,n3,ñ2, ñ1;
j3=cincuenta3;k3=veinte3;l3=diez3;m3=cinco3;n3=dos3;ñ2=uno2;
ñ1=((j3*50)+(k3*20)+(l3*10)+(m3*5)+(n3*2)+(ñ2*1))/100;
if ((ñ1+e)<x){
x=x+0.01;
z= x-(int)x;
c = z * 100;
cincuenta3 = (int) c / 50;
cincuenta4 = (int) c % 50;
veinte3 = cincuenta4 / 20;
veinte4 = cincuenta4 % 20;
diez3 = veinte4 / 10;
diez4 = veinte4 % 10;
cinco3 = diez4 / 5;
cinco4 = diez4 % 5;
dos3 = cinco4 / 2;
dos4 = cinco4 % 2;
uno2 = dos4 / 1;
}
else{}
System.out.println(quinientos1 + " billetes de 500€");
System.out.println(doscientos1 + " billetes de 200€");
System.out.println(cien1 + " billetes de 100€");
System.out.println(cincuenta1 + " billetes de 50€");
System.out.println(veinte1 + " billetes de 20€");
System.out.println(diez1 + " billetes de 10€");
System.out.println(cinco1 + " billetes de 5€");
System.out.println(dos1 + " monedas de 2€");
System.out.println(uno1 + " monedas de 1€");
System.out.println(cincuenta3 + " monedas de 50 cent");
System.out.println(veinte3 + " monedas de 20 cent");
System.out.println(diez3 + " monedas de 10 cent");
System.out.println(cinco3 + " monedas de 5 cent");
System.out.println(dos3 + " monedas de 2 cent");
System.out.println("y " +uno2+" monedas de 1 cent");
}
}
el resultado de esta forma ya me da bien, he posteado para agradecer la ayuda y para proporcionar alguna ayuda a algun novato como yo que no entienda para que sirven la mitad de las cosas XD public class ejercicio_1 {
public static void main(String[] args) {
double x = 888.88, z, e, c;
z= x-(int)x;
e = (int) x;
c = z * 100;
int quinientos1, quinientos2, doscientos1, doscientos2, cien1, cien2, cincuenta1, cincuenta2, veinte1, veinte2, diez1, diez2, cinco1, cinco2, dos1, dos2, uno1;
quinientos1 = (int) e / 500;
quinientos2 = (int) e % 500;
doscientos1 = quinientos2 / 200;
doscientos2 = quinientos2 % 200;
cien1 = doscientos2 / 100;
cien2 = doscientos2 % 100;
cincuenta1 = cien2 / 50;
cincuenta2 = cien2 % 50;
veinte1 = cincuenta2 / 20;
veinte2 = cincuenta2 % 20;
diez1 = veinte2 / 10;
diez2 = veinte2 % 10;
cinco1 = diez2 / 5;
cinco2 = diez2 % 5;
dos1 = cinco2 / 2;
dos2 = cinco2 % 2;
uno1 = dos2 / 1;
int cincuenta3, cincuenta4, veinte3, veinte4, diez3, diez4, cinco3, cinco4, dos3, dos4, uno2;
cincuenta3 = (int) c / 50;
cincuenta4 = (int) c % 50;
veinte3 = cincuenta4 / 20;
veinte4 = cincuenta4 % 20;
diez3 = veinte4 / 10;
diez4 = veinte4 % 10;
cinco3 = diez4 / 5;
cinco4 = diez4 % 5;
dos3 = cinco4 / 2;
dos4 = cinco4 % 2;
uno2= dos4/ 1;
System.out.println("en " + x + " euros hay:");
double j3,k3,l3,m3,n3,ñ2, ñ1;
j3=cincuenta3;k3=veinte3;l3=diez3;m3=cinco3;n3=dos3;ñ2=uno2;
ñ1=((j3*50)+(k3*20)+(l3*10)+(m3*5)+(n3*2)+(ñ2*1))/100;
if ((ñ1+e)<x){
x=x+0.01;
z= x-(int)x;
c = z * 100;
cincuenta3 = (int) c / 50;
cincuenta4 = (int) c % 50;
veinte3 = cincuenta4 / 20;
veinte4 = cincuenta4 % 20;
diez3 = veinte4 / 10;
diez4 = veinte4 % 10;
cinco3 = diez4 / 5;
cinco4 = diez4 % 5;
dos3 = cinco4 / 2;
dos4 = cinco4 % 2;
uno2 = dos4 / 1;
}
else{}
System.out.println(quinientos1 + " billetes de 500€");
System.out.println(doscientos1 + " billetes de 200€");
System.out.println(cien1 + " billetes de 100€");
System.out.println(cincuenta1 + " billetes de 50€");
System.out.println(veinte1 + " billetes de 20€");
System.out.println(diez1 + " billetes de 10€");
System.out.println(cinco1 + " billetes de 5€");
System.out.println(dos1 + " monedas de 2€");
System.out.println(uno1 + " monedas de 1€");
System.out.println(cincuenta3 + " monedas de 50 cent");
System.out.println(veinte3 + " monedas de 20 cent");
System.out.println(diez3 + " monedas de 10 cent");
System.out.println(cinco3 + " monedas de 5 cent");
System.out.println(dos3 + " monedas de 2 cent");
System.out.println("y " +uno2+" monedas de 1 cent");
}
}