Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [С++] Задача на многократное наследование


Автор: Luxian 29.9.2009, 11:42
Здравствуйте кто может помогите решить задачу в С++ с условием 5)    Библиотеке было подарено 100 книг. Для каждой книге ведется учет ={автор, название книге, год издания, место издания}. Каждый читатель зарегистрирован в библиотеке ={имя, улица, номер дома, подъезд, квартира, номер телефона}. Вычислить, как часто каждая книга читается.

Автор: zim22 29.9.2009, 14:38
Luxian, почему сам не хочешь сделать?

по-теме: задача сформулирована недостаточно подробно.
в частности: 
- сколько читателей в день посещают библиотеку
- может ли читатель за раз взять больше одной книги, если да, то есть ли ограничение на кол-во книг
- если читатель захотел взять книгу, которой нет в наличии - что произойдёт? он выберет другую или уйдёт домой "ни с чем"?
- в течении какого срока библиотека предоставляет читателю право пользоваться книгой(через сколько времени её нужно вернуть)
- какой период времени будет установлен для эмуляции системы "Библиотека".
***
многократного наследования не вижу в этой задаче.

Автор: Luxian 29.9.2009, 14:51
Цитата(zim22 @ 29.9.2009,  14:38)
Luxian, почему сам не хочешь сделать?

по-теме: задача сформулирована недостаточно подробно.
в частности: 
- сколько читателей в день посещают библиотеку
- может ли читатель за раз взять больше одной книги, если да, то есть ли ограничение на кол-во книг
- если читатель захотел взять книгу, которой нет в наличии - что произойдёт? он выберет другую или уйдёт домой "ни с чем"?
- в течении какого срока библиотека предоставляет читателю право пользоваться книгой(через сколько времени её нужно вернуть)
- какой период времени будет установлен для эмуляции системы "Библиотека".
***
многократного наследования не вижу в этой задаче.


 Да я не то чтобы не хочу я просто не знаю как это сделать по этому и обратился в форум за помощью.!        Ну тут уж ничего не поделаешь такое вот задание.........Если можете помочь то буду благодарен

Автор: zim22 29.9.2009, 15:06
Цитата(Luxian @  29.9.2009,  14:51 Найти цитируемый пост)
Да я не то чтобы не хочу я просто не знаю как это сделать по этому и обратился в форум за помощью

я тебе подскажу: прочитай книгу по С++. "Основы программирования на С++. Стэнли Липпман" в ней всего-лишь 200 страниц.


Автор: Luxian 29.9.2009, 15:09
Цитата(zim22 @ 29.9.2009,  15:06)
Цитата(Luxian @  29.9.2009,  14:51 Найти цитируемый пост)
Да я не то чтобы не хочу я просто не знаю как это сделать по этому и обратился в форум за помощью

я тебе подскажу: прочитай книгу по С++. "Основы программирования на С++. Стэнли Липпман" в ней всего-лишь 200 страниц.

Не плохая идея но времени нехватит изучить книгу..........может всетаки поможешь если ты разбираешься в этом........??

Автор: zim22 29.9.2009, 15:19
Цитата(Luxian @  29.9.2009,  15:09 Найти цитируемый пост)
.может всетаки поможешь если ты разбираешься в этом........??

могу UML диаграммы нарисовать этой задачи(когда время будет свободное).  я его сейчас изучаю - полезно будет попрактиковаться. smile

Автор: Luxian 30.9.2009, 14:40
Неужели никто не знает как решить эту задачу?........ПОМОГИТЕ ПАЦАНЫ ПОЖАЛУЙСТА

Автор: Gluttton 1.10.2009, 17:22
Цитата(Luxian @  30.9.2009,  14:40 Найти цитируемый пост)
Неужели никто не знает как решить эту задачу?

Задача больше напоминает каламбур, чем задание... Вы можете объяснить своими словами из каких соображений нужно исходить при подсчете количества выдачи книги?!
Задание точно по С++, а не по SQL?

Автор: stat007 1.10.2009, 18:06
Цитата

Задание точно по С++, а не по SQL?

Да уж, на MySql это делается за несколько минут.....))

Автор: Luxian 5.10.2009, 13:30
Да задание точно по С++ 

вот есть пример программы который был выдан вместе с заданием :
Задание: Объявите основные классы: обложка и страница, подкласс книга. Вывести на экран информация о книгах.

#include<iostream.h>
#include<string.h>
class coperta
{   protected:
    char titlu[100];
   public:
    coperta(char *t) {strcpy(titlu,t);}
};

class pagina
{   protected:
    int linii;
   public:
    pagina (int l=50){linii=l;}
};
class carte:public coperta, public pagina
{   char autor[50];
   float pret;
public:
   carte(char *t, char *a, float p): coperta(t), pagina(60)    {strcpy(autor,a);}
   void show() {cout<<titlu<<autor<<pret;}
};
void main()
{    carte C(„C/C++”, „Herberdt Schildt”, 700);
    C.show();}

Автор: Gluttton 5.10.2009, 21:34
Ну вот теперь, что то начинает вырисовываться...
Т.е. я так понимаю, что задачане не на класическое наследование (is-a), а на наследование-делегирование (has-a)...
Значит есть у нас класс "Библиотека" - Library, а внутни него определены два класса "Книга" - Book и "Читатель" - Reader...
Кроме того класс Library имеет в составе компонентных данных массивы типа Book и Reader с перечнем книг и читателей...
Я правильно понимаю?
Но опять таки, как вычислить это:
Цитата(Luxian @  29.9.2009,  11:42 Найти цитируемый пост)
Вычислить, как часто каждая книга читается.

P.S. Для того, что бы Ваш код было удбнее читать используйте теги "Код"...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)