학생의 성적 입출력 관련 코드
미쁘다
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같은 기능을 어떻게 추가해야 할지도 모르겠구요..
충분히 오랫동안 했는데도 겨우 이정도 진도를 나갔네요 ㅠㅠ 시간이좀 많이많았으면 제가 공부하면서 다시했을텐데 시간이 너무촉박합니다 내일까지라서요 ㅠㅠ 어떻게 해야할까요
조언좀 해주시거나 코드좀 수정해주셨으면 합니다..
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |
2675356 | 2진수를 10진수로 바꾸려고 하는데 막히네요.. | 풀잎 | 2024-11-17 |
2675297 | Prity 비트 발생기 | 한란 | 2024-11-16 |
2675249 | C책 좀 추천해 주세요 (2) | 딸기우유 | 2024-11-16 |
2675193 | 연습문제 17-1 질문입니다. | 한별나라 | 2024-11-15 |
2675172 | 소스점 | 아이뻐 | 2024-11-15 |
2675146 | 단순 연결 리스트인데 출력결과가 이상하게 나와요. | 찬늘봄 | 2024-11-15 |
2675123 | c언어에서 16진수의 사용에 대한 질문입니다.(정확한답만 달아주시길..) (8) | 데이비드 | 2024-11-15 |