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); } }the prob now is that the status is giveing me weird values when i try to access its value.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"); } }