주소록하는데 검색부분이 안대여 도와주세여 ㅠ
콘라드
질문 제목 :
주소록하는데 검색부분이 안대여 도와주세여 ㅠ
오류는 안뜨는데 검색부분에서 막히네요 ㅠㅠ 어찌해야될지 ㅠ
질문 내용 :
#include stdio.h
#include string.h
#define pf file* stream
#define txt c:\\data5.txt
void save(void);
void sc(void);
void search(void); //함수 //
typedef struct{
char name[40]; //구조체 선언//
char addr[40];
char tel[40];
char abo[40];
}list;
int main(void)
{
int a;
while(1)
{
printf(----------메뉴------------\n);
printf([1].주소록 입력 \n);
printf([2].주소록 출력 \n);
printf([3].검색 \n);
printf([4].정렬 \n);
printf([5].종료 \n);
printf(--------------------------\n);
printf(메뉴를 선택하시오 :);
scanf(%d, &a);
switch(a)
{
case 1:
save();
break;
case 2:
sc();
break;
case 3:
search();
break;
case 4:
break;
case 5:
exit(0);
break;
}
}
return 0;
}
void save(void)
{
pf = fopen(txt, wt);
list parray[5];
int i;
for (i=0; i5; i++)
{
printf(이름.주소, 전화번호를 입력하시오 :);
fscanf(stdin,%s %s %s, &parray[i].name, &parray[i].addr, &parray[i].tel);
}
printf(\n 입력 결과는 다음과 같습니다.\n);
printf(\n -------------------------\n);
for (i=0; i5; i++)
{
fprintf(stream,%s %s %s \n, parray[i].name, parray[i].addr, parray[i].tel);
fprintf(stdout,%s %s %s \n, parray[i].name, parray[i].addr, parray[i].tel);
}
printf(\n ----------------------------\n);
fclose(stream);
}
void sc(void)
{
pf = fopen(txt, rt);
list parray[5];
printf(출력결과 값은 다음과 같습니다.. \n);
while(1)
{
fgets(parray, 3, stream);
fputs(parray, stdout);
if(feof(stream)!=0)
break;
}
}
void search(void)
{
pf = fopen(txt, rt);
list parray[5];
int i;
char str[40]; printf(찾을이름입력\n);
scanf(%s,str);//찾을 이름을 입력 받음
for(i=0;i 5;i++)
{
if(strcmp(parray[i].name , str)==0)//입력 받은 이름이랑 같은 객체만 출력
printf(%s %s %s %s \n,parray[i].name,parray[i].addr,parray[i].tel,parray[i].abo);
}
fclose(stream);
}