유의 할것 strcmp
(* strcmp 결과가 같으면 0이 나온다.)
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
# define LENGTH 20
typedef struct student {
char s_name[20]; // 이름
char s_num[20]; // 학번
char s_phone[20]; // 전번
}student;
int main(void) {
int j = 0;
int k = 0;
int flag = 0;
student s[200] = { 0, };
char target_name[20] = { 0, };
while (1) {
printf("이름 입력 : ");
fgets(s[j].s_name, LENGTH, stdin);
//s[j].s_name[strlen(s[j].s_name)-1]='\0';
if (strcmp(s[j].s_name, "q") == 0) {
printf("추가 입력 종료 \n");
j -= 1;
break;
}
printf("집 전화번호 입력 : ");
fgets(s[j].s_num, LENGTH, stdin);
//s[j].s_num[strlen(s[j].s_num) - 1] = '\0';
printf("폰번호를 입력 : ");
fgets(s[j].s_phone, LENGTH, stdin);
//s[j].s_phone[strlen(s[j].s_phone) - 1] = '\0';
j += 1;
}
printf("검색할 이름을 입력 : ");
fgets(target_name, LENGTH, stdin);
for (k = 0; k <= j; k++) {
if (strcmp(target_name, s[k].s_name) == 0) {
printf("집 전화 :=> %20s \n", s[k].s_num);
printf("폰 번호 :=> %20s \n", s[k].s_phone);
flag = 1;
break;
}
}
if (flag == 0) {
printf("검색결과가 없습니다. \n");
}
return 0;
}