No tiene sentido que uses tantas variables... las variables se pueden reutilizar, sobretodo si los resultados que almacenan son temporales y si no cambia el concepto del dato que estás almacenando en dicha variable. No te hace falta tener sobraA, sobraB, sobraC, .... puedes reutilizar "sobra".
Cualquier número módulo 1 da como resultado 0... la razón es que cualquier número es divisible entre 1 y la división es exacta, por lo que el módulo SIEMPRE es cero. Además, siguiendo la secuencia de tu algoritmo, ese %1 debería ser un %2, ya que el módulo se supone que lo estás calculando sobre el valor de la moneda o billtete anterior, que en este caso es 2, no 1.
Además X / 1 = X SIEMPRE también, por lo que puedes ahorrarte también la división.
Eso no da error. Si tu haces
resultado acaba almacenando el valor 0, la parte decimal se ignora al tratarse de números enteros.
Código (c) [Seleccionar]
sobraG=cambio%1;
monedaD=sobraG/1;
Cualquier número módulo 1 da como resultado 0... la razón es que cualquier número es divisible entre 1 y la división es exacta, por lo que el módulo SIEMPRE es cero. Además, siguiendo la secuencia de tu algoritmo, ese %1 debería ser un %2, ya que el módulo se supone que lo estás calculando sobre el valor de la moneda o billtete anterior, que en este caso es 2, no 1.
Además X / 1 = X SIEMPRE también, por lo que puedes ahorrarte también la división.
Cita de: Caster en 2 Octubre 2014, 00:03 AM
la operación es 20/200 lo cual da como resultado 0.1, que es un decimal y las variables con las que trabaja el programa son de tipo entero, así que si no me equivoque hasta ahora, ahí debería de dar error.
Eso no da error. Si tu haces
Código (c) [Seleccionar]
int resultado = 20/200;
resultado acaba almacenando el valor 0, la parte decimal se ignora al tratarse de números enteros.