도와주세요. 구조체, file I/O관련 입니다.
수국
질문 제목 : 도와주세요.질문 요약 :이번 학기 마지막 숙제 중인데...다른 시험이 코앞이라 머리에 들어오지 않네요. 이제 구조체 간신히 이해하고
밑에 실행해보니 grade.txt 파일에 두명의 정보를 담는것 까지는 성공했지만, 그 이후가 너무 힘드네요...질문 내용 :
학생의 정보를 담을수 있는 구조체를 만들고 이를 이용하여 구현하시오
FILE I/O 기능을 이용하여 기존의 학생의 정보를 입력(grade.txt)을 받고 insert, delete기능을 이용하여 편집
사용장에 의해 업데이트 된 정보가 grade2.txt로 저장될 수 있는 코드가 구현 되어야 함. grade.txt와 grade2.txt의 저장 형식은 일치해야함.
프로그램의 기능은 총 6가지로 load, save, insert, delete, search, quit가 구현되어야 하며 search 기능은 학생의 이름으로 검색하여 해당 학생에 대한 성적 정보가 출력
grade.txt 내용
num: 2
name korean english math science
LJS 93 45 35 78
PSH 70 60 50 40지금까지 완전 하나 하나 책보면서 만들어 봤는데, file I/O부분은 이해가 안되네요 ㅜㅜ
#includestdio.h
#includestdlib.h
#define SIZE 2
struct student{
int num;
char name[4];
int korean;
int english;
int math;
int science;
};
int main (void)
{
FILE *fp;
fp=fopen(grade.txt,w);
struct student contents[SIZE]={
{1,LJS,93,45,35,78},
{2,PSH,70,60,50,40}
};
fprintf(fp,%d %s %d %d %d %d\n,contents[0].num,contents[0].name,contents[0].korean,contents[0].english,contents[0].math,contents[0].science);
fprintf(fp,%d %s %d %d %d %d\n,contents[1].num,contents[1].name,contents[1].korean,contents[1].english,contents[1].math,contents[1].science);
int n=0;
printf(********원하시는 작업의 번호를 입력하세요********\n);
printf((1.load 2.save 3.insert 4.delete 5.search 6.quit)\n);
scanf(%d,&n);
-----------------여기까지 해서 grade.txt에 두사람의 정보가 입력 되었는데요. 그 이후 작업은 못하겠네요...시간은 없고 ㅜㅜ 이해는 안가고...
switch(n)
{
case 1:
FILE *fp;
fp =fopen(grade.txt,r);
break;
case 2:
fp=fopen(grade.txt,r);
fclose(fp);
break;
case 3:
fp =fopen(grade.txt,a);
break;
case 4:
//delete
break;
case 5:
//search
break;
case 6: //quit
break;
default:
printf(잘못된 입력입니다.\n);
break;
}
return 0;
}
한학기 동안 돌아가지 않는 머리 가지고 열심히 수업 따라 왔는데 마지막 고비인것 같습니다.
조언부탁드릴게요
-
발랄한그1녀
네 알겠습니다.
-
마징가
정확히 뭘 원하시는 지를 모르겠네요....
파일입출력이 어렵다면, 나머지라도 일단 구현하시는게 좋지않을까요.
파일입력 - 변수로 정리 - 파일출력
에서 \변수로 정리\부분만 일단 정리하고 올리심이... -_- ;
그게 잘 모르겠는 거라면 보다 상세히 물어보시는 편이 답변받기 빠를겁니다;