I want to code a search function where you can cout the strings from file. THe function request the user to input the first letter of the string wanted to search and the for loops will search the strings which the first letter is same as the user requested. this is my code.
string bid, bname, bAuthor, bcat, bPub;
int bAmt = 0, i = 1;
bool bname2length;
char character[];
char firstChar;
ifstream inBook;
inBook.open("books.txt");
if(inBook.is_open())
{
cout << setfill('-') << setw(1) << "+" << setw(3) << "-" << setw(1) << "+" << setw(8) << "-" << setw(1) << "+" << setw(40) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(20) << "-" << setw(1) << "+" << setw(20) << "-" << setw(1) << "+" << setw(6) << "-" << setw(1) << "+" << endl;
cout << setfill(' ') << setw(1) << "|" << setw(3) << left << "No." << setw(1) << "|" << setw(8) << left << "BookID" << setw(1) << "|" << setw(40) << left << "Book Name" << setw(1) << "|" << setw(15) << left << "Author" << setw(1) << "|" << setw(20) << left << "Category" << setw(1) << "|" << setw(20) << left << "Publisher" << setw(1) << "|" << setw(6) << left << "Amount" << setw(1) << "|" << endl;
cout << setfill('-') << setw(1) << "+" << setw(3) << "-" << setw(1) << "+" << setw(8) << "-" << setw(1) << "+" << setw(40) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(20) << "-" << setw(1) << "+" << setw(20) << "-" << setw(1) << "+" << setw(6) << "-" << setw(1) << "+" << endl;
getline(inBook, bid, '#');
getline(inBook, bname, '#');
getline(inBook, bAuthor, '#');
getline(inBook, bAuthor, '#');
getline(inBook, bPub, '#');
inBook >> bAmt;
inBook.ignore(1);
while(!inBook.eof())
{
cout << setfill(' ') << setw(1) << "|" << setw(3) << left << i << setw(1) << "|" << setw(8) << left << bid << setw(1) << "|" << setw(40) << left << bname << setw(1) << "|" << setw(15) << left << bAuthor << setw(1) << "|" << setw(20) << left << bcat << setw(1) << "|" << setw(20) << left << bPub << setw(1) << "|" << setw(6) << left << bAmt << setw(1) << "|" << endl;
cout << setfill('-') << setw(1) << "+" << setw(3) << "-" << setw(1) << "+" << setw(8) << "-" << setw(1) << "+" << setw(40) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(20) << "-" << setw(1) << "+" << setw(20) << "-" << setw(1) << "+" << setw(6) << "-" << setw(1) << "+" << endl;
getline(inBook, bid, '#');
getline(inBook, bname, '#');
getline(inBook, bAuthor, '#');
getline(inBook, bcat, '#');
getline(inBook, bPub, '#');
inBook >> bAmt;
inBook.ignore(1);
i++;
cout << "Enter the First Character of Search Obj : ";
cin >> firstChar;
while(bid != ' ')
{
character[i] = bid;
i++;
}
cout << "Books with First Character of " + firstChar << endl;
for(int i=0; i<sizeof(character[]); i++)
{
if(character[i].chatAt(0) == firstChar)
{
cout << character[i] << endl;
}
}
}
inBook.close();
}
else
{
cout << "Invalid file!";
}