메세지 출력문제...
빛길
질문 제목 : 버그.질문 요약 :1. 이름과 번호를 입력받아 저장함.
2. 이름 검색시, 구조체 멤버안에 이름이 들어있으면 이름과 번호를 출력하고 없으면 조회불가를 출력하려함.
질문 및 문제점: 3. 이름이들어있어도, 이름번호 출력과함께 조회불가까지 함께출력됨.
질문 내용 :
이름이 없으면 조회불가가 제대로 뜨는데. 있어도 조회불가가 함께 떠버리네요.
if문이랑 이것저것 만져봐도 해결이 안됩니다.
원인이 무엇인지 궁금하네요.
#include stdio.h
#includestring.h
typedef struct be{
char name[50];
char num[50];
} arr;
int searchname(arr *arr, char search[]);
int main(void)
{
int i;
arr arr[3];
char search[50];
for(i=0; i3; i++){
printf(이름입력: );
gets(arr[i].name);
printf(번호입력: );
gets(arr[i].num);}while(1){
printf(\n이름을 검색해라: );
gets(search);
if( searchname(arr, search) == -1)
printf(조회불가\n\n);
}
return 0;
}int searchname(arr *arr, char search[])
{
int i;
for(i=0; i3; i++)
if( strcmp( arr[i].name , search) == 0)
printf(%s의 번호는 %s이다.\n\n, search, arr[i].num);if ( strcmp( arr[i].name , search) != 0)
return -1;
return 0;
}