Menu
CoddyTech

Tratamento de Erros

Parte da seção Fundamentos do Journey de GDScript da Coddy. Lição 89 de 92.

challenge icon

Desafio

Fácil

Por fim, trate qualquer opção que não seja de 1 a 5. Mantenha tudo o que você escreveu nas etapas anteriores e imprima:

Invalid choice. Please try again.

Após a mensagem, o loop lê a próxima opção como antes.

Experimente você mesmo

extends Node

func _ready():
	print("Welcome to the Daily Expense Tracker!")

	# Exibir o menu uma vez
	print("\nMenu:")
	print("1. Add a new expense")
	print("2. View all expenses")
	print("3. Calculate total and average expense")
	print("4. Clear all expenses")
	print("5. Exit")

	# Um array vazio para as despesas
	var expenses: Array[float] = []

	while true:
		# Obter a escolha do usuário
		var choice := OS.read_string_from_stdin()

		if choice == "1":
			# Adicionar uma nova despesa
			var amount := float(OS.read_string_from_stdin())
			expenses.append(amount)
			print("Expense added successfully!")
		elif choice == "2":
			# Visualizar todas as despesas
			if expenses.is_empty():
				print("No expenses recorded yet.")
			else:
				print("Your expenses:")
				for i in range(expenses.size()):
					print(i + 1, ". ", expenses[i])
		elif choice == "3":
			# Calcular o total e a média
			if expenses.is_empty():
				print("No expenses recorded yet.")
			else:
				var total := 0.0
				for expense in expenses:
					total += expense
				var average := total / expenses.size()
				print("Total expense: ", total)
				print("Average expense: ", average)
		elif choice == "4":
			# Limpar todas as despesas
			expenses.clear()
			print("All expenses cleared.")
		elif choice == "5":
			# Sair do programa
			print("Exiting the Daily Expense Tracker. Goodbye!")
			break

Todas as lições de Fundamentos

Pratique por conta própria: Compilador de GDScript online