Написать программу, управляющую работой библиотеки. Создать классы: «Книга», «Отдел», «Библиотека». В классах реализовать следующие функции: добавление, удаление книг из отделов, выдача книг на абонемент. Классы должны содержать методы доступа и изменения всех полей. Важна любая помощь! Не могу понять как реализовать добавление отделов, а в эти отделы книги.
И потом посмотреть в какие книги в определенном отделе. Да суть наследования я тут как-то не очень уловил.. Буду рад любой подсказке!
#include using namespace std; class book < public: string name; string author; void see() < >void set_name() < cout > name; > void set_author() < cout > author; > string get_name() < return name; >string get_author() < return author; >>; class otdel:public book < public: book arr_of_books[10]; string nameOfOtdel; int number_of_book = 0; void add() < if (number_of_book + 1 > arr_of_books[number_of_book — 1].name; cout > arr_of_books[number_of_book — 1].author; cout else cout void del() < int number_of_deleted_item; cout > number_of_deleted_item; number_of_deleted_item—; for (int i = number_of_deleted_item; i < number_of_book- 1; i++) arr_of_books[i] = arr_of_books[i + 1]; number_of_book—; cout void see() < for (int i = 0; i < number_of_book; i++) < cout cout string get_nameOfOtdel() < return nameOfOtdel; >>; class library :public otdel < otdel arr_of_otdel[10]; string nameOfLibrary; int numberOfOtdel = 0; public: void set_nameOfLibrary() < cout > nameOfLibrary; > string get_nameOfLibrary() < return nameOfLibrary; >void addOtdel() < if (numberOfOtdel + 1 > arr_of_otdel[numberOfOtdel — 1].nameOfOtdel; cout << «Новый отдел успешно добавлен!» else cout void delOtdel() < int number_of_deleted_otdel; cout > number_of_deleted_otdel; number_of_deleted_otdel—; for (int i = number_of_deleted_otdel; i < numberOfOtdel — 1; i++) arr_of_otdel[i] = arr_of_otdel[i + 1]; numberOfOtdel—; cout << «Отдел удален!» << endl void see() < for (int i = 0; i < numberOfOtdel; i++) < cout << arr_of_otdel[i].nameOfOtdel cout >; int main() < setlocale(LC_ALL, «rus»); int kod; library n1; otdel n2; n1.set_nameOfLibrary(); n1.get_nameOfLibrary(); do < cout > kod; switch (kod) < case 1: n2.add(); break; case 2: n2.del(); break; //case 3: n1.; break; //case 4: n1.delOtdel(); break; case 5: n2.see(); break; case 0: exit(0); >> while (kod != 0); return 0; >
Отслеживать
задан 6 ноя 2020 в 13:36
3 4 4 бронзовых знака
Python ТОП 10 крутейших библиотек!
Я думаю структура проекта неправильна, представь библиотеку в реальной жизни. В библиотеке есть отделы, а в отделе уже книги. И ты добавляешь книгу не в книгу, ну или по крайней мере не используешь для этого другие книги, как ты делаешь в функция add, del, see. Ты книги добавляешь в отделе и там же удаляешь, так что только там и реализуй их.
А у книги есть, только название книги, имя автора и все что ты можешь сделать это узнать название книги, имя автора, посмотреть на нее в целом, ну в жизни вряд ли можешь устанавливать нового автора и название книги, но если надо, то оставь.
Создание статической и динамической библиотек Visual Studio C++
7 ноя 2020 в 2:13
А вот в отделе у нас есть список книг, которые в нем хранятся и название отдела, и мы можем добавлять и удалять книги из отдела. Так что все связанное с именами авторов и названиями убери. Вообще я не понимаю зачем тут наследование, если между ними нет ничего общего.
7 ноя 2020 в 2:16
И последнее библиотека, в ней уже содержится список отделов, название библиотеки, и в ней так же можно реализовать добавление отделов изменение названий отделов и тд. А насчет выдачи абонемента я лично не очень понял как это реализовать, но проведи ассоциацию с реальной жизнью.
Источник: ru.stackoverflow.com
Сделаем свою небольшую библиотеку на Си
В сущности, именно сейчас и происходит «компиляция». Компилятор берет файлы с исходным кодом и получает из них объектные файлы. Далее, собираем их в программу:
→ clang linked_list.o main.o -o linked_list_example
Линковщик берет объектные файлы и получает из них исполняемый файл. Сборка = компиляция + линковка.
Задание на подумать/проверить
- Не будем подключать linked_list.h , а определим node_t и подключим stdio.h .
- Добавим в конец структуры Си-файла ещё одно поле, а в .h-файле не изменим структуру.
- Добавим в начало структуры Си-файла ещё одно поле, а в .h-файле не изменим структуру.
ДЗ
Написать библиотеку для реализации аналога утилиты xxd для структур Си.
Источник: 900913.ru