Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
pro100suxx
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 52
1

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

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

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

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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2016, 00:35
Ответы с готовыми решениями:

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс"
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно"
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить...

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

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления"
Помогите с кодом написания задачи, не понимаю как написать классы в классе. ...

Создать класс "Кот" с полями "Возраст" и "Вес"
Нужно сделать универсальный класс.Задание такое : Есть два кота (их может...

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

Добавлено через 3 минуты
Mencey, не силен в создании конструктора. Так как мне рассказывали всего один раз про них.
0
Mencey
151 / 98 / 12
Регистрация: 22.07.2010
Сообщений: 426
28.02.2016, 01:18 4
pro100suxx, что именно не понятно/не получается с конструкторами?
0
pro100suxx
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 52
28.02.2016, 01:37  [ТС] 5
Mencey, не получается составить эту программу в целом. Вот и прошу помощи.
0
BlackMare
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
pro100suxx
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 52
28.02.2016, 13:44  [ТС] 7
Можно что то по проще реализовать как у меня в коде ? А то всего того что если у вас в коде я не понимаю.
0
avgoor
1041 / 609 / 157
Регистрация: 05.12.2015
Сообщений: 1,732
28.02.2016, 14:03 8
Вам не кажется, что узнавать сколько лет книге путем сравнения с захардкоженой константой по меньшей мере странно?

Добавлено через 55 секунд
Ровно в 12 часов ночи в новый год программа превратится в тыкву?
1
BlackMare
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
28.02.2016, 16:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2016, 16:05
Привет! Вот еще темы с ответами:

Структура «Преподаватель» с полями "ФИО", "стаж", "категория", "нагрузка"
Функция - расчёт зарплаты по нагрузке и оплате часа для определенной категории....

Реализовать структуру "Анкета" с полями "Фамилия", "Пол" и "Адрес"
Здравствуйте. Проходим тему Структуры, не могу понять, как определить...

Класс "Телефонная книга". Дописать методы, "поиск" и "удаления" абонента
Вот код класса, который должен предоставьте пользователю возможность добавлять...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru