Ứng dụng hàm strtok() của C để tách họ, tên và đệm trong chuỗi họ và tên

15:19 21/10/2024

Trong nhiều ứng dụng và hệ thống thông tin hiện nay, việc xử lý thông tin cá nhân như họ và tên là rất quan trọng. Một trong những thách thức lớn là tách biệt họ, tên và đệm từ chuỗi họ và tên được nhập từ bàn phím. Bài viết này sẽ trình bày về phương pháp tách họ, tên và đệm.

  1. Định nghĩa và cấu trúc họ và tên

Trong văn hóa Việt Nam, cấu trúc họ và tên thường có dạng: Họ + Tên (đệm). Ví dụ, trong tên “Nguyễn Văn A”, “Nguyễn” là họ, “Văn” là đệm, và “A” là tên chính. Tuy nhiên, không phải lúc nào chuỗi nhập cũng theo đúng quy tắc này. Trong một số trường hợp, tên có thể gồm nhiều từ, ví dụ như “Nguyễn Thị Bích Hằng”. Cũng có những trường hợp không có tên đệm, ví dụ “Nguyễn A”.  

  1. Phương pháp tách họ, tên, và đệm 

Để tách họ, tên và đệm từ một chuỗi nhập vào, có thể thực hiện các bước sau:

Bước 1: Nhận chuỗi nhập

Người dùng nhập chuỗi họ và tên, ví dụ: “Nguyễn Văn A”.

     char str[50];

     printf(“Nhap ho va ten: “);

     gets(str); 

Bước 2: Phân tách các từ

Sử dụng hàm phân tách (strtok) để chia chuỗi thành các phần tử và lưu chúng vào một mảng hai chiều

char *dauCach = “  ”;//có thể dùng nhiều dấu cách “;:.  “

char *substr;

char save[100][50];//Dùng để lưu các từ

substr = strtok(str, daucach);

int n = 0;

while (substr != NULL)

{

    strcpy(save[n], substr);

    n++;

    substr = strtok(NULL, dauCach);

}

n = n1;//số từ trong chuỗi

Bước 3: Xác định họ, tên và đệm

Theo quy tắc, phần tử đầu tiên trong mảng là họ, phần tử cuối cùng là tên, và các phần tử nằm giữa là đệm. Ở đây ta phải chú ý trường hợp họ tên không có đệm lót tức là số phần tử của mảng là 2

printf(“Ho: %s\n, save[0]);

printf(“Ten: %s\n, save[n]);

printf(“Dem lot: “);

if (n == 1)

{

    printf(“Khong co”);

}

else

     for (int i = 1; i < n; i++)

  {

     printf(%s, save[i]);

  }

  1. Kết luận

Việc tách họ, tên và đệm từ một chuỗi nhập vào là một kỹ thuật quan trọng trong lập trình và quản lý dữ liệu. Qua các bước đơn giản, chúng ta có thể dễ dàng xử lý và phân tích thông tin cá nhân, phục vụ cho nhiều mục đích khác nhau. 

Giảng viên Bùi Tuấn Vũ
Bộ môn Ứng dụng phần mềm
FPT Polytechnic TP HCM

Cùng chuyên mục

Đăng Kí học Fpoly 2024

  • Max. file size: 50 MB.
  • Max. file size: 50 MB.
  • Max. file size: 50 MB.