텍스트파일 입출력
나오
질문 제목 : 텍스트 파일 입출력에 대해서 + 배열 삭제그러니까 제 능력으론 힘들어서 올려보아요....
#include stdio.h
#include string.h
#include stdlib.h
struct acc
{
int code; // 책 번호
int bun; // 분류 번호
char name[20]; // 책이름
}acc[10];
int accnum = 0; // 저장된 수
void menu(); // 메뉴
void make(); // 등록
void showall(); // 화면보기
void dep(); // 수정
void del(); // 삭제
int main()
{
int cho;
while(1)
{
menu();
printf( 선택 );
scanf(%d, &cho);
switch(cho)
{
case 1 : make();
break;
case 2 : showall();
break;
case 3 : dep();
break;
case 4 : del();
break;
case 5 : break;
}
if(cho == 5)
break;
}
return 0;
}
void menu()
{
printf( 1. 등록 \n);
printf( 2. 출력 \n);
printf( 3. 수정 \n);
printf( 4. 삭제 \n);
printf( 5. 종료 \n);
}
void make() //등록
{
file *fp;
fp = fopen(dol.txt, at);
printf( 책 번호 \n);
scanf(%d, &acc[accnum].code);
fprintf(fp, %d \n, acc[accnum].code);
printf( 분류 번호 \n);
scanf(%d, &acc[accnum].bun);
fprintf(fp, %d \n, acc[accnum].bun);
printf( 제목 \n);
scanf(%s, acc[accnum].name);
fprintf(fp, %s \n, acc[accnum].name);
fclose(fp);
accnum++;
return;
}
void showall() // 출력
{
int i;
file *fp;
fp = fopen(dol.txt, rt);
for(i=0; iaccnum; i++)
{
fprintf(stdout, %d, acc[i].code);
fputs(\n, stdout);
fprintf(stdout, %d, acc[i].bun);
fputs(\n, stdout);
fputs(acc[i].name, stdout);
fputs(\n, stdout);
}
fclose(fp);
}
void dep(void) // 수정
{
int bun, code, i, j;
char name[20];
file *fp;
fp=fopen(dol.txt, a+);
printf(찾을 책의 코드 :);
scanf(%d, &code);
for(i=0; iaccnum; i++)
{
if(acc[i].code == code)
{
j=i;
printf( 코드 : );
scanf(%d, &code);
acc[i].code = code;
fprintf(fp, %d \n, acc[i].code);
printf( 분류번호 : );
scanf(%d, &bun);
acc[i].bun = bun;
fprintf(fp, %d \n, acc[i].bun);
printf( 책이름 : );
scanf(%s, name);
strcpy(acc[i].name, name);
fprintf(fp, %s \n, acc[i].name);
}
break;
}
if(acc[j].code != code)
printf( 못찾음 \n);
fclose(fp);
}
void del() // 삭제
{
file *fp;
fp=fopen(dol.txt, a+);
int i, j, del;
printf( 삭제할 코드명 : );
scanf( %d , &del);
for(i=0; iaccnum; i++);
{
if(acc[i].code == del)
{
acc[i].code = 0;
fprintf(fp, %d, acc[i].code);
acc[i].bun = 0;
fprintf(fp, %d, acc[i].bun);
strcpy(acc[i].name, \0);
fprintf(fp, %s, acc[i].name);
j=i;
}
}
if(acc[j].code != del)
printf( 못찾음 \n);
fclose(fp);
}
질문 내용 : 텍스트로 읽어서 입력 or 수정 or 삭제후 다시 텍스트로 저장하는건데
제 능력으론........ ㅠㅜㅠ
-
앵겨쭈 2023-12-30
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ아 케토라일님 글 재밌게 쓰시네요 ㅋㅋㅋㅋㅋ물어보라면서 안알려주는 불편한 진실 ㅋㅋㅋ
원하시던 답변이 아니라 죄송합니다.. -
파란 2023-12-30
선배왈 : 텍스트 읽는 부분이 없다고만 했음
더이상 안알려줌..... 삭제부분도 컴파일시 오류는없지만 실행시 강제 종료되구요
모르면 물어보라면서 안갈켜주는 이 불편한 진실 -
누리별 2023-12-30
적어도 어디가 힘들고 어디를 잘 모르겠다고 상세하게 말씀하시면 답변이 더 잘 달릴지도 모릅니다.