열혈강의 연습문제24-1
치킨마루
음... 답이랑 많이 다르네요....
코드가 어이없게 길어진것같네요......
문제1.2.3를 한번에 넣어버리니 그런건가;;;
좀더 간결하게...좀
고수분들 답변을 기다리겠습니다~!!
#include stdio.h
int play(void); //연습문제 24-1-1
int play1(void);//연습문제 24-1-2
int play2(void);//연습문제 24-1-3
int main(void)
{
play();
play1();
play2();
return 0;
}
int play(void)//연습문제 24-1-1
{
int state;
char a[100];
char b[100];
char c[100];
//파일 열기
FILE* file=fopen(mystory.txt, wt);
if(file==NULL)
{
printf(file open error);
return 1;
}
printf(이름을 입력하세요 :);
scanf(%s, a);
fflush(stdin);//비움 작업
printf(주소를 입력하세요 :);
fgets(b, sizeof(b), stdin);
fflush(stdin);//비움 작업
printf(주민을 입력하세요 :);
scanf(%s, c);
printf(*****정보 출력*****\n);
printf(이름 : %s\n, a);
printf(주소 : %s, b);
printf(주민 : %s \n \n \n, c);
/*파일을 mystory.txt로 복사 */
fprintf(file, 이름 : %s\n, a);
fprintf(file, 주소 : %s, b);
fprintf(file, 주민 : %s\n, c);
/*파일을 mystory.txt로 복사 */
//파일 종료
state=fclose(file);
if(state!=0)
{
printf(file close error);
return 1;
}
/*연습문제 24-1-1 완료*/
return 0;
}
int play1(void)//연습문제 24-1-2
{
int state;
char a[100];
char b[100];
//파일 열기(이어붙이기 at사용)
FILE* file=fopen(mystory.txt, at);
if(file==NULL)
{
printf(file open error!);
return 1;
}
fflush(stdin);//입력버퍼를 비움
printf(취미 :);
fgets(a, sizeof(a), stdin);
fflush(stdin);//입력버퍼를 비움
printf(즐겨먹는 음식 :);
fgets(b, sizeof(b), stdin);
printf(\n \n \n \n);
//입력한걸 mystory.txt 로 이어붙이기
fprintf(file, 취미 : %s, a);
fprintf(file, 즐겨먹는 음식 : %s, b);
//완료~!!
//파일 종료
state=fclose(file);
if(state!=0)
{
printf(close file error!!);
return 1;
}
/*연습문제 24-1-2 완료~!*/
return 0;
}
int play2(void)//연습문제 24-1-3
{
int state;
char a[100];
//파일 오픈!!
FILE* file=fopen(mystory.txt, rt);
if(file==NULL)
{
printf(open file error!!);
return 1;
}
/*이건 몰라서 답을봄*/
printf(\mystory.txt\속에 있는 정보를 읽겠습니다.\n\n);
while(1)
{
fgets(a, sizeof(a), file);
if(feof(file)!=0)
break;
fputs(a, stdout);
}
//파일 종료
state=fclose(file);
if(state!=0)
{
printf(file close error!!);
return 1;
}
//연습문제 24-1-3 완료~!
return 0;
}
-
빛초롱 2023-08-28
수다님 답변 감사합니다..^^
그나저나 어딜 빼야될지 참 고민이네요..
전부 필요한것같은 -
방방 2023-08-28
코딩이 길어졌다는건가요? 연습문제랑 답이 틀린거는 프로그램의 구현에있어서 정답이라는건
딱히 없다는걸로 알고있습니다. 소스자체의 가독성을 높이고 싶으시다면 자신이 직접 필요없는부분이나
고칠 부분을 찾는것도 공부 방법이라고 생각합니다.