Skip to content

Instantly share code, notes, and snippets.

@eneas
Created November 18, 2016 12:10
Show Gist options
  • Save eneas/87ec464081e59dcfb047ca5eaeff5311 to your computer and use it in GitHub Desktop.
Save eneas/87ec464081e59dcfb047ca5eaeff5311 to your computer and use it in GitHub Desktop.
/*Eneas Labra Villar*/
using System;
namespace ConsoleApplication
{
public class Program
{
public static void Main(string[] args){
int pruebas=0;
/*Se lee el número de pruebas.*/
while (true){
Int32.TryParse(Console.ReadLine(),out pruebas);
if (pruebas >0){
break;
}
Console.WriteLine("El número de pruebas debe de ser un entero mayor que cero");
}
/*A partir de aqui se atiende al los clientes*/
for (int p=0;p<pruebas;p++){
int pagar;
int pagado;
/*Se lee el importe a pagar*/
while (true){
Int32.TryParse(Console.ReadLine(),out pagar);
/* El bucle continua a menos que se introduzca un entero. Si TryParse falla pagar es igual a 0.*/
if (pagar >0){
break;
}
Console.WriteLine("El importe a pagar debe de ser un entero mayor que cero");
}
/*Se lee el importe pagado*/
while (true){
var pagado_correcto=Int32.TryParse(Console.ReadLine(),out pagado);
/*Se utiliza la variable booleana pagado_correcto para distinguir el caso de que TryParse falle.*/
if (pruebas >=0&&pagado_correcto){
break;
}
Console.WriteLine("El importe pagado debe de ser un entero mayor o igual a cero");
}
/* Si deja a deber*/
if (pagar > pagado){
Console.WriteLine("DEBE {0}",pagar-pagado);
}
/*Calculo y retorno de las vueltas.
El algoritmo voraz para las vueltas que sigue es correcto para las monedas de euro.*/
else{
var vuelto=pagado-pagar;
Console.Write("{0} ",vuelto/200);
vuelto%=200;
Console.Write("{0} ",vuelto/100);
vuelto%=100;
Console.Write("{0} ",vuelto/50);
vuelto%=50;
Console.Write("{0} ",vuelto/20);
vuelto%=20;
Console.Write("{0} ",vuelto/10);
vuelto%=10;
Console.Write("{0} ",vuelto/5);
vuelto%=5;
Console.Write("{0} ",vuelto/2);
vuelto%=2;
Console.Write("{0} ",vuelto/1);
vuelto%=1;
Console.Write("\n");
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment