Use the knowledge in computational language in C++ to write the a code with alphabetical order of author name.
<h3>How to define an array in C++?</h3>
An Array is a set of values arranged in lists and accessible through a positive numeric index. So, we have that each position of our Array is a variable of the type of our Array, so we have to have a way to initialize this set of variables.
<em>#include <iostream></em>
<em>#include <iomanip></em>
<em>#include <fstream></em>
<em>#include <string></em>
<em>using namespace std;</em>
<em>struct Book {</em>
<em> string title;</em>
<em> string author;</em>
<em>};</em>
<em>const int ARRAY_SIZE = 1000;</em>
<em>Book books [ARRAY_SIZE];</em>
<em>string pathname;</em>
<em>ifstream library;</em>
<em>int LoadData();</em>
<em>void ShowAll(int count);</em>
<em>void ShowBooksByAuthor(int count, string name);</em>
<em>void ShowBooksByTitle(int count, string title);</em>
<em>void sortByTitle(int count, string title);</em>
<em>void sortByAuthor(int count, string author);</em>
<em>int main()</em>
<em>{ </em>
<em> int count = 0;</em>
<em> char selector = 'q', yesNoAnswer = 'n';</em>
<em> string name;</em>
<em> string title;</em>
<em> cout << "Welcome to Forrest's Library Database." << endl;</em>
<em> cout << "Please enter the name of the backup file: ";</em>
<em> getline(cin, pathname);</em>
<em> LoadData();</em>
<em> count = LoadData();</em>
<em> cout << count << " records loaded successfully." << endl;</em>
<em> do </em>
<em> {</em>
<em> cout << endl << "\t(S)how All, Search (A)uthor, Search (T)itle, (Q)uit: "; </em>
<em> cin >> selector;</em>
<em> selector = toupper(selector);</em>
<em> switch(selector)</em>
<em> {</em>
<em> case 'S': </em>
<em> sortByTitle(count, title);</em>
<em> if (count <= 0)</em>
<em> cout << "No counts found!\n";</em>
<em> else</em>
<em> ShowAll(count);</em>
<em> break;</em>
<em> case 'A': </em>
<em> sortByAuthor(count, name);</em>
<em> cout << "bookAuthor: ";</em>
<em> cin.ignore();</em>
<em> getline(cin, name);</em>
<em> if (count <= 0)</em>
<em> cout << "No records found!\n";</em>
<em> else</em>
<em> ShowBooksByAuthor(count, name); </em>
<em> break;</em>
<em> case 'T': </em>
<em> sortByTitle(count, title);</em>
<em> cout << "bookTitle: ";</em>
<em> cin.ignore();</em>
<em> getline(cin, title);</em>
<em> if (count <= 0)</em>
<em> cout << "No records found!\n";</em>
<em> else</em>
<em> ShowBooksByTitle(count, title); </em>
<em> break; </em>
<em> }</em>
<em> }</em>
<em> while (selector != 'q' && selector != 'Q'); </em>
<em> return 0;</em>
<em>}</em>
<em>int LoadData() </em>
<em>{</em>
<em> int count = 0;</em>
<em> int i = 0;</em>
<em> library.open(pathname);</em>
<em> ifstream library(pathname);</em>
<em> if (!library)</em>
<em> {</em>
<em> cout << "Cannot open backup file" << endl;</em>
<em> return 0;</em>
<em> }</em>
<em> while (!library.eof())</em>
<em> {</em>
<em> getline(library, books[count].title);</em>
<em> getline(library, books[count].author);</em>
<em> count++;</em>
<em> }</em>
<em> return count;</em>
<em>}</em>
<em>void ShowAll(int count) </em>
<em>{</em>
<em> for (int i = 0; i < count; i++)</em>
<em> {</em>
<em> cout << books[i].title << " " << "(" << books[i].author << ")" << endl;</em>
<em> }</em>
<em>}</em>
<em>void ShowBooksByAuthor(int count, string name) </em>
<em>{</em>
<em> int j = 0;</em>
<em> for (int i = 0; i < count; i++)</em>
<em> {</em>
<em> if(books[i].author.find(name) < 100) </em>
<em> {</em>
<em> cout << books[i].title << " " << "(" << books[i].author << ")" << endl;</em>
<em> j++;</em>
<em> }</em>
<em> }</em>
<em> cout << j << " records found";}</em>
<em>void ShowBooksByTitle(int count, string title) </em>
<em>{</em>
<em> int j = 0;</em>
<em> for (int i = 0; i < count; i++)</em>
<em> {</em>
<em> if(books[i].title.find(title) < 100)</em>
<em> {</em>
<em> cout << books[i].title << " " << "(" << books[i].author << ")" << endl;</em>
<em> j++;</em>
<em> }</em>
<em> }</em>
<em> cout << j << " records found";</em>
<em>}</em>
<em>void sortByTitle(int count, string title) {</em>
<em> string temp;</em>
<em> for (int i = 0; i < count; i++) {</em>
<em> for(int j = 0; j < count - i; j++) {</em>
<em> if (books[j].title > books[j + 1].title) {</em>
<em> temp = books[j].title;</em>
<em> books[j].title = books[j + 1].title;</em>
<em> books[j + 1].title = temp;</em>
<em> }</em>
<em> }</em>
<em> }</em>
<em>}</em>
<em>void sortByAuthor(int count, string name) {</em>
<em> string temp;</em>
<em> for (int i = 0; i < count; i++) {</em>
<em> for(int j = 0; j < count - i; j++) {</em>
<em> if (books[j].author > books[j + 1].author) {</em>
<em> temp = books[j].author;</em>
<em> books[j].author = books[j + 1].author;</em>
<em> books[j + 1].author = temp;</em>
<em> }</em>
<em> }</em>
<em> }</em>
<em>}</em>
See more about C++ at brainly.com/question/19705654