1) code bài tách họ dựa trên cơ sở. Do họ cũng là dạng xâu kí tự và nằm trong xâu họ tên. Nên mình sử dụng hàm char *tachho(char s[]) truyền vào xâu s[] là xâu họ tên. Sau đó chèn NULL vào dấu cách thứ nhất kể từ bên trái sang (s[i]=NULL;). và trả về địa chỉ của s[0] (return &s[0];).
Ví Dụ: Nguyen Van Dung . thì trả về địa chỉ của chữ N màu đỏ.
** Tách họ
// tachho.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <string.h>
char*tachho(char s[])
{
int i=1;
while(s[i]!=' ') i++;
s[i]=NULL;
return&s[0];
}
int_tmain(int argc, _TCHAR* argv[])
{
charho[30],hoten[50];
printf("\nNhap ho va ten : ");
gets(hoten);
strcpy(ho,tachho(hoten));
printf("\nTach Ten : %s",ho);
getch();
return 0;
}
2) Tương tự code bài tách họ thì code Bài tách tên cũng tương tự. Chỉ khác nhau ở chỗ hàm char *tachten(char s[]) trả về địa chỉ của kí tự liền bên phải của dấu cách trống đầu tiên của xâu họ tên. return &s[i+1];
Ví Dụ: Nguyen Van Dung . thì trả về địa chỉ của chữ D màu đỏ.
** tách tên
// tachten.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <string.h>
char*tachten(char s[])
{
inti=strlen(s)-1;
while(s[i]!=' ') i--;
return&s[i+1];
}
int_tmain(int argc, _TCHAR* argv[])
{
charten[30],hoten[50];
printf("\nNhap ho va ten : ");
gets(hoten);
strcpy(ten,tachten(hoten));
printf("\nTach Ten : %s",ten);
getch();
return 0;
}
Link code file word
No comments:
Post a Comment