c언어 질문점요..
혜린
c언어 질문점요..지금 1~5번 있는데, 1, 5번만 해결된 상태라 ㅠ질문 내용 :
아래가 소스인데요, 2번하고 3번좀 건드려는 밧는데 - _-;; 안되네요;;
#include stdio.h
#include stdlib.h
#include string.h
void init();
void print();
void input();
void nosearch();
void telsearch();
typedef struct address {
int no;
char name[20];
char telno[14];
char email[50];
} address;
address addr[100];
int cnt;
char *fname = result.dat;
file *fp;
int main() {
int op;
init();
while(1) {
printf(\n 작업을 선택하세요: );
printf(\n 1 목록 2 등록 3 번호조회 4 전화번호조회 5 종료 );
scanf(%d,&op);
switch(op) {
case 1 : print();
break;
case 2 : input();
break;
case 3 : nosearch();
break;
case 4 : telsearch();
break;
case 5 : return 0;
}
}
}
void init() {
//파일에서 읽어서 구조체 배열에 저장
address adr;
fp = fopen(address.txt, r);
fscanf(fp, %d %s %s %s, &adr.no, adr.name, adr.telno, adr.email);
}
void print() {
//전체 출력
address adr;
if((fp = fopen(address.txt, r)) == null)
{
printf(파일이 열리지 않습니다.\n);
exit(1);
}
fscanf(fp, %d %s %s %s, &adr.no, adr.name, adr.telno, adr.email);
printf(번호 이름 전화번호 이메일\n);
printf(%d %s %s %s, adr.no, adr.name, adr.telno, adr.email);
fclose(fp);
}
void input() {
//구조체를 사용하여 정보를 입력받아 파일에 추가
address adr;
fp=fopen(address.txt, a+t);
//while(1){
//rewind();
cnt = scanf(%d %s %s %s, &adr.no, &adr.name, &adr.telno, &adr.email);
fscanf(fp, %d %s %s %s,&adr.no, adr.name, adr.telno, adr.email);
if (cnt == 0 || cnt == eof) //break;
fwrite(&adr, sizeof(address), 1, fp); /* 기록할 때는 구조체 크기만큼 */
fclose(fp);
//}
}
void nosearch() {
address adr;
int num;
printf(\n 조회할 번호를 입력하세요 );
scanf(%d,num);
//fseek 이용해서 찾아가기 (구조체크기 * num)
//정보출력
fseek(fp,0l,seek_set);
printf(%s, adr.telno);
}
void telsearch() {
char search[14];
printf(\n 조회할 전화번호를 입력하세요 );
scanf(%s,search);
//서치함수를 사용해도 되고 직접 구현해도 됨
//정보출력
}