Форум программистов, компьютерный форум CyberForum.ru

Класс массив (Проект) - C++

Восстановить пароль Регистрация
 
Pavlo-
1 / 1 / 0
Регистрация: 24.10.2012
Сообщений: 46
20.12.2013, 23:08     Класс массив (Проект) #1
Кликните здесь для просмотра всего текста
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
#pragma once
 
class Book
{
private:
    int BookID;
    char BookName[20];
    char BookAutor[30];
    char BookGenre[15];
    int BookPage;
    bool BookOn;
 
public:
    Book(void);
    Book(int _BookID, char * _BookName,char * _BookAutor,char * _BookGenre,int _BookPage,bool _BookOn = true);
    void SetData(int _BookID, char * _BookName,char * _BookAutor,char * _BookGenre,int _BookPage,bool _BookOn);
    void ShowData();
    int GetBookID() { return BookID;};
    char *GetBookName();
    char *GetBookAutor();
    char *GetBookGenre();
    int GetBookPage() { return BookPage; };
    bool GetBookOn() { return BookOn; };
    void SetBookOn(bool _BookOn) {BookOn = _BookOn; }; 
 
    ~Book(void);
};
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
49
50
51
52
53
54
55
#include "Book.h"
#include <iostream>
 
Book::Book(void) : BookID(0), BookPage(0) , BookOn(true)
{
    strcpy_s(BookName,"");
    strcpy_s(BookAutor,"");
    strcpy_s(BookGenre,"");
}
 
Book::Book(int _BookID, char * _BookName,char * _BookAutor,char * _BookGenre,int _BookPage,bool _BookOn)
    : BookID(_BookID), BookPage(_BookPage), BookOn(_BookOn)
{
    strcpy_s(BookName, _BookName);
    strcpy_s(BookAutor,_BookAutor);
    strcpy_s(BookGenre,_BookGenre);
}
 
void Book::SetData(int _BookID, char * _BookName,char * _BookAutor,char * _BookGenre,int _BookPage,bool _BookOn)
{
    strcpy_s(BookName, _BookName);
    strcpy_s(BookAutor,_BookAutor);
    strcpy_s(BookGenre,_BookGenre);
    BookID = _BookID;
    BookPage = _BookPage;
    BookOn = _BookOn;
}
 
void Book::ShowData()
{
    std::cout << BookID << '\t' << BookName << '\t' << BookAutor << '\t' << BookGenre << '\t' << BookPage << '\t' << BookID << '\n';
}
 
char *Book::GetBookName()
{
    char *tmp = new char[strlen(BookName)+1];
    strcpy_s(tmp, strlen(BookName)+1, BookName);
    return tmp;
}
char *Book::GetBookAutor()
{
    char *tmp = new char[strlen(BookAutor)+1];
    strcpy_s(tmp, strlen(BookAutor)+1, BookAutor);
    return tmp;
}
 
char *Book::GetBookGenre()
{
    char *tmp = new char[strlen(BookGenre)+1];
    strcpy_s(tmp, strlen(BookGenre)+1, BookGenre);
    return tmp;
}
Book::~Book(void)
{
}
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
#pragma once
#include "Book.h"
class Books
{
private:
    static const int MAX_BOOKS = 100;
    Book books[MAX_BOOKS];
    int NumOfBooks;
    bool IsUniqueNumber(Book _books);
    char MyFileName[40];
public:
    Books(void);
    bool AddBookData(Book _book);
    bool EditBookData(int ID, Book _book);
    void DelBookData(char *BookNumber);
    Book GetBookData(char *_Number);
    Book GetBookData(int ID);
    int Books::GetBookID(char *_Number);
    char *GetDBFileName();
    void SetDBFileName(const char *FileName);
    int GetNumOfBooks() { return NumOfBooks; };
 
    void WriteDataToFile(const char *FileName); 
    void ReadDataFromFile(const char *FileName);
    Book ReadRecordFromFile(const char *FileName, int recID);
    void EditRecordInFile(const char *FileName, int recID, Book _book);
    void WriteRecordToFile(const char *FileName, Book _book);
    Book &operator [] (int ID);
    
    ~Books(void);
};
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
49
#include "Books.h"
#include <fstream>
#include <cstring>
 
Books::Books(void) : NumOfBooks(0) {}
/*
bool Books::IsUniqueNumber (Book _book)
{
    for(int i = 0; i < NumOfBooks ; i++)
    if (strcmp(books[i].GetBookID(), _book.GetBookID()) == 0)
        return false;
    return true;
}
 
// Тут помилка!
 
bool Books::AddBookData(Book _book)
{
    if (!IsUniqueNumber(_book)) return false;
    if (NumOfBooks < MAX_BOOKS-1)
    {       
        books[NumOfBooks] = _book;
        NumOfBooks++;
        return true;
    }
    else
        return false;
}
 
bool Books::EditBookData(int ID, Book _book)
{
    if (ID >= 0 && ID < MAX_BOOKS)
    {
        //if (cars[id].GetNumber() == _car.GetNumber() || IsUniqueNumber(_car))
        books[ID] = _book;
        return true;
    }
    else 
        return false;
}
 
void Books::DelBookData(char * _BookID)
{
 
}
*/
Books::~Books(void)
{
}

Здраствуйте мне нужно зделать класс массив. Я пробовал но есть ошибки и я незнаю что делать дальше. Помогите пожалуйста!
Кликните здесь для просмотра всего текста
Разработать информационную систему «Библиотека».
Описать классы Book и Reader.
Класс Book должен содержать поля с такой информацией: идентификатор книги, название книги, автор, жанр, количество страниц, статус (в наличии, выдано).
Предусмотреть функции:
1. добавления новой книги,
2. редактирования информации о книге,
3. удаления книги из базы,
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2013, 23:08     Класс массив (Проект)
Посмотрите здесь:

Класс-динамический массив... C++
Класс массив C++
Класс+массив C++
Класс Массив C++
опп класс и массив (создать массив указателей по выборке животных, участвующих в забеге) C++
Класс-массив C++
C++ Класс "Телефонная станция". Массив символов и массив строк - в чем разница?
Класс одномерный массив C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 08:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru