입출력소스코드 사용자정의함수를 사용해서 나타내기 도움부탁드립니다!!
이름이없다고
질문 제목 : 파일입출력 소스코드 --사용자정의함수 써서 간단하게일단 코드는 txt 내용을 구조체에 저장하고
저장된 구조체에서 뽑아서 문제를 출제하는 코드 일부입니다질문 내용 :
소스 코드 를 짜고 있는데 너무 지저분해서 사용자 정의 함수로 해보려고 합니다,
일단 코드는 txt 내용을 구조체에 저장하고
저장된 구조체에서 뽑아서 문제를 출제하는 코드 일부입니다.
여기서 메인 함수에 있는 내용을
사용자 정의 함수를 써서 하는 코드로 바꾸고 싶은대
잘 되지가 않네요.
고수님들 부탁드립니다 !!
fp = fopen( day1.txt , r );
i=0;
while(!feof(fp)) //텍스트 끝까지 구조체에 저장
{
fscanf(fp,%s\n%s, day1[i].spelling , day1[i].mean);
i++;
}
이부분을 사용자 정의 함수로 지정하면 메인함수에서 day1구조체가 없다고 하고 그러네요 ; #include stdio.h
#include string.h
#include time.h
#include stdlib.h
struct voca{
char spelling[100];
char mean[100];
};
int information(void);
void main(void)
{
int j,k,i,x,y,l,cnt=0;
char *a[300],*c[300],b[200][300];
char d[100],num[300];
FILE *fp;
voca day1[300];
fp = fopen( day1.txt , r );
i=0;
while(!feof(fp)) //텍스트 끝까지 구조체에 저장
{
fscanf(fp,%s\n%s, day1[i].spelling , day1[i].mean);
i++;
}
printf(┌──────────────────────────┐\n);
printf(│ 몇 문제를 출제하시겠습니까? │ \n);
printf(└──────────────────────────┘\n);
scanf(%d,&y);
srand((unsigned int)time(NULL));
for(l=0;ly; )
{
k=rand()%i;
for(j=0; j l; j++)
if(num[j]==k) break; //난수가 중복안되게함
if (l==j)
{
a[l]=day1[k].spelling;
c[l]=day1[k].mean;
num[l++]=k;
}
}
for(l=0;ly;l++)
{
printf(%d번:%s의 뜻을 입력하시요\n,l+1,a[l]);
fflush(stdin);
gets(d); //입력 글자
strcpy( b[l], d );
memset(d, 0, sizeof(d));
}
printf( ===========문제 답=========== \n);
for(l=0;ly;l++)
{
printf(%d번:%s의 뜻 %s\n,l+1,a[l],c[l]);
}
}////////day1.txt 내용은 (구조체에 저장할때 엔터로 구분해놔서 이렇게 만들었습니다.)
applicant
지원자,신청자
apprehensive
걱정하는,염려하는
aptitude
재능,소질
associate
관련시키다
bilingual2
개국어를구사하는
broad
폭넓은
candidate
지원자,후보자
certification
증명서,증명
commensurate
비례한,액수가상응하는
confidence
확신,자신;신임
consultant
고문,컨설턴트
degree
학위
eligible
자격이있는,적격의
employment
고용
.
.
.
.