Mobile App Development · Dart/Flutter

06 · Desafio Comanda — Desafios

Evolua a comanda da lanchonete: mais produtos, taxa de serviço configurável e o valor médio por item.

Desafio 1

app_desafiocomanda.dart

A partir da comanda do conteúdo (3 coxinhas + 2 cervejas + 10% de taxa), o programa evolui em três frentes: (1) mais dois produtos na comanda, cada um com sua própria quantidade e preço (1 refrigerante e 2 sobremesas); (2) taxa de serviço configurável em uma única constante (taxaServico, aqui 12%), em vez de fixa em 10%; (3) valor médio por item, dividindo a conta final (já com taxa) pela quantidade total de itens vendidos.

// Desafio: evoluir a comanda do exercício em três frentes:
// 1) mais dois produtos, cada um com sua própria quantidade e preço;
// 2) taxa de serviço configurável, em vez de fixa em 10%;
// 3) valor médio por item, dividindo a conta final pela quantidade total de itens.
void main() {
  const precoCoxinha = 5.0;
  const precoCerveja = 15.0;
  const precoRefrigerante = 8.0;
  const precoSobremesa = 12.0;

  const qtdeCoxinha = 3;
  const qtdeCerveja = 2;
  const qtdeRefrigerante = 1;
  const qtdeSobremesa = 2;

  // Taxa de serviço configurável — basta trocar este valor para simular outra porcentagem.
  const taxaServico = 0.12;

  final totalCoxinha = precoCoxinha * qtdeCoxinha;
  final totalCerveja = precoCerveja * qtdeCerveja;
  final totalRefrigerante = precoRefrigerante * qtdeRefrigerante;
  final totalSobremesa = precoSobremesa * qtdeSobremesa;

  final subtotal = totalCoxinha + totalCerveja + totalRefrigerante + totalSobremesa;
  final taxa = subtotal * taxaServico;
  final contaFinal = subtotal + taxa;

  final totalItens = qtdeCoxinha + qtdeCerveja + qtdeRefrigerante + qtdeSobremesa;
  final valorMedioPorItem = contaFinal / totalItens;

  print('-------------------------');
  print('   .: Lanchonete Vinny :.');
  print('-------------------------');
  print('$qtdeCoxinha coxinhas       R\$ ${totalCoxinha.toStringAsFixed(2)}');
  print('$qtdeCerveja cervejas       R\$ ${totalCerveja.toStringAsFixed(2)}');
  print('$qtdeRefrigerante refrigerante   R\$ ${totalRefrigerante.toStringAsFixed(2)}');
  print('$qtdeSobremesa sobremesas     R\$ ${totalSobremesa.toStringAsFixed(2)}');
  print('-------------------------');
  print('Somatória        R\$ ${subtotal.toStringAsFixed(2)}');
  print('Taxa (${(taxaServico * 100).toStringAsFixed(0)}%)       R\$ ${taxa.toStringAsFixed(2)}');
  print('-------------------------');
  print('Conta Final      R\$ ${contaFinal.toStringAsFixed(2)}');
  print('Valor médio/item R\$ ${valorMedioPorItem.toStringAsFixed(2)}');
}

Saída esperada

-------------------------
   .: Lanchonete Vinny :.
-------------------------
3 coxinhas       R$ 15.00
2 cervejas       R$ 30.00
1 refrigerante   R$ 8.00
2 sobremesas     R$ 24.00
-------------------------
Somatória        R$ 77.00
Taxa (12%)       R$ 9.24
-------------------------
Conta Final      R$ 86.24
Valor médio/item R$ 10.78

Como executar

dart run 06-DesafioComanda/03_Desafios/codigo_fonte/app_desafiocomanda.dart