언어/c언어

유의 할것 strcmp

파아랑새 2017. 12. 23. 20:20

(* 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;

}