#include <stdio.h>
int main(void)
{
typedef struct{
char AuthorName[15];
char BookName[60];
char Pages[10];//사실 이거는 인트로 해서 해결책을 내야 할 껄?
}BookInfo;
BookInfo BookInfoArr[3];
int i,j=0;
printf("도서정보입력 \n");
for(i=0;i<3;i++){
printf("저자 :");gets(BookInfoArr[i].AuthorName);//이거 설마 스캔에프 함수가 문제인가? 스트링 못받아서?
printf("제목 :");gets(BookInfoArr[i].BookName);//gets쓰면 해결되는 문제 아님?
printf("페이지 수 :");gets(BookInfoArr[i].Pages);
}
for(j=0;j<3;j++){
printf("book %d \n",j+1);
printf("저자 :");puts(BookInfoArr[j].AuthorName);
printf("제목 :");puts(BookInfoArr[j].BookName);
printf("페이지 수 :");puts(BookInfoArr[j].Pages);//사실 fputs이런거 써야 코드의 안정성 올라간다고 더 좋아할 껄?
}
return 0;
}
//구조체 배열이 뭐지..
//이거 왜 scanf는 안됨?
일단 구조체 선언부터 안보고 못하겠더라 그런데 하면서 익숙해질 듯?
구조체 배열은 배운적이 없다고 생각했는데 당연히 배웠더라
사실 구조체 멤버중에 페이지는 int로 해야할 것 같은데 그러면 귀찮아지고, 어차피 답만 나오면 되어서 안하게 되더라. 이래서 누군가 평가하는 사람이 필요한 거 같긴하다.
gets나 puts 대신에 fgets,fputs 쓰는 것도 누가 평가해줘야 쓸 거 같다.
그리고 scanf는 문자열을 못받는다? 공백 포함한 문자열을 못받는다? 뭐 이런 이야기 들은 거 같은데, 사실 걔하고 fputs혹은 puts의 차이점을 잘 모르겠음.