Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Class CCatalogue



{ int m_q; // фактическое число книг

public:

CBook* m_pBook[MAX_SIZE];//массив указателей на книги

CCatalogue(); ~CCatalogue();

bool ins(const string&,const string&,int);//добавление

bool del (const string&); //удаление

int find (const string&) const; //поиск

void sort(); //сортировка

int getNumberOfBook() const; //возврат количества книг

};

// Оределение методов класса меню CCatalogue

CCatalogue::CCatalogue(): m_q(0){}

CCatalogue::~CCatalogue()

{ for (int i=0;i< m_q;i++)

delete m_pBook[i];

}

// возврат фактического количества книг

int CCatalogue::getNumberOfBook() const { return m_q; }

/* добавление новой книги

Проверить наличие книги в массиве;

2) если книга уже есть в массиве, вернуть ложь если книги нет:

- создать новый объект и занести в массив;

- увеличить число книг в массиве и вернуть истину */

bool CCatalogue::ins(const string& author, const string& title,int year)

{ if (find(title)!= -1) return false;

m_pBook[m_q++] = new CBook(author,title,year);

Return true;

}

/* удаление книги из массива

Проверить наличие книги в массиве

Если книги нет в массиве, вернуть ложь

если книга найдена:

- разрушить найденный объект;

- сжать массив;

- уменьшить число книг в массиве и вернуть истину.*/

bool CCatalogue::del(const string& key)

{ int i = find(key);

if (i < 0) return false;

delete m_pBook[i];

while(i < m_q-1)

m_pBook[i++] = m_pBook[i+1];





Дата публикования: 2015-04-07; Прочитано: 199 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...