Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 16.06.2021
Сообщений: 14

Вывести список книг запрашиваемого автора

22.06.2021, 15:34. Показов 1126. Ответов 2

Студворк — интернет-сервис помощи студентам
Здравствуйте, Столкнулся с проблемой, не понимаю как работают условия с структурах:
Библиотека - хранилище книг.По запросу заданных автора и названия книги вывести :
1. если книга имеется, то - ее название и автора.
2. если данной книги нет, то вывести список книг запрашиваемого автора.
3. если нет книг данного автора, то вывести : "Книги нет"

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
using namespace std;
struct library    
{
    string owner;       
    string book;        
};
/*void NameBook(const char* str, library* ob)
{
    cout << "book name: ";
    for (int i = 0; i < 6; i++) {
 
        if (!strcmp((ob[i].get_aut()), str)) ob[i].show();
    }
    cout << '\n';
}*/
 
int main()
{
    setlocale(LC_ALL, "rus");
    bool state;
    char s[80];
    const int n = 3;
    library books;
    books.owner = "Steven King";
    books.book = "It", "The Green Mile", "Misery", "The Shining", " Doctor Sleep";
    library books[n];
    books.owner = "Tolstoy";
    books.book = "Childhood", "War and Peace", "Sunday", "Anna Karenina", "The Caucasian Prisoner", " After the Ball";
    for (int i = 0; i < n; i++)
    {
        cout << "book name: ";
        gets(books[i].book);
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.06.2021, 15:34
Ответы с готовыми решениями:

Бинарные файлы. Вывести названия книг определенного автора, изданных до 2000 года. Определить долю книг
помогите пожалуйста: В файле хранятся сведения о личной библиотеке: фамилия автора, название, издательство, год издания, тематика книги....

Массив строк - список книг определенного автора
Подскажите как делать. Если есть дайте ссылку на подобные задачи. Массив строк. Каждая строка содержит: -шифр книги -ФИО автора ...

Считывать данные из файла и выводить на экран список книг, требуемого автора, изданных до 1990г
void zapros1() { Book a; int i(0); char auth; char zag; cout &lt;&lt; &quot;\n\n Введите фамилию автора&quot; &lt;&lt; endl; //cin.ignore();...

2
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,245
22.06.2021, 17:30
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
struct library    
{
    string owner;       
    string book;        
};
int main()
{
    const int n = 11;
    library books[n]={
        "Steven King", "It",
        "Steven King", "The Green Mile", 
        "Steven King", "Misery", 
        "Steven King", "The Shining", 
        "Steven King", " Doctor Sleep",
        "Tolstoy","Childhood", 
        "Tolstoy","War and Peace", 
        "Tolstoy","Sunday", 
        "Tolstoy","Anna Karenina", 
        "Tolstoy","The Caucasian Prisoner", 
        "Tolstoy"," After the Ball" 
    };
    string autor;
    cout<<"Enter autor:";
    getline(cin,autor);
    string title;
    cout<<"Enter title:";
    getline(cin,title);
    int count = 0;
    for (int i = 0; i < n; i++)
    {
        if( books[i].owner==autor)
        {
            if(books[i].book==title)
            {
                cout<<autor<<' '<<title<<endl;
                count=-1;
                break;
            }
            count++;
        }
    }
    if(count==0)
        cout<<"No books of "<<autor<<endl;
    else if(count!=-1)
    {
        for (int i = 0; i < n; i++)
            if( books[i].owner==autor)
                cout<<autor<<' '<<books[i].book<<endl;
    }
    cin.get();
    return 0;
}
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
22.06.2021, 17:54
как пример, если структура состоит из фамилии автора и названия книги. код самый простой. по-хорошему нужно добавить невосприимчивость к регистру букв
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
 
struct Library    
{
    string surname;       
    string book;        
};
 
int main()
{
    int k=0, p=0;
    const int n=11;    
    Library s[n] = {{"King", "It"},
                    {"King", "The Green Mile"},
                    {"King", "Misery"},
                    {"King", "The Shining"},
                    {"King", "Doctor Sleep"},
                    {"Tolstoy", "Childhood"},
                    {"Tolstoy", "War and Peace"},
                    {"Tolstoy", "Sunday"},
                    {"Tolstoy", "Anna Karenina"},
                    {"Tolstoy", "The Caucasian Prisoner"},
                    {"Tolstoy", "After the Ball"}};    
    
    string find_surname, find_book;
    cout << "Find surname: "; 
    getline(cin,find_surname);
    cout << "Find book: "; 
    getline(cin,find_book);    
    
    for (int i = 0; i < n; i++)
    {
        if(s[i].surname==find_surname && s[i].book==find_book)
        {
            k=1;
            cout << s[i].surname << "  " << s[i].book << "\n"; 
            break;
        }       
    }
    
    if(k==0)
    {
        for (int i = 0; i < n; i++)        
            if(s[i].surname==find_surname)
            {
                p=1;
                cout << s[i].book << "\n";
            }    
    }
    
    if(k==0 && p==0) cout << "Book is absent\n";
    
system("pause");
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.06.2021, 17:54
Помогаю со студенческими работами здесь

Вывести колво книг каждого автора и отсортировать по авторам
фамилия автора, название, издательство, год. Вывести колво книг каждого автора и отсортировать по авторам, вывести список

Найти названия книг заданного автора и вывести их на экран в порядке убывания года издания
Дан массив записей, содержащий сведения о книгах: фамилия автора, название книги, год издания книги. Найти названия книг заданного автора и...

Дан файл , содержащий сведения о книгах. Сведения о каждой из книг – это фамилия автора, название и год издания. а) Найти названия книг данного автор
Здравствуйте,я тот несчастный студент,который учился в школе где не было программирования.Поэтому нуждаюсь в вашей помощи.Теорию удалось...

Вывести на экран список книг
Дан массив, каждая запись содержит три поля: первое поле - название книги; второе - год издания; третье - сколько раз эту книгу брали...

Cтруктуры, поиск книг заданного автора
Добрый вечер. Была поставлена задача следующим образом: &quot;Для книг, хранящихся в библиотеке, задаются: -автор; -название; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru