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 a guardian node summary for theta staking tool
Diano4ka-milaya [45]

Answer: Theta Guardian

Explanation:

THETA is used to stake as a Validator or Guardian node, contributing to block production and the protocol governance of the Theta Network. By staking and running a node, users will earn a proportional amount of the new TFUEL generated. Relayers earn TFUEL for every video stream they relay to other users on the network.

3 0
2 years ago
What are the advantages of mine shaft gear and the disadvantaged​
romanna [79]

Answer:

One sheave means that you are using a single drum winder. They are the worst! Double drum winders control easier, brake better and are much more efficient. They save time ( two skips or cages) and can be clutched to perform faster shift transport. A single drum is slow, unbalanced and can be a nightmare if it trips out during hoisting. If the brake system is not perfect it can be a real hairy experience. For a runaway single drum, there is no counterbalance effect. It always runs to destruction. With a double drum, the driver still has a chance to control the winder to a certain extent and he has two sets of brakes to rely on. A single sheave could also mean a shaft with a single compartment. No second means of escape unless there are ladders or stairways. Not a very healthy situation.

Those are just a few points. I am sure much more can be said in favor of a double drum winder and two or more sheaves in the headgear. Most of the shafts I have worked at have multiple winders and up to ten compartments. They all have a small single drum service winder for emergencies and moves of personnel during shift times. They are referred to as the Mary - Annes. Apparently, the name originated in the U.K. where an aristocratic mine owner named the first such winder after his mistress.

Explanation:

<em>Hope you got it </em>

<em>If you have any question just ask me</em>

<em>If you think this is the best answer please mark me as BRAINLIEST</em>

5 0
3 years ago
Polymorphism means ______________.
Westkost [7]

Answer:

Polymorphism means that a variable of supertype can refer to a subtype object.

Explanation:

For example, in Python programming language, a function that accepts an iterable object uses the concept of polymorphism because that function can accept strings, lists, tuples as arguments.

5 0
3 years ago
Read 2 more answers
ANSWER QUICKLY!
patriot [66]

Answer:

It is bit { measurement used to quantify computer data. }

7 0
3 years ago
Carl is a music teacher. He builds custom computer systems for his students to use when they are learning and creating music. Ca
shutvik [7]

Answer:

um ahh <em> </em><em>badl</em><em>y</em><em> </em>

Explanation:

i really don't know the answer

4 0
2 years ago
Other questions:
  • Complete the paragraph to explain how Angelina can notify readers that her report is just a draft.
    6·1 answer
  • Technologies designed to replace operating systems and services when they fail are called what?
    15·1 answer
  • In which type of market do farmers sell their produce directly to village traders in rural areas?
    14·1 answer
  • Technologies have advanced to allow computer chips to be placed in almost anything and to be connected to a network almost anywh
    8·1 answer
  • Which network component is used to connect one network to another? Which component delivers the message to the destination compu
    5·1 answer
  • Customizable diagrams, including List, Process, and Cycle diagrams, are built into Word and can be found in
    7·1 answer
  • What are the characteristics of a good text-based adventure game? In other words, what are some features that should be in the g
    7·1 answer
  • Who invented the Bluetooth device​
    12·1 answer
  • The physical parts of Computer are kwon as<br>​
    15·1 answer
  • What are Database administrators? <br> Thank you :)
    7·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!