구조체를 이용한 주소록프로그램에서 질문있습니다.답변좀 ㅜ
개랑
/*구조체를 이용한 주소록 만드는 프로그램인데요.그냥 간단히 짜보았는데요.
구조체 배열값을 미리 다 넣어놓고,해당이름 치면 해당 주소가 출력되는간단한거에요.
근런데 search 함수내에strcmp를 써서 입력한 이름과 같으면 =0이되니까 주소를 출력하도록 조건문을 작성했습니다.
근데 실행이 되긴되는데 입력하는값마다 잘못 입력하셨습니다가 출력되네요. strcmp 이부분을 짜는걸 잘 모르겠습니다 .
가르쳐주세요 ㅜ 제가 초보라서아에 접근방법이 틀렸을수도 있을거같네요..어떻게 접근해야되고 하는방법좀 친절하게 가르쳐주시면 감사해요*/
#includestdio.h
#includestring.h
#define N 20 // 주소록 명수
struct addr
{
char name[30];
char region[30];
};
int search( struct addr A[ ], int n, char name[ ] )
{
int i;
for(i=0; in; i++)//주소록이 20개니까 20번만 돌린다.
{
if(strcmp(A[N].name,여기안에 뭘넣어야할지)==0)//이부분,,
{
printf(region = %s \n,A[N].region);
break;
}
else
{
return -1;
}
}
//구조체 배열(주소록) A, 주소록 크기 n, 찾고자 하는 이름 name을 받아,
//name이 저장된 원소의 index를 리턴한다. (name이 없다면 -1을 리턴한다.)
}
void main(void)
{
int k,n=0;
struct addr A[N] = { {김건모, 분당}, {장동건, 광주}, {김종국, 안양}, {유재석, 서울},
{박명수, 서울}, {조혜련, 안양}, {김강우, 인천}, {이효리, 수원}, {손담비, 의정부},
{정준하, 의왕}};
char name[20];
while ( 1 )
{
printf(이름을 입력하시오 : );
scanf(%s, name);
if (strcmp(name, 종료) == 0) break;
k = search( A, n, name );
if(k=-1)
{
printf(잘못입력하셨습니다.\n);
}
else
{
printf(이름 : %s,A[N].name);
printf(주소 : %s,A[N].region);
}
}
}