Hi, Brudnakm. Thanks for your fast response. Here is my code. I've shortened it to exclude certain lines as it is too long.
//Declaring pointer to FILE
FILE *bookPtr;
//Defining structure
struct bookData {
char isbn[14];
char title[100];
char author[100];
char publisher[100];
char bookType;
char month[4];
char year[5];
char price[8];
} item;
/****** FUNCTION DEFINITION: newEntry() ***********/
void newEntry()
{
//Declaring local variables
char addEntry, isbnInput[14];
int strLength, titleLength, authorLength, publisherLength, priceLength;
int month, year;
printf("***********************************************************\n\n"

;
printf("ADD NEW ENTRY\n\n"

;
if ((bookPtr = fopen("bookdata.txt", "a+"

) == NULL)
printf("File could not be opened"

;
else
{
//Ask input from user
fflush(stdin); //flush buffer to prevent buffer overflow
printf("Enter ISBN No.(X-XXXXX-XXX-X): "

;
fgets(isbnInput);
strLength = strlen(isbnInput);
//Error checking for ISBN format entry
while(strLength != 13 || isbnInput[1] != '-' ||
isbnInput[7] != '-' || isbnInput[11] != '-')
{
printf("Error! ISBN No format incorrect!\n"

;
printf("Enter ISBN No.(X-XXXXX-XXX-X): "

;
gets(isbnInput);
strLength = strlen(isbnInput);
}
//File is found
if(fseek(bookPtr, 0, SEEK_SET) == 0)
{
//While not End of File
while(!feof(bookPtr))
{
//Read 1 record from File
fread(&item, 1, sizeof(item), bookPtr);
//If both strings are the same
if((strcmp(item.isbn, isbnInput)) == 0)
{
printf("Error. This ISBN No already exist in database\n\n"

;
//Restart input process
newEntry();
}
}
//Copy string in isbnInput to item.isbn
strcpy(item.isbn, isbnInput);
}
printf("Enter Book Title: "

;
gets(item.title);
//Error checking for Book Title entry
titleLength = strlen(item.title);
//While input is empty
while(titleLength == 0)
{
printf("Error! Title field empty. Please enter title: "

;
gets(item.title);
titleLength = strlen(item.title);
}
printf("Enter Author? "

;
gets(item.author);
//Error checking for Author entry
authorLength = strlen(item.author);
while(authorLength == 0)
{
printf("Error! Author field empty. Please enter Author: "

;
gets(item.author);
authorLength = strlen(item.author);
}
printf("Enter Publisher: "

;
gets(item.publisher);
//Error checking for Publisher entry
publisherLength = strlen(item.publisher);
while(publisherLength == 0)
{
printf("Error! Publisher field empty. Please enter Publisher: "

;
gets(item.publisher);
publisherLength = strlen(item.publisher);
}
printf("Enter book category ('f' - Fiction / 'n' - Non-Fiction): "

;
fflush(stdin);
scanf("%c", &item.bookType);
item.bookType = toupper(item.bookType);//Convert small letter to capital
//Error checking for Book Type entry
while(item.bookType != 'F' && item.bookType != 'N')
{
printf("Input error! You must enter either 'F' or 'N': "

;
fflush(stdin);
scanf("%c", &item.bookType);
item.bookType = toupper(item.bookType);
}
fflush(stdin);
printf("Choose Publishing Month (mmm, e.g. 'Jan'): "

;
gets(item.month);
//Error checking for Month entry
month = strlen(item.month);
item.month[0] = toupper(item.month[0]);
while(month != 3)
{
printf("Error! Please enter first 3 letter of month only (e.g. 'Jan')? "

;
gets(item.month);
month = strlen(item.month);
item.month[0] = toupper(item.month[0]);
}
printf("Enter Publish Year(yyyy, e.g. '2001')? "

;
gets(item.year);
//Error checking for Year entry
year = strlen(item.year);
while(year != 4)
{
printf("Error! Please enter year in 4 digits(yyyy, e.g. '2001')? "

;
gets(item.year);
year = strlen(item.year);
}
printf("Enter price? "

;
gets(item.price);
//Error checking for Price entry
priceLength = strlen(item.price);
while(priceLength == 0)
{
printf("Error! Price field empty. Please enter Price: "

;
gets(item.price);
priceLength = strlen(item.price);
}
//Display all input for verification
printf("\nYou have just entered the information below:\n\n"

;
//Calling displayRecords function
displayRecords();
printf("\nAdd new entry to database('y' - Yes / 'n' - No)?: "

;
scanf("%c", &addEntry);
addEntry = toupper(addEntry); //Capitalize character
//Error checking for Yes or No entry
while(addEntry != 'Y' && addEntry != 'N')
{
printf("Input error! You must enter 'y' or 'n': "

;
scanf("%c", &addEntry);
addEntry = toupper(addEntry);
}
if(addEntry == 'Y')
{
if(fwrite(&item, 1,sizeof(item), bookPtr)!=sizeof(item))
fprintf(stderr, "Fail to write data into file!"

;
else
{
//Close FILE stream
fclose(bookPtr);
printf("Entry saved!"

;
strcpy(item.isbn, ""

;
strcpy(item.title, ""

;
strcpy(item.publisher, ""

;
}
printf("\n\nAdd more new entries('y' - Yes / 'n' - No)?: "

;
fflush(stdin);
scanf("%c", &addEntry);
addEntry = toupper(addEntry);
//Error checking for Yes or No entry
while(addEntry != 'Y' && addEntry != 'N')
{
printf("Input error! Please enter either 'y' or 'n': "

;
scanf("%c", &addEntry);
addEntry = toupper(addEntry);
}
if(addEntry == 'Y')
newEntry();
else
if(addEntry == 'N')
{
system("cls"

;
fflush(stdin);
choiceMenu(); //Back to Main Menu
}
}
else
if(addEntry == 'N')
choiceMenu(); //Back to Main Menu
}
}