Just use getchar() at the places indicated and your code should work like a charm.
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
char date[9];
char isbn[25];
char title[25];
char again;
int quantity;
double unitPrice, total, subTotal,tax;
do
{
//Inputs for sales slip
cout << "Please input the date in the format MM/DD/YY.\n";
cin.getline(date,9);
cout << "How many copies of a book is being purchased.\n";
cin >> quantity;
getchar();
cout << "What is the ISBN number of the book.\n";
cin.getline (isbn,25);
cout << "What is the price of the book.\n";
cin >> unitPrice;
getchar();
cout << "What is the title of the book.\n";
cin.getline(title,25);
// formula for cashier screen
subTotal = quantity * unitPrice;
tax = 0.06 * subTotal;
total = subTotal + tax;
// Final display Title
cout << "\t\tSerendipity Booksellers\n\n"
<< "Date: " << date <<endl << endl
<< "Qty" << "\tISBN" << "\t\tTitle" << "\t\t\tPrice" << "\t\tTotal\n"
<< "_________________________________________________________________________\n";
// Display inputs
cout << quantity << "\t" << isbn << setw(27) << title <<"\t\t" << unitPrice;
cout << "\t\t" << setprecision(2) << fixed << subTotal << endl << endl << endl;
cout << "\t\t\t Subtotal\t" << setprecision(2) << fixed << subTotal << endl;
cout << "\t\t\t Tax \t" << setprecision(2) << fixed << tax << endl;
cout << "\t\t\t Total \t" << setprecision(2) << fixed << total << endl << endl;
// Thank you line
cout << "Thank you for shopping at Serenipity!\n";
// Does the user have another transaction to be processed
cout << "Do you Have another transaction to be processed? (Y/N)\n";
cin >> again;
} while ( again == 'Y' || again == 'y');
return 0;
}