Visualizar Todas as Despesas
Parte da seção Fundamentos do Journey de Swift da Coddy — lição 80 de 86.
Desafio
FácilNa lição anterior, você implementou o recurso "Add expense". Agora, implemente o recurso "View all expenses" para a opção "2".
Modifique seu código para lidar com a opção "2":
- Quando o usuário inserir
"2", verifique se o arrayexpensesestá vazio - Se o array estiver vazio, imprima
No expenses recorded. - Se o array tiver despesas, imprima
Your expenses:seguido por cada despesa em sua própria linha, formatada como- $X.XX(onde X.XX é o valor da despesa) - As opções
"3"e"4"ainda devem imprimirComing soon... - As opções
"1"e"5"devem continuar funcionando como antes
Comportamento esperado:
- Quando
"2"for inserido sem despesas, imprimaNo expenses recorded. - Quando
"2"for inserido com despesas, imprima o cabeçalho e liste cada despesa com um traço e o sinal de dólar
Exemplo de interação:
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
2
No expenses recorded.
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
1
Enter expense amount:
25.50
Expense added!
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
1
Enter expense amount:
10.00
Expense added!
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
2
Your expenses:
- $25.5
- $10.0
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
5
Goodbye!Experimente você mesmo
// Daily Expense Tracker - Menu Display
var expenses: [Double] = []
while true {
// TODO: Write your code below to print the menu options
// Each option should be on its own line with the format: "number. option text"
print("1. Add expense")
print("2. View all expenses")
print("3. Show total and average")
print("4. Clear all expenses")
print("5. Exit")
let choice = readLine()
if choice == "1" {
print("Enter expense amount:")
if let input = readLine(), let amount = Double(input) {
expenses.append(amount)
print("Expense added!")
}
} else if choice == "2" {
print("Coming soon...")
} else if choice == "3" {
print("Coming soon...")
} else if choice == "4" {
print("Coming soon...")
} else if choice == "5" {
print("Goodbye!")
break
} else {
print("Coming soon...")
}
}Todas as lições de Fundamentos
4Operadores Parte 1
Operadores AritméticosOperador de MóduloAtribuição CompostaRecapitulação - Matemática SimplesOperadores de Comparação7IO Básico
Função PrintInterpolação de StringsEntrada ReadLineConversão de TiposRecapitulação - Até 120Recapitulação - Verdadeiro ou Falso10Funções
Declarar uma FunçãoParâmetros e ArgumentosValores de RetornoRótulos de ArgumentosRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores Padrão13Iterando sobre Sequências
Iterando sobre ElementosO Método EnumeratedIterando sobre Strings P1Iterando sobre Strings P22Variáveis
Let vs VarAnotações de TipoNúmerosStringBooleanosConvenções de NomenclaturaRecapitulação - Inicializar Variáveis5Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Operador Ternário8Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo Entrada11FizzBuzz com um Diferencial
Visão Geral do JogoA Função FizzBuzz3Opcionais
O que são OpcionaisDesembrulhando com If LetGuard LetOperador de Coalescência NulaRecapitulação - Desembrulho Seguro6Tomada de Decisão
Estrutura IfIf - ElseRecapitulação - Calculadora SimplesEstrutura SwitchSwitch com Intervalos9Loops
Loop For-InLoop WhileLoop Repeat-WhileBreakContinueRecapitulação - FatorialIntervalos em LoopsLoop AninhadoRecapitulação - Entrada Dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando ElementosModificando ArraysMétodos de ArrayRecapitulação - Lista de ProdutosRecapitulação - Array InvertidoTuplas15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa