0 / 0 / 0
Регистрация: 29.09.2021
Сообщений: 37
1

Структуры: вывести на экран список книг нужного автора, изданных до 2009 г.

15.11.2021, 21:48. Показов 1307. Ответов 2
Метки c++ (Все метки)

Author24 — интернет-сервис помощи студентам
Написать программу для обработки информации о книгах (автор, название, издательство, год издания). Программа должна предоставлять пользователю возможность вводить данные с клавиатуры и заносить их в файл; читать данные из файла и выводить на экран список книг нужного автора, изданных до 2009 г.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2021, 21:48
Ответы с готовыми решениями:

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

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

Структуры, функции: вывести список книг с фамилиями авторов в алфавитном порядке, изданных после заданного года
НАРОД ПОМОГИТЕ ПОЖАЛУЙСТА ОЧЕНЬ СРОЧНО НУЖНО надо именно написать код через функции и вот само...

Вывести названия книг заданного автора, изданных с 1960 года
Дан файл содержащий сведения о книгах. Нужно вывести названия книг заданного автора, изданных с...

Записи: вывести названия книг данного автора, изданных с N-го года
Даны сведения о книгах: фамилия автора, название и год издания и цена. Найти: названия книг данного...

2
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
16.11.2021, 01:18 2
arturr6543, объявляйте переменные и начинайте с первой части - ввод данных в файл. для написания такой программы структура не нужна
0
0 / 0 / 0
Регистрация: 29.09.2021
Сообщений: 37
16.11.2021, 14:02  [ТС] 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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#include <iostream>
//#include <ctime>
#include <iomanip>
#include <fstream>
#include <string>
//#include <vector>
 
using namespace std;
 
 
struct Books
{ 
    string autor;
    string name;
    string place;
    unsigned int year;
 
};
//------------------------------------------------------------------------------------
void inBooks(Books* arrBooks,int size)//-ввод с клавиатуры данных в массив, 
                             //состоящий из 10 элементов типа BOOKS, и занесение их в файл данных
{
    ofstream fin("books.txt");
    if (!fin)
    {
        cout << "Файл не может быть открыт или создан\n";
        exit(1);
    }
    for (int i = 0; i < size; ++i)
    {
        cout << setw(35) << "Введите данные о книге № " << i + 1 << endl;
        cout << "Введите автора книги" << endl;
        getline(cin, arrBooks[i].autor);
        fin <<"Автор - "<< arrBooks[i].autor << ", ";
        cout << "Введите название книги" << endl;
        getline(cin, arrBooks[i].name);
        fin <<"Название книги - "<< arrBooks[i].name << ", ";
        cout << "Введите место издания книги" << endl;
        getline(cin, arrBooks[i].place);
        fin <<"Место издания - "<< arrBooks[i].place << ", ";
        cout << "Введите год издания книги" << endl;
        cin >> arrBooks[i].year;
        fin <<"Год издания - "<< arrBooks[i].year <<endl;
        cin.ignore(32767, '\n');
        cout << endl;
    }
}
 
//--------------------------------------------------------------------------------
void outBooks()  //Вывод данных из файла
{
    cout << "Вывод данных из файла" << endl;
    string outBook;
    ifstream fin("books.txt");
    if (!fin)
    {
        cout << "Файл не может быть открыт или создан\n";
        exit(1);
    }
    while (fin)
    {
        getline(fin, outBook);
        cout << outBook << endl;
    }
}
 
 
//---------------------------------------------------------------------------------
void print(Books* arrBooks, int id)
{
    cout << "Автор - " << arrBooks[id].autor << ", ";
    cout << "Название - " << arrBooks[id].name << ", ";
    cout << "Место издания - " << arrBooks[id].place << ", ";
    cout << "Год издания - " << arrBooks[id].year << endl;
}
 
 
//------------------------------------------------------- Поиск книги по году
int search(Books* arrBooks, int size)
{
    string searchBooks;
    int a=0;
    cout << "Введите год издания: " << endl;
    cin.ignore(32767, '\n');
    getline(cin, searchBooks);
    for (int i = 0; i < size; ++i)
    {
        if (arrBooks[i].year == searchBooks)
        {
            print(arrBooks, i);
            a = 1;
        }
    }
    return a;
}
//------------------------------------------------------------------------------------
int main()
 
{
    setlocale(LC_ALL, "ru");
 
    const int size = 2;//Колличество элементов массива
    cout <<setw(40)<< "Заполните массив: " << endl;
    Books arrBooks[size];
    inBooks(arrBooks, size);
 
    cout <<
        "1. - чтение данных из файла и вывод их на экран" << endl <<
        "2. - вывод на экран книг, изданных в годе, который введен с клавиатуры(если таких нет - вывести сообщение об этом)" << endl <<
        "0. - выход" << endl;
    int menu=0;
    while (true)
    {
        cin >> menu;
        switch (menu)
        {
        case 1:outBooks();
            break;
        case 2: 
        {
            int a = 0;
            a = search(arrBooks, size);
            if (a != 1)cout << "Книг изданных в этом годе нет. " << endl;
            break;
        }
        
            break;
        case 0:return 0;
        }
    }
    return 0;
}


подскажите в чем проблема
0
16.11.2021, 14:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2021, 14:02
Помогаю со студенческими работами здесь

Из всех сведений создать список книг одного автора. Вывести полученный список на экран
Помогите решить, пожалуйста!!!!! Условие задачи. Данные о фондах библиотеки занести в файл в...

Требуется вывести на экран пронумерованный список книг, изданных до N года, в порядке возрастания года издания
Задание. Создать типизированный файл, элементами которого являются записи. Вывод информации...

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

Вывести список книг, изданных после заданного года
6. Для книг, хранящихся в библиотеке, задаются автор, название, год издания, количество страниц....

Вывести список книг, изданных после заданного года
Вот задание. для книг, хранящихся в библиотеке, указаны автор, название, год издания, количество...

Найти названия книг данного автора, изданных с 1960 г
. Дан файл f , содержащий сведения о книгах. Сведения о каждой из книг – это фамилия автора,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru