1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
motikmotik
2 years ago
5

Develop a program to sort a file consisting of bonks details in the alphabetical order of author names. The details of books inc

lude book id, author_name, price. no of pages, publisher, year of publishing
Please provide C++ program for above question.​
Computers and Technology
1 answer:
olga2289 [7]2 years ago
6 0

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

You might be interested in
What is missing link describe briefly with an example class 11?
allsm [11]

A missing link is a long-extinct organism that filled in a gap between closely related species that now coexist on Earth, such as between apes and humans or reptiles and birds.

A possible or recent transitional fossil is referred to as the "missing link." In the media and in popular science, it is widely used to describe any novel transitional form. Initially, the expression was used to describe a hypothetical transitional form that existed between anthropoid ancestors and anatomically modern humans. The term was influenced by both the pre-Darwinian evolutionary theory known as the Great Chain of Being and the now discredited notion that simple species are more primitive than sophisticated ones. Human evolutionary phylogenetic tree. Since evolutionary trees only hold information at their tips and nodes, and the rest is relied on conjecture rather than fossil evidence, geneticists have supported the idea of the "missing link." But anthropologists no longer like it because of what it suggests.

Learn more about missing link  from

brainly.com/question/1968231

#SPJ4

6 0
1 year ago
The browser feature which enables tabs to work independently from one another so if one crashes, the others may continue to work
Mars2501 [29]

Answer:

Tab isolation

Explanation:

Tab isolation is a feature of the browser that works to protect your data from malware. its uses to enhance the reliability of the browser by considering the impact of the crash.

A browser without the tab isolation can be crash fully due to the crashing of one tab. this feature helps to recover the previous opening tab after crashing while on the previous version of the browser if one tab crashes then it automatically crashes all other tabs.

8 0
3 years ago
As a digital strategist, Jared wants to add something extra to his ads to give users more incentive to click and convert. He's c
nadya68 [22]

Answer:

A) Up to 15 characters in each.

Explanation:

Total characters he can use in each of these optional paths are up to 15 characters in each.

6 0
3 years ago
What should you do when you encounter an active directory domain controller for the domain could not be contacted?
Nostrana [21]

Answer:

Issue the Dcdiag on all domain controller servers.

Explanation:

Active directory is a database that holds information of client's authentication for service access in a server. Domain controllers in servers holds these active directories, to replicate client's credentials for quick response to access to the server.

When a server domain can not contact the active directory domain controller, the Dcdiag command is issued on the server to check for connectivity issue to the DNS, AD replication, SYSVOL replication etc.

8 0
4 years ago
Where might an awareness of Greek word origins be helpful?
devlian [24]
Greek word origins be helpful at a doctors offics
8 0
3 years ago
Other questions:
  • Cryptolocker is an example of what type of malware?
    11·1 answer
  • Jim is a forensic specialist. He seized a suspect computer from a crime scene, removed the hard drive and bagged it, documented
    10·1 answer
  • What is an example of a source that is less likely to be copyrighted?
    7·2 answers
  • Oxnard Casualty wants to ensure that their e-mail server has 99.98 percent reliability. They will use several independent server
    14·1 answer
  • What is the term for the era created by the digital revolution?
    5·1 answer
  • Which of the following might cause a shift from PPF1 to PPF2? I. A new source of high quality denim fabric. II. A new lighter me
    12·1 answer
  • Njdnkjsdnjvnsdjvnjsdnvjsdvnjdnvjdsnvnksn
    6·1 answer
  • The ______________ shows that you have fully researched the topic and gives you a chance to prove your claim.
    8·1 answer
  • The data _____ component of a database management system (DBMS) is used to create and maintain the data dictionary. manipulation
    14·1 answer
  • Explain to Alana why she might not want to blast her boss on social media just yet.<br>​
    6·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!