private static void Iniciar() { try { decimal valorTotal = ObterDecimalValido("valor total"); decimal valorEfetivamentePago = ObterDecimalValido("efetivamente pago"); var pagamento = new Pagamento(Guid.NewGuid(), valorTotal, valorEfetivamentePago); var troco = new Troco(pagamento); Console.WriteLine(); var trocoFormatado = troco.Montante.ValorTotal.ToString().Replace('.', ','); Console.WriteLine($"O troco tem o valor de R$ {trocoFormatado}"); Console.WriteLine(); Console.WriteLine("O montante a ser devolvido deve ser o seguinte:"); foreach (var dinheiro in troco.Montante.Dinheiros) { Console.WriteLine(dinheiro.ToString()); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private void txt_ValorPago_Leave(object sender, EventArgs e) { try { if (txt_ValorPago.Text != "") { ValorPago = decimal.Parse(txt_ValorPago.Text); if (ValorPago >= ValorConta) { Troco = ValorPago - ValorConta; txt_Troco.Text = "R$ " + Troco.ToString(); } else { txt_Troco.Clear(); } txt_ValorPago.Text = Convert.ToDecimal(txt_ValorPago.Text.Trim()).ToString("0.00"); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Caixa Fácil", MessageBoxButtons.OK, MessageBoxIcon.Error); txt_ValorPago.Clear(); } }
private void txtValorPago_TextChanged(object sender, EventArgs e) { try { if (cbbTipoDePagamento.Text == EnumTipoPagamento.Dinheiro.ToString()) { decimal valorPago = ValorPago.ValorPagoPeloCliente(txtValorPago); decimal valorDaComanda = GetValorNaComanda(); if (ltvProdutos.Items.Count > 0 && valorPago >= valorDaComanda) { txtTroco.Text = Troco.GerarTroco(valorPago, valorDaComanda); EsconderOuMostrarButtonVenda(Mostrar); } else { LimparTxt(new List <TextBox>() { txtTroco }); EsconderOuMostrarButtonVenda(Esconder); } } } catch (CustomException erro) { DialogMessage.MessageFullComButtonOkIconeDeInformacao(erro.Message, "Aviso"); } catch (Exception erro) { DialogMessage.MessageComButtonOkIconeErro(erro.Message, "Erro"); } }
private void ValidarVenda() { try { decimal valorPago = ValorPago.ValorPagoPeloCliente(txtValorPago); if (valorPago >= GetValorPorParcela()) { txtTroco.Text = Troco.GerarTroco(valorPago, GetValorPorParcela()); MostrarBotao(); } else { LimparTxt(new List <TextBox>() { txtTroco }); EsconderBotao(); } } catch (CustomException erro) { DialogMessage.MessageFullComButtonOkIconeDeInformacao(erro.Message, "Aviso"); } catch (Exception erro) { SaveErroInTxt.RecordInTxt(erro, this.GetType().Name); DialogMessage.MessageComButtonOkIconeErro(erro.Message, "Erro"); } }
private void btnFinalizar_Click(object sender, EventArgs e) { if (Convert.ToDouble(txtValorPago.Text) < Convert.ToDouble(txtValorTotal.Text)) { MessageBox.Show("Pagamento insuficiente, faltam R$" + (Convert.ToDouble(txtValorTotal.Text) - Convert.ToDouble(txtValorPago.Text)), "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } try { Troco troco = new Troco(); troco.ValorTotal = Convert.ToDouble(txtValorTotal.Text); troco.ValorPago = Convert.ToDouble(txtValorPago.Text); troco.ValorRecebido = Convert.ToDouble(txtTroco.Text); troco.Notas = lblResultado.Text; ISession session = NHibernateHelper.GetSession(); session.Save(troco); session.Flush(); session.Close(); MessageBox.Show("Dados gravados com sucesso.", "informação", MessageBoxButtons.OK, MessageBoxIcon.Information); txtValorTotal.Clear(); txtValorPago.Clear(); txtTroco.Clear(); lblResultado.Text = ""; } catch (Exception ex) { MessageBox.Show("Erro: " + ex.Message); } }
public void Deve_retornar_troco_de_50_reais_com_pagamento_de_50_reais_e_valor_de_100_reais() { var pagamento = new Pagamento(_pagamentoId, 50M, 100M); var troco = new Troco(pagamento); troco.Montante.Dinheiros.Count().Should().Be(1); troco.Montante.Dinheiros.ElementAt(0).Should().BeOfType <CinquentaReais>(); }
public ActionResult Abastece() { Troco troco = new Troco(); MaquinaDeTroco maquina = MaquinaDeTroco.getMaquinaDeTroco(); troco.Moedas = maquina.Moedas; return(View(troco)); }
public void Deve_retornar_troco_de_50_centavos_com_pagamento_de_1_real_e_valor_de_50_centavos() { var pagamento = new Pagamento(_pagamentoId, 0.5M, 1M); var troco = new Troco(pagamento); troco.Montante.Dinheiros.Count().Should().Be(1); troco.Montante.Dinheiros.ElementAt(0).Should().BeOfType <CinquentaCentavos>(); }
public void Deve_retornar_troco_de_40_centavos_com_pagamento_de_50_centavos_e_valor_de_10_centavos() { var pagamento = new Pagamento(_pagamentoId, 0.10M, 0.5M); var troco = new Troco(pagamento); troco.Montante.Dinheiros.Count().Should().Be(4); troco.Montante.Dinheiros.ElementAt(0).Should().BeOfType <DezCentavos>(); troco.Montante.Dinheiros.ElementAt(1).Should().BeOfType <DezCentavos>(); troco.Montante.Dinheiros.ElementAt(2).Should().BeOfType <DezCentavos>(); troco.Montante.Dinheiros.ElementAt(3).Should().BeOfType <DezCentavos>(); }
public void Deve_retornar_troco_de_4_reais_com_pagamento_de_5_reais_e_valor_de_1_real() { var pagamento = new Pagamento(_pagamentoId, 1M, 5M); var troco = new Troco(pagamento); troco.Montante.Dinheiros.Count().Should().Be(4); troco.Montante.Dinheiros.ElementAt(0).Should().BeOfType <UmReal>(); troco.Montante.Dinheiros.ElementAt(1).Should().BeOfType <UmReal>(); troco.Montante.Dinheiros.ElementAt(2).Should().BeOfType <UmReal>(); troco.Montante.Dinheiros.ElementAt(3).Should().BeOfType <UmReal>(); }
public void Deve_retornar_troco_de_quatro_centavos_com_pagamento_de_cincos_centavos_e_valor_de_um_centavo() { var pagamento = new Pagamento(_pagamentoId, 0.01M, 0.05M); var troco = new Troco(pagamento); troco.Montante.Dinheiros.Count().Should().Be(4); troco.Montante.Dinheiros.ElementAt(0).Should().BeOfType <UmCentavo>(); troco.Montante.Dinheiros.ElementAt(1).Should().BeOfType <UmCentavo>(); troco.Montante.Dinheiros.ElementAt(2).Should().BeOfType <UmCentavo>(); troco.Montante.Dinheiros.ElementAt(3).Should().BeOfType <UmCentavo>(); }
public static TrocoResponse ToResponse(this Troco model) { if (model == null) { return(null); } return(new TrocoResponse { Quantidade = model.Quantidade, Dinheiro = model.Dinheiro.ToResponse() }); }
public ActionResult Adicionar(Troco troco) { MaquinaDeTroco maquina = MaquinaDeTroco.getMaquinaDeTroco(); string sucesso = "S"; string mensagem = "Máquina Abastecida!"; JsonResult retorno; SerializeObject(maquina); try { for (int i = 0; i < maquina.Moedas.Count; i++) { maquina.Moedas[i].Quantidade += troco.NovasMoedas[i].Quantidade; } //maquina tem o valor em centavos maquina.atualizaTotal(); Troco t = new Troco(); t.Moedas = maquina.Moedas; List <string> quantidades = new List <string>(); foreach (var moeda in maquina.Moedas) { quantidades.Add(moeda.Quantidade.ToString()); } retorno = Json(new { Sucesso = sucesso, Mensagem = mensagem, Valores = quantidades }, JsonRequestBehavior.AllowGet); return(retorno); } catch (Exception ex) { maquina = DeSerializeObject <MaquinaDeTroco>(); sucesso = "N"; retorno = Json(new { Sucesso = sucesso, Mensagem = ex.Message, }, JsonRequestBehavior.AllowGet); return(retorno); } }
public void AtualizaLabelsValores() { labelTotalVenda.Text = TotalVenda.ToString("###,###,##0.00"); labelAcrescimo.Text = Acrescimo.ToString("###,###,##0.00"); labelDesconto.Text = Desconto.ToString("###,###,##0.00"); labelTotalReceber.Text = TotalReceber.ToString("###,###,##0.00"); labelTotalRecebido.Text = TotalRecebido.ToString("###,###,##0.00"); if (SaldoRestante > 0) { labelAindaFalta.Text = SaldoRestante.ToString("###,###,##0.00"); } else { labelAindaFalta.Text = "0.00"; } labelTroco.Text = Troco.ToString("###,###,##0.00"); }
private void txtValorPago_TextChanged(object sender, EventArgs e) { try { if (cbbTipoDePagamento.Text == EnumTipoPagamento.Dinheiro.ToString()) { if (txtValorPago.Text.Length > 0) { decimal valorPago = Decimal.Parse((sender as TextBox).Text); decimal ValorTotal = _fiado.Valor; MostrarBotao(); if (valorPago >= ValorTotal) { txtTroco.Text = Troco.GerarTroco(valorPago, ValorTotal); MostrarBotao(); } else { LimparTxt(new List <TextBox> { txtTroco }); } } else { EsconderBotao(); LimparTxt(new List <TextBox> { txtTroco }); } } } catch (CustomException erro) { DialogMessage.MessageFullComButtonOkIconeDeInformacao(erro.Message, "Aviso"); txtValorPago.LimparTxtNoEventoChanged(txtValorPago_TextChanged); return; } catch (Exception erro) { SaveErroInTxt.RecordInTxt(erro, this.GetType().Name); DialogMessage.MessageComButtonOkIconeErro(erro.Message, "Erro"); } }
public Troco CalculaTroco(double vlrCompra, double vlrPago) { Troco result = new Troco(); var resultadoValidador = _validator.Validar(vlrCompra, vlrPago); // Verifica se os valores enviados representam um cenário real if (resultadoValidador.Ok == false) { result.VlrCompra = vlrCompra; result.VlrPago = vlrPago; result.Mensagem = resultadoValidador.Mensagem; return(result); } // Calcula o valor do troco a ser pago double vlrTroco = vlrPago - vlrCompra; int numero; result.ItensTroco = new List <ItemTroco>(); result.VlrCompra = vlrCompra; result.VlrPago = vlrPago; result.VlrTroco = vlrTroco; // Obtem apenas o número inteiro do troco numero = (int)vlrTroco; result.ItensTroco.AddRange(CompoeTroco(numero, 'C')); // Obtem apenas o número decimal do troco numero = (int)Math.Round((vlrTroco - (int)vlrTroco) * 100); result.ItensTroco.AddRange(CompoeTroco(numero, 'M')); result.Mensagem = ""; return(result); }
public IActionResult Post([FromBody] Troco troco) { try { int t100, t50, t20, t10, m50, m10, m05, m1; t100 = 0; t50 = 0; t20 = 0; t10 = 0; m50 = 0; m10 = 0; m05 = 0; m1 = 0; decimal valorTroco = troco.ValorPago - troco.PrecoProduto; troco.ValorTroco = valorTroco; while (valorTroco >= 100) { valorTroco -= 100; t100++; } while (valorTroco >= 50) { valorTroco -= 50; t50++; } while (valorTroco >= 20) { valorTroco -= 20; t20++; } while (valorTroco >= 10) { valorTroco -= 10; t10++; } while (valorTroco >= Convert.ToDecimal(0.50)) { valorTroco -= Convert.ToDecimal(0.50); m50++; } while (valorTroco >= Convert.ToDecimal(0.10)) { valorTroco -= Convert.ToDecimal(0.10); m10++; } while (valorTroco >= Convert.ToDecimal(0.05)) { valorTroco -= Convert.ToDecimal(0.05); m05++; } while (valorTroco >= Convert.ToDecimal(0.01)) { valorTroco -= Convert.ToDecimal(0.01); m1++; } if (t100 > 0) { troco.Nota100 = t100; } if (t50 > 0) { troco.Nota50 = t50; } if (t20 > 0) { troco.Nota20 = t20; } if (t10 > 0) { troco.Nota10 = t10; } if (m50 > 0) { troco.Moeda050 = m50; } if (m10 > 0) { troco.Moeda010 = m10; } if (m05 > 0) { troco.Moeda005 = m05; } if (m1 > 0) { troco.Moeda001 = m1; } _trocoRepository.Adicionar(troco); return(Created("api/troco", troco)); } catch (Exception ex) { return(BadRequest(ex.ToString())); } }
public string ToNFCeIni() { var vendaIni = new ACBrIniFile(); // InfNFe vendaIni["infNFe"]["versao"] = "4.0"; //Identificação vendaIni["Identificacao"]["natOp"] = "Venda de Mercadoria"; vendaIni["Identificacao"]["indPag"] = "0"; vendaIni["Identificacao"]["mod"] = "65"; vendaIni["Identificacao"]["serie"] = Serie.ToString(); vendaIni["Identificacao"]["nNF"] = Numero.ToString(); vendaIni["Identificacao"]["dEmi"] = Data.ToString("dd/MM/yyyy HH:mm:ss"); vendaIni["Identificacao"]["tpNF"] = "1"; vendaIni["Identificacao"]["Finalidade"] = "0"; vendaIni["Identificacao"]["idDest"] = "1"; vendaIni["Identificacao"]["indFinal"] = "1"; vendaIni["Identificacao"]["indPres"] = "1"; vendaIni["Identificacao"]["tpimp"] = "4"; vendaIni["Identificacao"]["tpAmb"] = "2"; //Emitente vendaIni["Emitente"]["CRT"] = ((int)Configuracao.Instance.Emitente.CRT).ToString(); vendaIni["Emitente"]["CNPJ"] = Configuracao.Instance.Emitente.CNPJ.OnlyNumbers(); vendaIni["Emitente"]["IE"] = Configuracao.Instance.Emitente.IE.OnlyNumbers(); vendaIni["Emitente"]["Razao"] = Configuracao.Instance.Emitente.Razao; vendaIni["Emitente"]["Fantasia"] = Configuracao.Instance.Emitente.Fantasia; vendaIni["Emitente"]["Fone"] = Configuracao.Instance.Emitente.Fone; vendaIni["Emitente"]["CEP"] = Configuracao.Instance.Emitente.CEP; vendaIni["Emitente"]["Logradouro"] = Configuracao.Instance.Emitente.Logradouro; vendaIni["Emitente"]["Numero"] = Configuracao.Instance.Emitente.Numero; vendaIni["Emitente"]["Complemento"] = Configuracao.Instance.Emitente.Complemento; vendaIni["Emitente"]["Bairro"] = Configuracao.Instance.Emitente.Bairro; vendaIni["Emitente"]["CidadeCod"] = Configuracao.Instance.Emitente.CidadeCod; vendaIni["Emitente"]["Cidade"] = Configuracao.Instance.Emitente.Cidade; vendaIni["Emitente"]["UF"] = Configuracao.Instance.Emitente.UF; //Destinatario vendaIni["Destinatario"]["indIEDest"] = "9"; if (!string.IsNullOrEmpty(Cliente.Documento)) { vendaIni["Destinatario"]["CNPJCPF"] = Cliente.Documento; } if (!string.IsNullOrEmpty(Cliente.Nome)) { vendaIni["Destinatario"]["xNome"] = Cliente.Nome; } for (var i = 0; i < Items.Count; i++) { var item = Items[i]; if (item.Cancelado) { continue; } var sessaoProduto = $"Produto{i + 1:000}"; var sessaoICMS = $"ICMS{i + 1:000}"; var sessaoPIS = $"PIS{i + 1:000}"; var sessaoCOFINS = $"COFINS{i + 1:000}"; var sessaoIPI = $"IPI{i + 1:000}"; vendaIni[sessaoProduto]["CFOP"] = "5.102"; vendaIni[sessaoProduto]["Codigo"] = item.Produto.Codigo; vendaIni[sessaoProduto]["cEAN"] = "SEM GTIN"; vendaIni[sessaoProduto]["Descricao"] = item.Produto.Descricao; vendaIni[sessaoProduto]["NCM"] = "84719012"; vendaIni[sessaoProduto]["Unidade"] = item.Produto.Unidade; vendaIni[sessaoProduto]["Quantidade"] = item.Quantidade.ToString("N4"); vendaIni[sessaoProduto]["ValorUnitario"] = item.Produto.Valor.ToString("N10"); vendaIni[sessaoProduto]["ValorTotal"] = item.ValorTotal.ToString("N2"); vendaIni[sessaoProduto]["ValorDesconto"] = "0,00"; vendaIni[sessaoProduto]["vFrete"] = "0,00"; vendaIni[sessaoProduto]["vSeg"] = "0,00"; vendaIni[sessaoProduto]["vOutro"] = "0,00"; vendaIni[sessaoProduto]["indEscala"] = "N"; vendaIni[sessaoProduto]["CNPJFab"] = "05481336000137"; vendaIni[sessaoProduto]["uTrib"] = item.Produto.Unidade; vendaIni[sessaoProduto]["cEANTrib"] = "SEM GTIN"; vendaIni[sessaoICMS]["CSOSN"] = "900"; vendaIni[sessaoICMS]["Origem"] = "0"; vendaIni[sessaoICMS]["ValorBase"] = "100"; vendaIni[sessaoICMS]["Aliquota"] = "10"; vendaIni[sessaoICMS]["Valor"] = "10"; vendaIni[sessaoICMS]["pCredSN"] = "0,00"; vendaIni[sessaoICMS]["vCredICMSSN"] = "0,00"; vendaIni[sessaoICMS]["ModalidadeST"] = "4"; vendaIni[sessaoICMS]["ValorBaseST"] = "0,00"; vendaIni[sessaoICMS]["AliquotaST"] = "0,00"; vendaIni[sessaoICMS]["ValorST"] = "0,00"; vendaIni[sessaoICMS]["PercentualReducao"] = "0,00"; vendaIni[sessaoICMS]["vBCFCP"] = "0"; vendaIni[sessaoICMS]["pFCP"] = "0"; vendaIni[sessaoICMS]["vFCP"] = "0"; vendaIni[sessaoPIS]["CST"] = "01"; vendaIni[sessaoPIS]["ValorBase"] = "0,00"; vendaIni[sessaoPIS]["Aliquota"] = "0,00"; vendaIni[sessaoPIS]["Valor"] = "0,00"; vendaIni[sessaoCOFINS]["CST"] = "01"; vendaIni[sessaoCOFINS]["ValorBase"] = "0,00"; vendaIni[sessaoCOFINS]["Aliquota"] = "0,00"; vendaIni[sessaoCOFINS]["Valor"] = "0,00"; vendaIni[sessaoIPI]["CST"] = "53"; vendaIni[sessaoIPI]["ValorBase"] = "0,00"; vendaIni[sessaoIPI]["Aliquota"] = "0,00"; vendaIni[sessaoIPI]["Valor"] = "0,00"; } vendaIni["Total"]["BaseICMS"] = (100 * Items.Count).ToString("N2"); vendaIni["Total"]["ValorICMS"] = (10 * Items.Count).ToString("N2"); vendaIni["Total"]["vICMSDeson"] = "0,00"; vendaIni["Total"]["BaseICMSSubstituicao"] = "0,00"; vendaIni["Total"]["ValorICMSSubstituicao"] = "0,00"; vendaIni["Total"]["ValorProduto"] = Items.Sum(x => x.ValorTotal).RoundABNT().ToString("N2"); vendaIni["Total"]["ValorFrete"] = "0,00"; vendaIni["Total"]["ValorSeguro"] = "0,00"; vendaIni["Total"]["ValorDesconto"] = "0,00"; vendaIni["Total"]["ValorIPI"] = "0,00"; vendaIni["Total"]["ValorPIS"] = "0,00"; vendaIni["Total"]["ValorCOFINS"] = "0,00"; vendaIni["Total"]["ValorOutrasDespesas"] = "0,00"; vendaIni["Total"]["ValorNota"] = Items.Sum(x => x.ValorTotal).RoundABNT().ToString("N2"); vendaIni["Total"]["vFCP"] = "0"; vendaIni["DadosAdicionais"]["Complemento"] = ""; vendaIni["Transportador"]["modFrete"] = "9"; for (var i = 0; i < Pagamentos.Count; i++) { var item = Pagamentos[i]; var sessaoPagamento = $"pag{i + 1:000}"; vendaIni[sessaoPagamento]["tPag"] = item.TipoNFe.ToString("00"); vendaIni[sessaoPagamento]["vPag"] = item.Valor.ToString("N2"); if (i == 0 && Troco > 0) { vendaIni[sessaoPagamento]["vTroco"] = Troco.ToString("N2"); } } return(vendaIni.ToString()); }
public Troco Adicionar(Troco troco) { return(troco); }
public ActionResult CalcularTroco(Troco troco) { string sucesso = ""; string mensagem = ""; double valor = troco.Total * 100; JsonResult retorno; MaquinaDeTroco maquina = MaquinaDeTroco.getMaquinaDeTroco(); if (maquina.Total < valor) //troco maior do que máquina possui { mensagem = "Máquina com valor insuficiente"; sucesso = "N"; } else //Tem o valor na máquina { Troco resposta = new Troco(); double restante = valor; SerializeObject(maquina); for (int i = resposta.NovasMoedas.Count - 1; i >= 0; i--) { if (maquina.Moedas[i].Quantidade > 0) // tem moedas desse valor na maquina? { if ((restante / resposta.NovasMoedas[i].Valor) >= 1) // preciso dessa moeda? { double moedasNecessarias = Math.Floor(restante / resposta.NovasMoedas[i].Valor); int moedasInt = Convert.ToInt32(moedasNecessarias); if (moedasNecessarias <= maquina.Moedas[i].Quantidade) //tenho a qntd dessa moeda que preciso na maquina? { resposta.NovasMoedas[i].Quantidade = moedasInt; maquina.Moedas[i].Quantidade -= moedasInt; restante = restante % resposta.NovasMoedas[i].Valor; } else //tenho menos do que a quantidade necessária { restante -= maquina.Moedas[i].Quantidade * maquina.Moedas[i].Valor; resposta.NovasMoedas[i].Quantidade = maquina.Moedas[i].Quantidade; maquina.Moedas[i].Quantidade = 0; } } } } maquina.atualizaTotal(); if (restante > 0) { sucesso = "N"; mensagem = "Não há moedas o suficiente para dar o troco exato"; maquina = DeSerializeObject <MaquinaDeTroco>(); } else { sucesso = "S"; mensagem = "Troco liberado com sucesso. Confira as moedas utilizadas."; List <string> quantidades = new List <string>(); SerializeObject(maquina); foreach (var moeda in resposta.NovasMoedas) { quantidades.Add(moeda.Quantidade.ToString()); } retorno = Json(new { Sucesso = sucesso, Mensagem = mensagem, Valores = quantidades }, JsonRequestBehavior.AllowGet); return(retorno); } } retorno = Json(new { Sucesso = sucesso, Mensagem = mensagem }, JsonRequestBehavior.AllowGet); return(retorno); }
static void Main(string[] args) { //Dados básicos de saída e introdução a varíaveis e vetor int N; double[] vetor; Console.WriteLine("Seja bem-vindo ao BurguerShop!"); Console.WriteLine(); Console.WriteLine("1 - HAMBURGUER DE FRANGO R$ 4.45"); Console.WriteLine("2 - HAMBURGUER DE CARNE BOVINA R$5.00"); Console.WriteLine("3 - REFRIGERANTE PEPSI 300ml R$3.30 "); Console.WriteLine("4 - SUCO NATURAL 500ml (QUALQUER SABOR) R$ 3.00"); Console.WriteLine(); Console.Write("Quantidade de produtos: "); //Sistema utilizando o 'for' para guardar os códigos de produtos escritos na mesma linha (separados por espaço) N = int.Parse(Console.ReadLine()); vetor = new double[N]; double soma = 0.0; Console.Write("Produtos: "); string[] v = Console.ReadLine().Split(' '); for (int i = 0; i < N; i++) { vetor[i] = int.Parse(v[i]); while (vetor[i] < 1 || vetor[i] > 4) { Console.WriteLine("Produto invalido"); Console.Write("Produto faltante: "); v[i] = Console.ReadLine(); vetor[i] = double.Parse(v[i]); } if (vetor[i] == 1) { } else if (vetor[i] == 2) { soma += 5.00; } else if (vetor[i] == 3) { soma += 3.30; } else { soma += 3.00; } } //Saída informando a soma dos valores de cada produto Console.WriteLine($"TOTAL: R$ {soma.ToString("F2", CultureInfo.InvariantCulture)}"); Console.WriteLine(); //Parte inicial do sistema para double Valorpago, Troco; Console.Write("Total pago pelo cliente: R$"); Valorpago = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture); Console.WriteLine(); Troco = Valorpago - soma; Console.WriteLine($"Troco do cliente: {Troco.ToString("F2", CultureInfo.InvariantCulture)}"); Console.WriteLine(); Console.WriteLine("NOTAS"); Console.WriteLine(); double nota, resto; int operacao; nota = 100.0; operacao = (int)(Troco / nota); Console.WriteLine($"Moedas de R${nota.ToString("F2", CultureInfo.InvariantCulture)}: {operacao}"); resto = Troco % nota; nota = 50.0; operacao = (int)(resto / nota); Console.WriteLine($"Moedas de R${nota.ToString("F2", CultureInfo.InvariantCulture)}: {operacao}"); resto = resto % nota; nota = 20.0; operacao = (int)(resto / nota); Console.WriteLine($"Moedas de R${nota.ToString("F2", CultureInfo.InvariantCulture)}: {operacao}"); resto = resto % nota; nota = 10.0; operacao = (int)(resto / nota); Console.WriteLine($"Moedas de R${nota.ToString("F2", CultureInfo.InvariantCulture)}: {operacao}"); resto = resto % nota; nota = 5.0; operacao = (int)(resto / nota); Console.WriteLine($"Moedas de R${nota.ToString("F2", CultureInfo.InvariantCulture)}: {operacao}"); resto = resto % nota; nota = 2.0; operacao = (int)(resto / nota); Console.WriteLine($"Moedas de R${nota.ToString("F2", CultureInfo.InvariantCulture)}: {operacao}"); resto = resto % nota; Console.WriteLine(); Console.WriteLine("MOEDAS"); Console.WriteLine(); double moeda; moeda = 1.0; operacao = (int)(resto / moeda); Console.WriteLine($"Moedas de R${moeda.ToString("F2", CultureInfo.InvariantCulture)}: {operacao}"); resto = resto % moeda; moeda = 0.50; operacao = (int)(resto / moeda); Console.WriteLine($"Moedas de R${moeda.ToString("F2", CultureInfo.InvariantCulture)}: {operacao}"); resto = resto % moeda; moeda = 0.25; operacao = (int)(resto / moeda); Console.WriteLine($"Moedas de R${moeda.ToString("F2", CultureInfo.InvariantCulture)}: {operacao}"); resto = resto % moeda; moeda = 0.10; operacao = (int)(resto / moeda); Console.WriteLine($"Moedas de R${moeda.ToString("F2", CultureInfo.InvariantCulture)}: {operacao}"); resto = resto % moeda; moeda = 0.5; operacao = (int)(resto / moeda); Console.WriteLine($"Moedas de R${moeda.ToString("F2", CultureInfo.InvariantCulture)}: {operacao}"); Console.ReadLine(); }