Menu
CoddyTech

Gestión de errores

Parte de la sección Fundamentos del Journey de GDScript de Coddy. Lección 89 de 92.

challenge icon

Desafío

Fácil

Por último, gestiona cada opción que no sea 1 a 5. Conserva todo lo que escribiste en los pasos anteriores y muestra:

Invalid choice. Please try again.

Después del mensaje, el bucle lee la siguiente opción como antes.

Pruébalo tú mismo

extends Node

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

	# Muestra el menú una 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")

	# Un arreglo vacío para los gastos
	var expenses: Array[float] = []

	while true:
		# Obtén la opción del usuario
		var choice := OS.read_string_from_stdin()

		if choice == "1":
			# Agrega un nuevo gasto
			var amount := float(OS.read_string_from_stdin())
			expenses.append(amount)
			print("Expense added successfully!")
		elif choice == "2":
			# Muestra todos los gastos
			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":
			# Calcula el total y el promedio
			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":
			# Borra todos los gastos
			expenses.clear()
			print("All expenses cleared.")
		elif choice == "5":
			# Sal del programa
			print("Exiting the Daily Expense Tracker. Goodbye!")
			break

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de GDScript online