Menu
CoddyTech

Định nghĩa struct Contact

Thuộc phần Logic và luồng điều khiển trong hành trình C của Coddy. Bài học 50 trên 63.

challenge icon

Thử thách

Dễ

Bạn sẽ xây dựng một công cụ đơn giản để lưu thông tin liên hệ, qua đó tìm hiểu cách struct giúp sắp xếp dữ liệu có liên quan trong các ứng dụng thực tế.

Hãy tạo một chương trình C định nghĩa struct Contact để lưu thông tin liên hệ. Chương trình cần:

  1. Định nghĩa một struct có tên Contact với các thành viên sau:
    • Một mảng ký tự name có kích thước 50 để lưu tên liên hệ
    • Một mảng ký tự phone có kích thước 20 để lưu số điện thoại của liên hệ
    • Một mảng ký tự email có kích thước 40 để lưu địa chỉ email của liên hệ
    • Một số nguyên age để lưu tuổi của liên hệ
  2. Trong hàm main:
    • Tạo một biến kiểu Contact có tên person
    • Đọc các giá trị đầu vào sau và gán chúng cho các thành viên của struct bằng toán tử dấu chấm:
      • Đọc một chuỗi cho tên và gán chuỗi đó cho person.name
      • Đọc một chuỗi cho số điện thoại và gán chuỗi đó cho person.phone
      • Đọc một chuỗi cho email và gán chuỗi đó cho person.email
      • Đọc một số nguyên cho tuổi và gán số đó cho person.age
    • Sau khi đọc tất cả giá trị, thực hiện các bước kiểm tra sau:
      • Nếu tuổi nhỏ hơn 0 hoặc lớn hơn 120, in ra Invalid age rồi thoát chương trình
      • Nếu độ dài số điện thoại nhỏ hơn 10 ký tự, in ra Invalid phone number rồi thoát chương trình
    • Nếu tất cả bước kiểm tra đều đạt, in thông tin liên hệ theo đúng định dạng sau:
      • Contact Information:
      • Name: [name]
      • Phone: [phone]
      • Email: [email]
      • Age: [age]
    • Tính và in thêm thông tin:
      • Dùng strlen() để in độ dài tên theo định dạng: Name length: [length]
      • Xác định nhóm tuổi và in ra:
        • Nếu tuổi từ 0 đến 17: Category: Minor
        • Nếu tuổi từ 18 đến 64: Category: Adult
        • Nếu tuổi từ 65 trở lên: Category: Senior

Thử thách này kiểm tra mức độ hiểu của bạn về cách định nghĩa struct, khai báo thành viên với kiểu dữ liệu và kích thước phù hợp, truy cập thành viên struct bằng toán tử dấu chấm, kiểm tra đầu vào và dùng các hàm xử lý chuỗi như strlen() với thành viên struct. Bạn sẽ luyện tập tạo một cấu trúc dữ liệu thiết thực, có thể làm nền tảng cho một hệ thống quản lý liên hệ.

Tự làm thử

#include <stdio.h>
#include <string.h>

// TODO: Định nghĩa struct Contact tại đây

int main() {
    // TODO: Tạo biến Contact tên là person
    
    // Đọc các giá trị đầu vào
    scanf("%s", /* TODO: gán vào person.name */);
    scanf("%s", /* TODO: gán vào person.phone */);
    scanf("%s", /* TODO: gán vào person.email */);
    scanf("%d", /* TODO: gán vào person.age */);
    
    // TODO: Viết code kiểm tra tính hợp lệ và code đầu ra bên dưới
    
    return 0;
}

Tất cả bài học trong Logic và luồng điều khiển

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