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

Класс Book - C++

Восстановить пароль Регистрация
 
Fintt
 Аватар для Fintt
10 / 10 / 0
Регистрация: 13.02.2012
Сообщений: 94
08.09.2013, 18:14     Класс Book #1
Подскажите, как добавить в список книг ещё одну книгу? Я думаю функцию больше не надо писать, можно в case засунуть. Я немного запутался.
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
class Book
     {
      char Avtor [20];
      char Nazvanie [20];
      char Izd [20];
      int god;
      int kol_str;
      public:
         Book();
         char *getavtor();
         char *getizd();
         int getgod();
         void show();
     };
 
Book::Book()
        {
         cout<<"Avtor: "; cin>>Avtor;
         cout<<"Nazvanie: "; cin>>Nazvanie;
         cout<<"Izdat: "; cin>>Izd;
         cout<<"God: "; cin>>god;
         cout<<"Kol str: "; cin>>kol_str; cout<<endl;
        }
 
void Book::show()
    {
     cout<<"Avtor: "<<Avtor<<"\t||\t"<<"Nazvanie: "<<Nazvanie<<endl;
     cout<<"Izdat: "<<Izd<<"\t||\t"<<"God: "<<god<<"\t||\t"<<"Kol str: "<<kol_str<<endl; cout<<endl;
    }
 
char *Book::getavtor() { return Avtor; }
char *Book::getizd() { return Izd; }
int Book::getgod() { return god; }
 
void spis_book_avtora(Book spis[],int n);
void spis_book_izd(Book spis[],int n);
void spis_book_po_godu(Book spis[],int n);
void ves_spisok(Book spis[], int n);
 
void menu()
    {
char chr=' ';
     cout<<"                MENU"<<endl;
     cout<<"            1-Sformirovatb spisok"<<chr<<endl;
     cout<<"            2-Spis knig po avtoru"<<chr<<endl;
     cout<<"            3-Spis knig po izdatelbstvy"<<chr<<endl;
     cout<<"            4-Spis knig posle goda"<<chr<<endl;
     cout<<"            5-Dobavitb knigu"<<chr<<endl;
     cout<<"            6-Izmenitb nazvanie"<<chr<<endl;
     cout<<"            7-Udalitb knigu"<<chr<<endl;
     cout<<"            8-Wes spisok knig"<<chr<<endl;
     cout<<"                Esc->EXIT"<<chr<<endl;
    }
 
void main()
    {
     clrscr();
     Book *spis;
     int n,i;
     char ch;
     menu();
     while (ch!=27){
     ch=getch();
     switch (ch)
       {
        case '1': cout<<"Vvedite kol-vo: "; cin>>n;
              spis=new Book[n];
             for (i=0;i<n;i++)
                {
                 cout<<"============================================================="<<endl;
                 spis[i].show();
                 cout<<"============================================================="<<endl;
                 } break;
        case '2': cout<<"Spisok knig po avtoru"<<endl;
              spis_book_avtora(spis,n); break;
        case '3': cout<<"Spisok knig po izdatelbstvu"<<endl;
              spis_book_izd(spis,n); break;
        case '4': cout<<"Spisok knig posle zadannogo goda"<<endl;
              spis_book_po_godu(spis,n);  break;
        case '5': cout<<"Dobavitb v spisok"<<endl;
 
        //  case '7':  break;
        case '8': ves_spisok(spis,n); break;
        case 27: ch=27; break;
        default: clrscr(); menu();
       }}
     getch();
     delete[] spis;
    }
 
void ves_spisok(Book spis[], int n)
    {
      for (int i=0; i<n; i++)
      spis[i].show();
    }
 
void spis_book_avtora(Book spis[],int n)
    {
     char Avtor[20];
     cout<<"Avtor: ";
     cin>>Avtor; cout<<endl;
     for (int i=0; i<n; i++)
    if (strcmp(spis[i].getavtor(),Avtor)==0) spis[i].show();
      else cout<<"Het takogo avtora";
    }
 
void spis_book_izd(Book spis[],int n)
    {
     char Izd[20];
     cout<<"Izdat: ";
     cin>>Izd; cout<<endl;
     for (int i=0; i<n; i++)
    if (strcmp(spis[i].getizd(),Izd)==0) spis[i].show();
       else cout<<"Het takogo izdatelstva";
    }
 
void spis_book_po_godu(Book spis[],int n)
    {
     int g;
     cout<<"God: ";
     cin>>g; cout<<endl;
     for (int i=0; i<n; i++)
    if (spis[i].getgod()>=g) spis[i].show();
    }
Добавлено через 4 часа 15 минут
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2013, 18:14     Класс Book
Посмотрите здесь:

C++ Разработать класс Book
C++ Класс Book
Class Book ошибочка C++
C++ Class book continue
Класс, производный класс, паблик-класс C++
Создать класс Book. Переменная типа Book должна содержать следующие поля: C++
Написать структуру Book и функции сортировки массива таких структур C++
Отдельно класс данных, класс формул и главный класс C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hugra
 Аватар для Hugra
47 / 47 / 1
Регистрация: 18.07.2013
Сообщений: 138
Записей в блоге: 1
08.09.2013, 18:28     Класс Book #2
Цитата Сообщение от Fintt Посмотреть сообщение
Подскажите, как добавить в список книг ещё одну книгу?
Выдели место под новый массив, с размером больше предыдущего на один. Скопируй в него старый массив книг и добавь новую книгу. Или используй Vector
p.s. Я считаю, что не стоит создавать такой конструктор =\
Yandex
Объявления
08.09.2013, 18:28     Класс Book
Ответ Создать тему
Опции темы

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