파일 입출력 질문...... 시급합니다.
늘솔길
질문 제목 : 파일 입출력 질문...... 시급합니다.아래 소스보고 무엇이 문제인지..질문 내용 : 아래 소스처럼 했는데.. if문 2번으로 실행해서 파일을 만드되 1번으로 보기를 하면 에러뜨면서 안됩니다.. 어떻게 해야하죠? 시급합니다.. ㅠ#includestdio.h
#includeconio.h
#includestdlib.h
#includeprocess.h
void main()
{
int a1;
char *z;
file *input, *output;
puts(성적 관리 프로그램에 오신걸 환영합니다.);
puts(할 수 있는 것들);
puts(1. 성적 보기);
puts(2. 성적 관리);
puts(3. 추가);
printf(할 번호를 입력: ); clear: scanf(%d,&a1);
if(a1==1)
{
z=성적 보기;
printf(%s를 선택하셨습니다.\n,z);
file *input, *output;
char s_name[15];
int s_no, s_korean,s_math,s_english,s_society,s_science,s_tot;
float s_ave;
if((input=fopen(sungguk.dat,r))==null)
{
printf(성적 입력이 안되어있습니다.\n성적 관리를 통해 성적을 입력하십시오.\n);
exit(0);
}
output=fopen(result.dat,w);
puts(성적표);
while(fscanf(input,%s%d%d%d%d%d,s_name,&s_korean,&s_math,&s_english,&s_society,&s_science)!=eof)
{
s_tot=s_korean+s_math+s_english+s_society+s_science;
s_ave=s_tot/5.0;
fprintf(output,%s %d %d %d %d %d %d %.2f\n,s_no,s_name,s_math,s_english,s_society,s_science,s_tot,s_ave);
}
fclose(input);
fclose(output);
/*file * fp = fopen(sungguk.dat,r);
file * fo = fopen(result.dat,r);
int avg=0; // 평균
int result=0; // 총합
int kor=0; // 국어
int mat=0; // 수학
int eng=0; // 영어
int soc=0; // 사회
int sci=0; // 과학
char name[10]; // 이름
printf(\n성적 출력\n);
printf(%s 님의 성적입니다. \n국어 성적은 %d점\n수학 성적은 %d점\n영어 성적은 %d점\n사회 성적은 %d점\n과학 성적은 %d점\n총합 %d점\n평균 %d점\n, name, kor, mat, eng, soc, sci, result, avg);
printf(끝났습니다.);
fclose(fp);
fclose(fo);*/
}
else if(a1==2)
{
z=성적 관리;
printf(%s를 선택하셨습니다.\n,z);
file * fp,*fo;
if((fp=fopen(sungguk.dat,r))==null)
{
printf(처음으로 프로그램을 시작하셨습니다.\n성적 입력을 시작합니다.\n);
fp = fopen(sungguk.dat,w);
fo = fopen(result.dat,w);
int a;
int avg=0; // 평균
int result=0; // 총합
int kor=0; // 국어
int mat=0; // 수학
int eng=0; // 영어
int soc=0; // 사회
int sci=0; // 과학
char name[10]; // 이름printf(성적 입력\n\n);
printf(이름을 입력해 주세요. : );
scanf(%s, &name);
printf(\n국어 성적을 입력해 주세요. : );
scanf(%d, &kor);
printf(\n수학 성적을 입력해 주세요. : );
scanf(%d, &mat);
printf(\n영어 성적을 입력해 주세요. : );
scanf(%d, &eng);
printf(\n사회 성적을 입력해 주세요. : );
scanf(%d, &soc);
printf(\n과학 성적을 입력해 주세요. : );
scanf(%d, &sci);
result = (eng + kor + mat + sci + soc);
avg = result / 5;
printf(\n성적 입력이 끝났습니다. 자동으로 성적 출력으로 들어갑니다.\n\n);
printf(\n성적 출력\n);
printf(%s 님의 성적입니다. \n국어 성적은 %d점\n수학 성적은 %d점\n영어 성적은 %d점\n사회 성적은 %d점\n과학 성적은 %d점\n총합 %d점\n평균 %d점\n, name, kor, mat, eng, soc, sci, result, avg);
printf(끝났습니다.);
fprintf(fp,%s\n,name);
fprintf(fp,%d\n,kor);
fprintf(fp,%d\n,mat);
fprintf(fp,%d\n,eng);
fprintf(fp,%d\n,soc);
fprintf(fp,%d\n,sci);
//fprintf(fo,%s 님의 성적입니다. \n국어 성적은 %d점\n수학 성적은 %d점\n영어 성적은 %d점\n사회 성적은 %d점\n과학 성적은 %d점\n총합 %d점\n평균 %d점\n, name, kor, mat, eng, soc, sci, result, avg);
fclose(fp);
fclose(fo);
}
else
{
fp = fopen(sungguk.dat,w);
fo = fopen(result.dat,w);
int a;
int avg=0; // 평균
int result=0; // 총합
int kor=0; // 국어
int mat=int mat=0; // 수학
int eng=0; // 영어
int soc=0; // 사회
int sci=0; // 과학
char name[10]; // 이름printf(성적 입력\n\n);
printf(이름을 입력해 주세요. : );
scanf(%s, &name);
printf(\n국어 성적을 입력해 주세요. : );
scanf(%d, &kor);
printf(\n수학 성적을 입력해 주세요. : );
scanf(%d, &mat);
printf(\n영어 성적을 입력해 주세요. : );
scanf(%d, &eng);
printf(\n사회 성적을 입력해 주세요. : );
scanf(%d, &soc);
printf(\n과학 성적을 입력해 주세요. : );
scanf(%d, &sci);
result = (eng + kor + mat + sci + soc);
avg = result / 5;
printf(\n성적 입력이 끝났습니다. 자동으로 성적 출력으로 들어갑니다.\n\n);
printf(\n성적 출력\n);
printf(%s 님의 성적입니다. \n국어 성적은 %d점\n수학 성적은 %d점\n영어 성적은 %d점\n사회 성적은 %d점\n과학 성적은 %d점\n총합 %d점\n평균 %d점\n, name, kor, mat, eng, soc, sci, result, avg);
printf(끝났습니다.);
fprintf(fp,%s\n,name);
fprintf(fp,%d\n,kor);
fprintf(fp,%d\n,mat);
fprintf(fp,%d\n,eng);
fprintf(fp,%d\n,soc);
fprintf(fp,%d\n,sci);
fclose(fp);
fclose(fo);
}