Форум программистов, компьютерный форум CyberForum.ru

Составить программу формирования данных о книгах: автор, название, год издания, цена - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перевернуть строку, в чем ошибка? http://www.cyberforum.ru/cpp-beginners/thread1798304.html
Выполните переворот строки, написав её наоборот. #include <iostream> #include <string> using namespace std; int main() { char str; char str1;
C++ Найти в тексте количество вхождений определенного слова Ребята, приветствую! Мне необходимо загрузить из файла текст (перемешанный, т.е. и буквы, и цифры, и знаки препинания, и табуляции есть). После нужно найти в нем число вхождений определенного слова. Я сделал так: string fileName = arguments.at(2); string word = arguments.at(6); string content; char temp; fstream file; file.open(fileName, ios::in | ios::binary | ios::_Nocreate); http://www.cyberforum.ru/cpp-beginners/thread1798287.html
C++ Организация управления типами данных
Поясните, пожалуйста, как происходит разделение типов данных в памяти? как компилятор определяет в каких ячейках хранятся соответствующие данные? Допустим, есть объявление (где int = 4 байта, short = 2 байта и char = 1) short int girls = 13; char name = "Alice"; int boys;В памяти выделяется участок (адрес: значение ) 0000: 0000 1101 (младший байт) 0001: 0000 0000 (старший) 0002: 0100...
Как подключить OpenGL на Dev-C++ C++
#include <iostream> #include <time.h> #include <GL/glut.h>// //2. ÑÎçäà¸ì ôóíêöèþ display void display() { glClear(GL_COLOR_BUFFER_BIT);// glColor3f(0.0,1.0,0.0); //
C++ Как создать функцию ввода элементов массива используя шаблоны? http://www.cyberforum.ru/cpp-beginners/thread1798223.html
Извините, по глупому вопросу, но на данный момент я не смог сообразить сам. Как создать функцию ввода элементов массива с помощью шаблонов? Вернуть этот массив. К примеру, я хочу вывести после ввода элементы массивов разных типов: целых, вещественных, символьных, С- строк Добавлено через 11 минут извините, сам справился Type* get(Type(*array), int size) {
C++ Последовательность сравнения выражения Здравствуйте. Простой код. Скажите, в какой последовательности будет сравниваться выражение i!=j<k) Я ввожу 12,12,12 и оно мне Гуд лак:) #include <iostream> #include <Windows.h> #include <stdlib.h> using namespace std; int main() подробнее

Показать сообщение отдельно
narsky
1 / 1 / 0
Регистрация: 23.03.2016
Сообщений: 115
25.08.2016, 17:48  [ТС]     Составить программу формирования данных о книгах: автор, название, год издания, цена
nd2, благодарю! Каталог создается, большое спасибо! Только вот после создания каталога выбор книг, изданных за последние два года, не идет. Я подумал, может нужно ввести команду, которая предлагает пользователю ввести текущий год, от которого и будет зависеть выбор книг?

Добавлено через 40 секунд
Код на данный момент:
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
133
134
135
136
137
#include <iostream>
#include <cstdlib>
using namespace std;
 
class Book 
{
    char author[30];
    char title[30];
    int year;
    int price;
    public:
        void SetBook();
        int GetYear() const;
        void ShowBook() const;
};
 
class Catalog
{
    Book *list;
    int size;
    public:
        Catalog(): list(0), size(0) {}
        ~Catalog();
        void FillCatalog(int n);
        int GetSize() const; //если понадобится размер каталога книг
        int GetMaxYear() const;
        void ShowCatalog() const;
};
 
int menu();
 
int main()
{
    setlocale(LC_ALL, "Russian");
    cout << "Книжный архив" << endl << "Автор: студент гр. РИ-150005 Рогожников Роман Сергеевич" << endl << "Екатеринбург, 2016 г." << endl;
    system ("pause");
    int c, n;
    while (true)
    {
        c = menu();
        Catalog catalog;
        switch (c)
       {
            case 1:
                system("cls");
                cout << "Введите количество книг в каталоге: ";
                (cin >> n).get();
                catalog.FillCatalog(n);
                break;
            case 2:
                system("cls");
                catalog.ShowCatalog();
                break;
           default:
                return 0;
        }
    }
}
 
void Book::SetBook()
{
    cout << "Введите имя автора: ";
    cin.getline(author, sizeof(author));
    cout << "Введите название книги: ";
    cin.getline(title, sizeof(title));
    cout << "Введите год публикации: ";
    cin >> year;
    cout << "Введите цену книги: ";
    (cin >> price).get();
}
 
int Book::GetYear() const
{
    return year;
}
 
void Book::ShowBook() const
{
    cout << "Автор: " << author << endl;
    cout << "Заголовок: " << title << endl;
    cout << "Год публикации: " << year << endl;
    cout << "Цена: " << price << endl;
}
 
Catalog::~Catalog()
{
    delete[] list;
}
 
void Catalog::FillCatalog(int s)
{
    size = s;
    if (size <= 0) return;
    list = new Book[size];
    for (int i = 0; i < size; ++i)
    {
        cout << "Введите данные о " << i+1 << " книге:" << endl;
        list[i].SetBook();
        cout << endl;
    }
}
 
int Catalog::GetSize() const
{
    return size;
}
 
int Catalog::GetMaxYear() const
{
    if (!list || size <= 0) return 0;
    int max = 0;
    for (int i = 0; i < size; ++i)
        if (max < list[i].GetYear()) max = list[i].GetYear();
    return max;
}
 
void Catalog::ShowCatalog() const
{
    if (size <= 0) return;
    for (int i = 0; i < size; ++i)
    {
        cout << "Вывод данных о " << i+1 << " книге:" << endl;
        list[i].ShowBook();
        cout << endl;
    }
}
 
int menu()
{
    int choice;
    cout << "1 - Создать каталог" << endl;
    cout << "2 - Показать книги, изданные за последние два года, упорядочив их по датам создания" << endl;
    cout << "3 - Выход" << endl;
    cout << "Ваш выбор: ";
    (cin >> choice).get();
    return choice;
}
 
Текущее время: 16:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru