Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2021, 13:44   #1
Anduin Lothar
 
Регистрация: 19.01.2021
Сообщений: 8
По умолчанию Помогите допилить инициализацию

Создать класс Book. Переменная типа Book должна содержать следующие поля: название; количество авторов; авторы; год издания; количество страниц. Предусмотреть функции для выполнения следующих операций: инициализация книги, добавление авторов, консольное ввода / вывода информации о книге. Создать каталог (динамический массив), упорядочить элементы по названию (friend-функция)
Код:
#include <iostream>  
#include <string>
#include <vector>
using namespace std;
 
class Book
{
private:
    string nameBook;
    unsigned int numAuthor;
    vector<string> Author;
    unsigned int Year;
    unsigned int numPage;
public:
    Book()
    {
        nameBook = "";
        numAuthor = 0;
        Author.push_back("");
        Year = 0;
        numPage = 0;
    }
    ~Book() {};
    void AddAuthor(string _Author);
    void SetBook(string _nameBook, unsigned int _numAuthor, vector<string> _Author, unsigned int _Year, unsigned int _numPage);
    void GetBook();
};
 
void Book::AddAuthor(string _Author)
{
    Author.push_back(_Author);
    numAuthor = numAuthor + 1;
}
 
void Book::SetBook(string _nameBook, unsigned int _numAuthor, vector<string> _Author, unsigned int _Year, unsigned int _numPage)
{
    nameBook = _nameBook;
    numAuthor = _numAuthor;
    Author = _Author;
    Year = _Year;
    numPage = _numPage;
}
 
void Book::GetBook()
{
    cout << "Название книги: " << nameBook << endl;
    cout << "Количество авторов книги: " << numAuthor << endl;
 
    int i;
    cout << "Авторы: ";
    for (i = 0; i < numAuthor; i++)
        cout << Author[i] << ", ";
    cout << endl;
 
    cout << "Год издания книги: " << Year << endl;
    cout << "Количество страниц книги: " << numPage << endl;
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    // Инициализация книги
    Book book;
    cout << endl << "Информации при инициализации книги:" << endl;
    book.GetBook();
 
    // Консольное ввода / вывода информации о книге
    string nameBook = "Scarlet Sails";
    unsigned int numAuthor = 0;
    vector<string> Author;
    for (int i = 0; i < numAuthor; i++)
        Author.push_back("Author " + to_string(i + 1));
    unsigned int Year = 1923;
    unsigned int numPage = 126;
    cout << endl << "Информации книги после вывода информации:" << endl;
    book.SetBook(nameBook, numAuthor, Author, Year, numPage);
    book.GetBook();
 
    // Добавление авторов
    book.AddAuthor("Alexander Green");
    // Консольное вывода информации о книге после добавления авторов
    cout << endl << "Информации о книге после добавления авторов:" << endl;
    book.GetBook();
 
    return 0;
}

Препод пристал и говорит что не правильно выполняется иниализация, мол надо убрать сеты и геты и сделать инициализацию в конструкторе. Исправьте код пж и еще надо упорядочить элементы через frend-функцию.
Anduin Lothar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите допилить код Portick Помощь студентам 0 12.01.2019 09:40
Помогите допилить рекурсивный факториал к ноду Jihad Помощь студентам 7 12.01.2018 11:15
поиск маленькой картинки в большой. Помогите допилить)))) Михаил22042016 Общие вопросы Delphi 2 11.05.2016 07:16
Помогите допилить скрипт SergeySS PHP 2 06.08.2014 16:17