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

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания"

28.02.2016, 00:35. Показов 20017. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать класс Книга
поля: название книги,количество страниц,год издания
методы: вычислить сколько лет книге и количество дней прошедших после года издания книги.
Я делал это по конструктору присваивания.
Не могу выполнить данное задание.Возможно я делаю что то не правильно. Прошу помочь с кодом.

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
#include <iostream>
#include <math.h>
using namespace std;
class book
{
private: string name, avtor;
         int year;
public: string show_book();
        int year1();
        book (string iname, string iavtor, int iyear)
        
        {name = iname; avtor = iavtor; year = iyear;}
        int  let_knige();
        int kol_dney();
};
 
int  book::let_knige()
{
    
    return  2016 - year;
}
 
int book::kol_dney()
{return //не знаю как мне написать вычисления количества дней
}   
int main(){
    int a;
    int b;
 
    cout << "a=";
    cin >> a;
    cout << "let_knige=";
    cin>> b;
    book k( a,  b);
    cout << "kol dney=" <<  k.kol_dney() << endl;
        cout << "let knige=" <<  k.let_knige() << endl;
 
    return 0;
 
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.02.2016, 00:35
Ответы с готовыми решениями:

Создать класс КНИГА с такими полями в защищенной части: значення_УДК, автор, название, издательство, год издания.
Здраствуйте) Нужна помощь, а то незнаю как сделать даное задание! Создать класс КНИГА с такими...

Создать стек, полями которого будут название книги и количество ее страниц.
Создать стек полями которого будут название книги и количество ее страниц.Добавить в стек книгу,и...

задание по ООП (Класс «Библиотека» с полями: ФИО автора, название, год издания, количество экземпляров данной книги в библиотеке)
Разработать классы с использованием контейнера, разработать методы ввода данных с клавиатуры в...

Создать класс Книга с полями: название, количество страниц, цена
Реализовать в классе методы: · конструктор по умолчанию; · конструктор перезагрузки с...

10
155 / 102 / 12
Регистрация: 22.07.2010
Сообщений: 445
28.02.2016, 00:42 2
365 * Количество лет книге. Нет?
0
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 79
28.02.2016, 00:59  [ТС] 3
А можете помочь в работе в целом кода ? А то при написании у меня ошибки и не хочет работать.

Добавлено через 3 минуты
Mencey, не силен в создании конструктора. Так как мне рассказывали всего один раз про них.
0
155 / 102 / 12
Регистрация: 22.07.2010
Сообщений: 445
28.02.2016, 01:18 4
pro100suxx, что именно не понятно/не получается с конструкторами?
0
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 79
28.02.2016, 01:37  [ТС] 5
Mencey, не получается составить эту программу в целом. Вот и прошу помощи.
0
93 / 6 / 5
Регистрация: 25.02.2016
Сообщений: 30
28.02.2016, 10:00 6
book.h
Кликните здесь для просмотра всего текста

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
typedef unsigned int uint;
 
class Book
{
public:
 
    Book(char*, uint, uint);
 
    ~Book();
 
    class Error {};
 
    uint book_years();
    uint book_days();
 
    char* get_name() const {return name;}
    uint get_pages() const {return pages;}
    uint get_year() const {return year;}
 
    void set_name(char*);
    void set_pages(uint);
    void set_year(uint);
 
private:
 
    static const uint year_min = 1900;
    static const uint year_max = 2016;
 
    char* name;
    uint pages;
    uint year;
    bool is_year_valid();
 
};


book.cpp

Кликните здесь для просмотра всего текста

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
Book::Book(char * n, uint p, uint y)
    :name{n}, pages{p}, year{y}
{
    if(!is_year_valid()) throw Error{};
 
}
 
Book::~Book()
{
 
}
 
uint Book::book_years()
{
    return year_max - year;
}
 
uint Book::book_days()
{
    return book_years()*365;
}
 
void Book::set_name(char* n)
{
    name = n;
}
 
void Book::set_pages(uint p)
{
    pages = p;
}
 
void Book::set_year(uint y)
{
    year = y;
}
 
bool Book::is_year_valid()
{
    if(year < year_min || year > year_max )
    {
        return false;
    }
    else
    {
      return true;
    }
}


main.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main()
{
 
    Book bk{"First book", 450, 1983};
 
    Book bk1{"Last book", 317, 2000};
 
    std::cout << bk.get_name() << " " << bk.book_years() << " " << bk.book_days() << std::endl;
 
    std::cout << bk1.get_name() << " " << bk1.book_years() << " " << bk1.book_days();
 
    return 0;
}
0
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 79
28.02.2016, 13:44  [ТС] 7
Можно что то по проще реализовать как у меня в коде ? А то всего того что если у вас в коде я не понимаю.
0
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
28.02.2016, 14:03 8
Вам не кажется, что узнавать сколько лет книге путем сравнения с захардкоженой константой по меньшей мере странно?

Добавлено через 55 секунд
Ровно в 12 часов ночи в новый год программа превратится в тыкву?
1
93 / 6 / 5
Регистрация: 25.02.2016
Сообщений: 30
28.02.2016, 15:37 9

Не по теме:

Цитата Сообщение от avgoor Посмотреть сообщение
Ровно в 12 часов ночи в новый год программа превратится в тыкву?
Ну и гори она огнем.



Добавлено через 9 минут

Не по теме:

Цитата Сообщение от pro100suxx Посмотреть сообщение
А то всего того что если у вас в коде я не понимаю.
На этом наши полномочия того, все, когда это.

0
avgoor
28.02.2016, 15:52
  #10

Не по теме:

Цитата Сообщение от BlackMare Посмотреть сообщение
Ровно в 12 часов ночи в новый год программа превратится в тыкву?
Ну и гори она огнем.
К говнокодерской стороне силы опасно близко ты.:)

0
BlackMare
28.02.2016, 16:05     Создать класс "Книга" с полями "название книги", "количество страниц", "год издания"
  #11

Не по теме:

Цитата Сообщение от avgoor Посмотреть сообщение
К говнокодерской стороне силы опасно близко ты.
пожалуй будем поглядеть за всеми твоими сообщениями. Посмотрим к какой стороне !!!ТЫ!!! ближе:)

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2016, 16:05

Создать класс с полями Книга: название, количество страниц, цена
Реализовать в классе методы: - конструктор по умолчанию; - конструктор перезагрузки с...

Создать класс Книга с полями: название, количество страниц, цена
Прошу прощения, я понимаю что похожая тема уже есть( точнее похожая задача). Но как оказалось я...

Создать класс Книга, полями которого будут являться ее название, количество страниц и автор. Создать список типа List о
Создать класс Книга, полями которого будут являться ее название, количество страниц и автор....

Структура Книга: Автор, Название книги, Год издания. Вывести книги старше 10 лет. Ввод-вывод – в файлы
. Входную информацию требуется сохранять в бинарном файле, выходную – в текстовом. Написать...

Создать класс - книга. Поля: название, автор, количество страниц. Свойства: название, автор, количество страниц
1.Определить пользовательский класс в соответствие с вариантом задания. 2.Определить в классе...

Создать класс DB в котором будет содержаться массив из объектов класса Книга: название, автор, жанр, год, страниц, тираж
Помогите пожалуйста выполнить задание!!! Необходимо создать класс DB в котором будет содержаться...

Создать класс Книга: название, количество страниц, цена
Создать класс Книга: название, количество страниц, цена Реализовать в классе методы: ·...


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

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

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