Menu
CoddyTech

Chỉnh sửa liên hệ

Thuộc phần Logic và luồng chương trình trong hành trình GDScript của Coddy. Bài học 27 trên 78.

challenge icon

Thử thách

Dễ

Xử lý lựa chọn 3, chỉnh sửa một liên hệ. Giữ nguyên mọi thứ bạn đã viết ở các bước trước.

Viết edit_contact(contact_book: Dictionary). Hàm này đọc một tên.

  • Nếu tên không có trong contact_book, in ra Contact not found! và không đọc thêm gì.
  • Nếu có, đọc ba dòng: số điện thoại mới, email mới và địa chỉ mới, theo thứ tự đó. Dòng trống có nghĩa là “giữ giá trị hiện tại”. Cập nhật các trường không trống, sau đó in ra Contact updated successfully!

Ví dụ: nếu Alice có trong danh bạ và đầu vào sau lựa chọn 3 là:

Alice
987-654-3210

456 Elm St

Alice có số điện thoại 987-654-3210 và địa chỉ 456 Elm St, còn email vẫn giữ nguyên.

Trong vòng lặp, thêm một nhánh elif cho "3" để gọi edit_contact(contact_book).

Tự làm thử

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!")

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch GDScript online