이름학번 학년 나이를 키보드로 입력받아 파일에 저장하는 프로그램을 작성하는건데
최대 5명까지 입력할 수 있어야함
근데 디버깅오류뜸
뭐지이거
#include <stdio.h>
#include <stdlib.h>
#define RECLEAN 36
#define FORMAT "%-20s%-10s%-2s%-4s"
FILE *fp;
void datawrite(int,char *, char *, char *, char *);
int main(void)
{
char name[20], id[10], year[2], age[4], y;
int i;
if ((fopen_s(&fp,"student.dat","wb") != 0)){
puts("파일읽기에러");
exit(1);
}
for(i=0;i<5;i++){
printf("이름을 입력하세요:");
gets_s(name,21);
printf("학번을 입력하세요:");
gets_s(id,11);
printf("학년을 입력하세요:");
gets_s(year, 3);
printf("나이를 입력하세요:");
gets_s(age, 5);
datawrite(i,&name[21], &id[11], &year[3], &age[5]);
printf("계속하시겠습니까? Y/N");
y=getchar();
fflush(stdin);
while(y == 'n'|| y == 'N' )
goto input;
}
fclose(fp);
input:
return 0;
}
void datawrite(int no,char*name, char*id, char*year, char*age)
{
fseek(fp, RECLEAN *no, SEEK_SET);
fprintf_s(fp, FORMAT, name, id, year, age);
}
댓글 0