Срочно Нужна Помощь

Тема в разделе "C/C++/C#", создана пользователем paNDa, 30 ноя 2014.

  1. paNDa

    paNDa New Member

    Регистрация:
    30 ноя 2014
    Сообщения:
    2
    Симпатии:
    0
    нужно построить класс
    Дані відомості про 15 книг. Відомості про кожну з книг - це прізвище автора, назва книги і рік видання. Визначити кількість книг даного автора, виданих у період з 1990 по 2004 р.

    Добавлено:
    #include<iostream>
    #include<conio.h>
    #include<string.h>
    #pragma warning(disable:4996)
    using namespace std;

    class Books{
    public:
    Books();
    Books(char*, char*, int);
    Books(Books&);

    void setBooks(char*, char*, int);
    void setBooks();
    void printBooks();
    char *getavtor(){ return avtor; }
    int getyear(){ return year; }
    char *getnazv(){ return nazv; }
    void setavtor(char* m){ strcpy(avtor, m); }
    void setyear(int n){ year = n; }
    void setnazv(char* f){ strcpy(nazv, f); }
    friend void find(Books, int);
    private:
    char avtor[20];
    int year;
    char nazv[20];
    };


    Books::Books()
    {
    year = 0; strcpy(avtor, "no avtor"); strcpy(nazv, "no nazv");
    }
    Books::Books(char* m,char *f ,int n )
    {
    year = n; strcpy(avtor, m); strcpy(nazv, f);
    }
    Books::Books(Books&a)
    {
    year = a.year; strcpy(avtor, a.avtor); strcpy(nazv,
    a.nazv);
    }
    void Books::setBooks(char* m, char *f,int n)
    {
    year = n; strcpy(avtor, m); strcpy(nazv, f);
    }
    void Books::setBooks()
    {
    cout << "Vvedite avtora knige> "; cin >> avtor;
    cout << "Vvedite god izdaniya knigi (cifry (0-9))> "; cin >> year;
    cout << "nazvanie knigio> "; cin >> nazv;
    }
    void Books::printBooks()
    {
    cout << "avtor knige: " << avtor << endl
    << "god izdaniya: " << year << endl
    << ": " << nazv << endl;
    }
    void find(Books a, int n)
    {
    if (n == a.year) cout << "\nMarka:" << a.avtor << "\nnazv:"<<a.nazv;

    }
    int main()
    {
    setlocale(0, "rus");
    Books Alies[2];
    for (int i = 0; i< 10; i++)Alies.setBooks();
    for (int i = 0; i< 10; i++)Alies.printBooks();

    int n, c;
    do{
    cout << "\n Vvesti avtora: ";
    cin >> n;
    for (int i = 0; i< 2; i++)find(Alies, n);
    cout << "\n Vvesti povtorno?(0 - Exit, 1-9 - Da) :";
    cin >> c;
    } while (c != 0);
    getch();
    return 0;
    }

    Добавлено: и выбивает такие ошибки
    Ошибка 1 error C2511: Books::Books(char *,int,char *): перегруженная функция-член не найдена в "Books" c:\users\саша\documents\visual studio 2013\projects\лр5\лр5\books.cpp 36 1 ЛР5
    Ошибка 2 error C2597: недопустимая ссылка на нестатический член "Books::year" c:\users\саша\documents\visual studio 2013\projects\лр5\лр5\books.cpp 37 1 ЛР5
    Ошибка 3 error C2597: недопустимая ссылка на нестатический член "Books::avtor" c:\users\саша\documents\visual studio 2013\projects\лр5\лр5\books.cpp 37 1 ЛР5
    Ошибка 4 error C2597: недопустимая ссылка на нестатический член "Books::nazv" c:\users\саша\documents\visual studio 2013\projects\лр5\лр5\books.cpp 37 1 ЛР5
    Ошибка 5 error C2511: void Books::setBooks(int,char *,char *): перегруженная функция-член не найдена в "Books" c:\users\саша\documents\visual studio 2013\projects\лр5\лр5\books.cpp 45 1 ЛР5
    Ошибка 6 error C2597: недопустимая ссылка на нестатический член "Books::year" c:\users\саша\documents\visual studio 2013\projects\лр5\лр5\books.cpp 46 1 ЛР5
    Ошибка 7 error C2597: недопустимая ссылка на нестатический член "Books::avtor" c:\users\саша\documents\visual studio 2013\projects\лр5\лр5\books.cpp 46 1 ЛР5
    Ошибка 8 error C2597: недопустимая ссылка на нестатический член "Books::nazv" c:\users\саша\documents\visual studio 2013\projects\лр5\лр5\books.cpp 46 1 ЛР5
     
  2. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    Код (C++):
    //
    #include <iostream>
    #include <vector>

    using namespace std;

    struct Book
    {
    char author[20];
    char book[20];
    int year;
    };

    class Library{
    vector<Book> collection;
    public:
    Library()
    {

    }
    bool Exists(Book book)
    {
    return false;
    }
    void AddBook(Book newBook)
    {
    if (!Exists(newBook))
    {
    collection.push_back(newBook);
    }
    }
    void ShowAllBooks()
    {
    for (int i = 0; i < collection.size(); i++)
    {
    cout << collection[i].author << " ";
    cout << collection[i].book << " ";
    cout << collection[i].year << endl;
    }
    }
    void ShowAllWritersBooksInPeriod(char* writerName, int left, int right)
    {
    for (int i = 0; i < collection.size(); i++)
    {
    if (strcmp(writerName, collection[i].author) == 0)
    {
    if (collection[i].year >= left && collection[i].year <= right)
    {
    cout << collection[i].author << " ";
    cout << collection[i].book << " ";
    cout << collection[i].year << endl;
    }

    }
    }
    }
    };
    //
     
  3. paNDa

    paNDa New Member

    Регистрация:
    30 ноя 2014
    Сообщения:
    2
    Симпатии:
    0
    спасибо конечно а можно просто чуть исправить мой код и добавить деструктор туда?
    а то в твоем немного не доганяю
     
  4. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    ты спрашивай,что не понятно - я объясню.

    p.s.
    если бы у меня было желание и время разбирать и отлаживать твой код,
    я бы так и сделал.
     
Загрузка...
Похожие Темы - Срочно Нужна Помощь
  1. Scrum
    Ответов:
    0
    Просмотров:
    1.186
  2. XserX
    Ответов:
    0
    Просмотров:
    977
  3. Marazm
    Ответов:
    0
    Просмотров:
    1.292
  4. GimmyGee
    Ответов:
    1
    Просмотров:
    1.336
  5. vital
    Ответов:
    4
    Просмотров:
    3.136

Поделиться этой страницей