static void Main(string[] args) { Console.WriteLine("Informe o valor compra:"); var valorCompra = decimal.Parse(Console.ReadLine()); Console.WriteLine("Informe o valor nota:"); var valorNota = decimal.Parse(Console.ReadLine()); var textoValorNota = new Moedas().RetornaTroco(valorNota); Console.WriteLine($"Foi pago com: {textoValorNota}"); var textoTroco = new Moedas().RetornaTroco(valorNota - valorCompra); Console.WriteLine($"*Troco*{Environment.NewLine}{textoTroco}"); }
public Moedas CalculaValor(decimal valor, Moedas moeda) { var texto = string.Empty; var qtd = (int)(valor / moeda.Valor); if (qtd > 1) { texto += $"{qtd} {moeda.Texto.Replace("nota", "notas")}"; } else { texto += $"{qtd} {moeda.Texto}"; } valor -= moeda.Valor * qtd; return(new Moedas { Texto = texto, Valor = valor }); }
public string RetornaTroco(decimal valor) { var texto = string.Empty; if (valor >= CemReais.Valor) { var moeda = new Moedas { Texto = CemReais.Nome, Valor = CemReais.Valor }; var data = CalculaValor(valor, moeda); texto += data.Texto + Environment.NewLine; valor = data.Valor; } if (valor >= CinquentaReais.Valor) { var moeda = new Moedas { Texto = CinquentaReais.Nome, Valor = CinquentaReais.Valor }; var data = CalculaValor(valor, moeda); texto += data.Texto + Environment.NewLine; valor = data.Valor; } if (valor >= VinteReais.Valor) { var moeda = new Moedas { Texto = VinteReais.Nome, Valor = VinteReais.Valor }; var data = CalculaValor(valor, moeda); texto += data.Texto + Environment.NewLine; valor = data.Valor; } if (valor >= DezReais.Valor) { var moeda = new Moedas { Texto = DezReais.Nome, Valor = DezReais.Valor }; var data = CalculaValor(valor, moeda); texto += data.Texto + Environment.NewLine; valor = data.Valor; } if (valor >= CincoReais.Valor) { var moeda = new Moedas { Texto = CincoReais.Nome, Valor = CincoReais.Valor }; var data = CalculaValor(valor, moeda); texto += data.Texto + Environment.NewLine; valor = data.Valor; } if (valor >= UmReal.Valor) { var moeda = new Moedas { Texto = UmReal.Nome, Valor = UmReal.Valor }; var data = CalculaValor(valor, moeda); texto += data.Texto + Environment.NewLine; valor = data.Valor; } if (valor >= CinquentaCentavos.Valor) { var moeda = new Moedas { Texto = CinquentaCentavos.Nome, Valor = CinquentaCentavos.Valor }; var data = CalculaValor(valor, moeda); texto += data.Texto + Environment.NewLine; valor = data.Valor; } if (valor >= VinteECintoCentavos.Valor) { var moeda = new Moedas { Texto = VinteECintoCentavos.Nome, Valor = VinteECintoCentavos.Valor }; var data = CalculaValor(valor, moeda); texto += data.Texto + Environment.NewLine; valor = data.Valor; } if (valor >= DezCentavos.Valor) { var moeda = new Moedas { Texto = DezCentavos.Nome, Valor = DezCentavos.Valor }; var data = CalculaValor(valor, moeda); texto += data.Texto + Environment.NewLine; valor = data.Valor; } if (valor >= CincoCentavos.Valor) { var moeda = new Moedas { Texto = CincoCentavos.Nome, Valor = CincoCentavos.Valor }; var data = CalculaValor(valor, moeda); texto += data.Texto + Environment.NewLine; valor = data.Valor; } if (valor >= UmCentavo.Valor) { var moeda = new Moedas { Texto = UmCentavo.Nome, Valor = UmCentavo.Valor }; var data = CalculaValor(valor, moeda); texto += data.Texto + Environment.NewLine; valor = data.Valor; } return(texto); }