본문 바로가기

카테고리 없음

열혈 604p

#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의 차이점을 잘 모르겠음.