나도 코딩 C언어 자가진단 9장

https://youtu.be/-KT67Fpro8o

// 나도 코딩 c언어 9장 
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

struct book{
  int id; //번호(id)
  char *title; //제목 
  int available; //0:대출중, 1:대출가능 
};

void print_books(struct book *books); //함수선언 

int main(void)
{
  struct book books(4)={ //도서 4권 정의, 처음에는 모두 대출 가능 상태 
  {1,"c 입문편", 1}, {2, "파이썬 기본편", 1}, {3, "자바 기본편", 1}, {4,"파이썬 중급편",1}
  };
  int input; //사용자 입력을 저장할 변수 
  while(1){
    print_books(books); //전체 도서 정보 출력 함수 호출 
    printf("대출/반납할 책 번호를 입력하세요.(종료 : -1) : ");
    scanf("%d", &input);//사용자 입력
    if(input==-1){
      printf("프로그램을 종료합니다.\n");
      break; //프로그램 종료 
    }
    if (input<1 ||input >4){
      printf("잘못된 입력입니다.\n");
      continue; //계속 진행 
    }
    input -=1;
    if(books(input).available ==0){//대출 중인 도서이면 반납처리 
      printf("'%s' 반납이 완료됬습니다.\n", books(input).title);
      books(input).available = 1;
    }
    else{
      printf("'%s' 대출이 완료됬습니다.\n", books(input).title);
      books(input).available = 0;
    }
  }

  
  return 0;
}
//전체 도서 정보 출력. books 배열은 구조체 변수로 출력 
void print_books(struct book *books){//함수 정의 
  char * available = "대출 가능";
  char * unavailable = "대출 중";
  printf("전체 도서 목록입니다.\n");
  printf("-------------------------\n");
  for(int i=0; i<4;i++){
    printf("%d. %-16s ", books(i).id, books(i).title); //도서번호, 도서제목 출력 
    //대출여부 출력 
    if(books(i).available ==1){
      printf("(%s)\n", available);
    }
    else{
      printf("(%s)\n", unavailable);

    }
  }
 printf("-------------------------\n");

}

나도코딩의 구조 강의를 따라했습니다. 여전히 어려운 구조..