Menu
CoddyTech

Editar contato

Parte da seção Lógica e fluxo do Journey de GDScript da Coddy. Lição 27 de 78.

challenge icon

Desafio

Fácil

Trate a opção 3, que permite editar um contato. Mantenha tudo o que você escreveu nas etapas anteriores.

Escreva edit_contact(contact_book: Dictionary). Ela lê um nome.

  • Se o nome não estiver em contact_book, imprima Contact not found! e não leia mais nada.
  • Caso contrário, leia três linhas: o novo telefone, o novo e-mail e o novo endereço, nessa ordem. Uma linha vazia significa “manter o valor atual”. Atualize os campos que não estiverem vazios e, em seguida, imprima Contact updated successfully!

Por exemplo, se Alice estiver na agenda e a entrada após a opção 3 for:

Alice
987-654-3210

456 Elm St

Alice fica com o telefone 987-654-3210 e o endereço 456 Elm St, e mantém o e-mail.

No loop, adicione um ramo elif para "3" que chame edit_contact(contact_book).

Experimente você mesmo

extends Node

func _ready():
	var contact_book := {}

	while true:
		display_menu()
		var choice := OS.read_string_from_stdin()
		if choice == "1":
			add_contact(contact_book)
		elif choice == "2":
			view_contact(contact_book)
		elif choice == "6":
			break

func display_menu() -> void:
	print("Contact Book Menu:")
	print("1. Add Contact")
	print("2. View Contact")
	print("3. Edit Contact")
	print("4. Delete Contact")
	print("5. List All Contacts")
	print("6. Exit")

func add_contact(contact_book: Dictionary) -> void:
	var contact_name := OS.read_string_from_stdin()
	if contact_book.has(contact_name):
		print("Contact already exists!")
		return
	var phone := OS.read_string_from_stdin()
	var email := OS.read_string_from_stdin()
	var address := OS.read_string_from_stdin()
	contact_book[contact_name] = {"phone": phone, "email": email, "address": address}
	print("Contact added successfully!")

func view_contact(contact_book: Dictionary) -> void:
	var contact_name := OS.read_string_from_stdin()
	if contact_book.has(contact_name):
		var contact: Dictionary = contact_book[contact_name]
		print("Name: ", contact_name)
		print("Phone: ", contact["phone"])
		print("Email: ", contact["email"])
		print("Address: ", contact["address"])
	else:
		print("Contact not found!")

Todas as lições de Lógica e fluxo

Pratique por conta própria: Compilador de GDScript online