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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Pavlo-
1 / 1 / 0
Регистрация: 24.10.2012
Сообщений: 46
#1

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

20.12.2013, 23:08. Просмотров 133. Ответов 0
Метки нет (Все метки)

Кликните здесь для просмотра всего текста
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++
В общем задание написать шаблон класса массив. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; ...

Класс+массив - C++
// array.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; ...

Класс Массив - C++
Нужно создать класс Массив. Методы массива:конструктор с одним параметром-длина массива; ввод-вывод; поиск кол-ва элементов массива,...

Класс-массив - C++
Здравствуйте. Нужно разъяснение. Есть класс &quot;Масса&quot; всё корректно работает, нареканий нет. class MMas { private: ...

Класс как массив o.O - C++
Возможно ли сделать из класса подобие массива? В классе есть vector&lt;int&gt; Objects; Возможно ли сделать обращение к элементам Objects не...

Класс одномерный массив - C++
Создать класс одномерный массив целых чисел в С++. После ввода с клавиатуры произвольного одномерного массива целых чисел(объекта данного...

Написать класс «массив». - C++
В классе реализовать следующие методы: конструкторы (по умолчанию, с параметрами, копирования), деструктор, ввод с клавиатуры, поиск...

Класс-динамический массив... - C++
Нужен такой класс. А как его лучше написать? Через связанные списки? Нужно, чтобы он был &quot;быстрым&quot;... Основные методы: установка размера,...


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

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

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