학생의 성적 입출력 관련 코드
미쁘다
FILE I/O를 이용해서 학생의 성적을 출력해야하는데,
문제가 load, save, insert, delete, search, quit 을 수행하는 프로그램을 만드는건데요
insert 같은거는 학생 이름, 성적같은거 추가받아서 save로 저장해서 출력하는거구
delete랑 search는 말그대로구요, *delete(이름 입력하면 그이름에 해당하는 정보 삭제)
우선 제가 load save quit은 대충 짜봤습니다. 밑에코드가 제가 짠거구요, 질문은 밑에서 하겠습니다.
#include stdio.h.
#include string.h
#include stdlib.h
#define MAX 255
#define person 10
struct student{
int num, korean, english, math, science;
char name[MAX];
};
int load(struct student *p);
void save(struct student *p);
void ins();
void del();
int sear(struct student *p, int i);
int main()
{
struct student data[person], *p;
p = data;
int select, i;
printf(=================Address Management==================\n1. Insert 2. Delete 3. Search 4. Quit 5. Load 6. Save\n=====================================================\n);
printf(실행하고자 하는 프로그램의 숫자 입력 : \n);
while(1)
{
scanf(%d, &select);
switch(select){
case 3:
sear(p,i);
break;
case 4:
printf(종료\n);
return 0;
case 5:
load(p);
break;
case 6:
save(p);
break;
}
}
return 0;
}
int sear(struct student *p, int i)
{
printf(찾고자 하는 학생의 이름입력\n);
scanf(%d, &i);
return *p;
}
int load(struct student *p)
{
int i=0;
FILE *f = fopen(grade.txt, r);
while(1)
{
fscanf(f, %d, &(p+i)-num);
if((p+i)-num !=0)
{
fscanf(f, %s %d %d %d %d, &(p+i)-name, &(p+i)-korean, &(p+i)-english, &(p+i)-math, &(p+i)-science);
}
else
{
if(feof(f) != 0)
break;
}
i++;
}
printf(데이터 불러오기 완료\n);
fclose(f);
return 0;
}
void save(struct student *p)
{
int i;
FILE *f = fopen(grade2.txt, w);
fprintf(f, korean english math science\n);
for(i = 6; iperson; i++)
{
if((p+i)-num!=0)
fprintf(f, %s %d %d %d %d\n, (p+i)-name, (p+i)-korean, (p+i)-english, (p+i)-math, (p+i)-science);
else
fprintf(f, %d\n, (p+i)-num);
}
printf(저장 완료\n);
fclose(f);
}
아참 grade.txt 파일은 대충
num : 2
name korean english math science
LSH ~~
KFJ ~~ ( 과목성적)
이런식으로 되어 있습니다.
위처럼 소스를 짜보긴 했는데 다이해하고 짠건아니고 인터넷 보면서 맞는데로 한번 짜본거거든요, 저것도 돌려보니 약간의 불안함이 있습니다만..
어쨋든 이 이상 진도를 나가기가 너무 힘듭니다. 나머지 search, insert , delete같은 기능을 어떻게 추가해야 할지도 모르겠구요..
충분히 오랫동안 했는데도 겨우 이정도 진도를 나갔네요 ㅠㅠ 시간이좀 많이많았으면 제가 공부하면서 다시했을텐데 시간이 너무촉박합니다 내일까지라서요 ㅠㅠ 어떻게 해야할까요
조언좀 해주시거나 코드좀 수정해주셨으면 합니다..
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2690344 | 일본어 주석 깨짐 문제 (3) | 연하얀 | 2025-04-04 |
2690314 | 암호문 만들기 -비제네르- | 이퓨리한나 | 2025-04-03 |
2690292 | 왕초보자의 질문!!!!!! 도와주세요 (1) | 하랑 | 2025-04-03 |
2690269 | 정올 문제 인데.. 흠 | 반월 | 2025-04-03 |
2690237 | sizeof에서 short형을 썻는데 왜 4byte가 나올까요? (1) | 바나나 | 2025-04-03 |
2690183 | 문자열과 포인트 비교 (2) | 미즈 | 2025-04-02 |
2690154 | a -48 ? | 희미한눈물 | 2025-04-02 |
2690094 | 테트리스 질문요. | 지후 | 2025-04-01 |
2690066 | 문자열비교!! (1) | 매디 | 2025-04-01 |
2689888 | 좀도와주세요;; ㅠㅠ | 사람 | 2025-03-30 |
2689856 | 메뉴 그리는 거 질문 | 나라빛 | 2025-03-30 |
2689831 | c언어 프로그램 추천 | 하연 | 2025-03-30 |
2689801 | c언어 time.h에서 작동이 중지되었습니다. | 하람 | 2025-03-30 |
2689772 | 2차원 배열의 배열명에 대해서.. | 옆집꼬마야 | 2025-03-29 |
2689740 | 게임 TCP소켓 질문 (2) | 불꾼 | 2025-03-29 |
2689711 | 반복문 모래시계 | 한뎃집 | 2025-03-29 |
2689685 | 경우의 수에 따른 결과 처리 질문드립니다. (2) | 다흰 | 2025-03-29 |
2689655 | .exe에 아이콘 넣는 법좀 알려주세요 | 연하얀 | 2025-03-28 |
2689631 | #define 전처리문에 대해서 (2) | 사랑은아픔 | 2025-03-28 |
2689580 | 다시 물어볼게요,,, 고수님들 | 가욋길 | 2025-03-28 |