실행 결과가 이상해요..
하루
#include stdio.h
#include string.h
#include malloc.h
#define book_num 3
#define STR_LEN 50
typedef struct _bookInfo
{
char bookTitle[STR_LEN];
char bookPub[STR_LEN];
int bookPrice;
}bookInfo;
void namesun(bookInfo ** pbook);
int main(void)
{
bookInfo * book[book_num];
bookInfo * pbook;
pbook=(bookInfo*)malloc(sizeof(bookInfo));
puts(********도서 정보 입력**********);
for(int i=0;ibook_num;i++)
{
printf(%d번째 도서 입력\n,i+1);
fputs(도서제목:,stdout);
gets_s(pbook-bookTitle);
fputs(출판사 명 :,stdout);
gets_s(pbook-bookPub);
fputs(도서 가격:,stdout);
scanf_s(%d,&pbook-bookPrice);
fflush(stdin);
printf(%d번째 입력 완료...,i+1);
book[i]=pbook;
}
namesun(book);
puts(도서 정보 출력);
for(int i=0;ibook_num;i++){
printf(%d번재 도서 정보 출력\n,i+1);
printf(도서 제목:%s\n,book[i]-bookTitle);
printf(출판사명:%s\n,book[i]-bookPub);
printf(도서 가격:%d\n,book[i]-bookPrice);
}
return 0;
}
void namesun(bookInfo ** pbook)
{
bookInfo * book;
for(int j=0;jbook_num-1;j++)
for(int i=0;ibook_num-j-1;i++)
{
if(strcmp(pbook[i]-bookTitle,pbook[i+1]-bookTitle)0)
{
book=pbook[i];
pbook[i]=pbook[i+1];
pbook[i+1]=book;
}
}
}
책 이름이랑 출판사랑 가격 입력하구
책 이름별로 출력하는 건데요..
화면 처럼 마지막에 저장된 것만 모두 출력하네요...어디가 문젤까요 ㅠㅠ