Code:
void add_a_book (BOOK book_array[])
{



	int i=0;

 	while ( book_array[i].number != 0 && i < SIZE )
   {
	  i++;
   }

	if ( i == SIZE )
	  {
   printf("\nSorry, the database is full\n");
    }
	else
	{
	  printf( "\nBook Number (1 to 3 digits, except 0) : " );
	  do
		 scanf( "%d",&book_array[i].number );

	  while (book_array[i].number <= 0 );

      printf("\nBook Name (Maximum 30 characters) : " );
	  scanf("%s",&book_array[i].name );
      fflush(stdin);
      printf("\nBook Status 1=(Y)es or 2=(N)o : " );
      fflush(stdin);
      scanf("%d",&book_array[i].status );
      fflush(stdin);
	}



}
Code:
void search_code (BOOK book_array[])
{

    int search_database();
	int book_number;
	int pos ;

	/* An employee is marked as "deleted" from the database
		by placing a 0 in the employee number.             */

	/* First get the employee number. */
	printf("Book Number to Display (1 to 3 digits, except 0) :");
	do
	  scanf( "%3d",&book_number );
	while ( book_number <= 0 ) ;


	/* Find the position in the database of this employee. */
	pos = search_database( book_array, book_number );

	/* Have you come to the end of the database without finding the
		employee number?                                   */
	if ( pos == SIZE )  /* yes */
	  printf( "This Book is not in the database\n" );
	else                       /* no  */
	  {
		 printf("Number Of Book: %3d\n Name Of Book: %s\n Status Of Book: %c", book_array[pos].number, book_array[pos].name, book_array[pos].status   );
         fflush(stdin);
         system("PAUSE");


	  }


}
the prob now is that the status is giveing me weird values when i try to access its value.