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

Описать класс «домашняя библиотека» - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
sevatsimbalisty
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 19
09.11.2012, 23:41     Описать класс «домашняя библиотека» #1
Описать класс «домашняя библиотека». Предусмотреть возможность работы с произвольным числом книг, поиска книги по какому-либо признаку (например, по автору или по году издания), добавления книг в библиотеку, удаления книг из нее, сортировки книг по разным полям.
Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса.

Добавлено через 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
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# include<iostream.h>
# include<conio.h>
# include<string.h>
# include<stdio.h>
 
 
struct mas
{
char name[20];
char autor[20];
int god;
};
 
class bibl
{
private:
   mas kn;
public:
   void in(bibl[],int&);
   void vyb(bibl[],int&);
   void poisk(bibl[],int&);
   void udal(bibl[],int&);
   void dobavl(bibl[],int&);
   void vivod(bibl[],int&);
};
void main()
{
clrscr();
bibl a[10];
int x=0;
cout<<"Vvedite chislo knig:\n";
    cin>>x;
cout<<"Vvedite vashi knigi:\n";
    a[x].in(a,x);
getch();
}
void bibl::in(bibl a[], int&x)
{
for(int i=0;i<x;i++)
   {
   cout<<"Nazvanie: ";
      cin>>a[i].kn.name;
   cout<<"Avtor: ";
      cin>>a[i].kn.autor;
   cout<<"God izdaniya: ";
      cin>>a[i].kn.god;
      }
getch();
clrscr();
 
a[x].vyb(a,x);
}
void bibl::vyb(bibl a[],int&x)
{
int vybor=0;
do
{
clrscr();
cout<<"1-Poisk knig\n2-udalenye knigi\n3-dobavlenye knigi\n4-pokazat biblioteky\n5-vihod\nVash vybor:";
cin>>vybor;
clrscr();
   if(vybor==1)
      a[x].poisk(a,x);
   if(vybor==2)
      a[x].udal(a,x);
   if(vybor==3)
      a[x].dobavl(a,x);
   if(vybor==4)
      a[x].vivod(a,x);
}
while(vybor!=5);
}
void bibl::poisk(bibl a[],int&x)
{
int p=0,god=0;
char name[20],autor[20];
    cout<<"1-poisk po nazvaniu\n2-poisk po avtory\n3-poisk po gody izdaniya\nVash vibor:";
    cin>>p;
    clrscr();
    
    if(p==1)
        {
        int f=0;
        cout<<"Vvedite nazvanie: ";
        cin>>name;
    for(int i=0;i<x;i++)
    {
        if(strcmp(name,a[i].kn.name)==0)
           {
           cout<<a[i].kn.name<<"     "<<a[i].kn.autor<<"     "<<a[i].kn.god<<endl;
           f++;
           }}
        if(f==0)
           cout<<"Net takix knig!";
        getch();
        }
    if(p==2)
        {
        int h=0;
        cout<<"Vvedite avtora: ";
        cin>>autor;
    for(int i=0;i<x;i++)
    {
        if(strcmp(autor,a[i].kn.autor)==0)
           {
           cout<<a[i].kn.name<<"     "<<a[i].kn.autor<<"     "<<a[i].kn.god<<endl;
           h++;
           }}
        if(h==0)
           cout<<"Net takix knig!";
        getch();
        }
    if(p==3)
        {
        int g=0;
        cout<<"Vvedite god izdaniya: ";
        cin>>god;
    for(int i=0;i<x;i++)
    {
        if(god==a[i].kn.god)
           {
           cout<<a[i].kn.name<<"     "<<a[i].kn.autor<<"     "<<a[i].kn.god<<endl;
           g++;
           }}
        if(g==0)
           cout<<"Net takix knig!";
        getch();
        }
 
 
 
}
void bibl::udal(bibl a[],int&x)
{
int udal;
cout<<"vvedit adress dlya udaleniya < "<<x<<endl;
    cin>>udal;
        if(x==1)
            cout<<"udalenye nevozmozhno";
            strcpy(a[udal-1].kn.name,a[x-1].kn.name);
            strcpy(a[udal-1].kn.autor,a[x-1].kn.autor);
            a[udal-1].kn.god=a[x-1].kn.god;
            x--;
        cout<<"Udaleno!\n";
}
void bibl::dobavl(bibl a[],int&x)
{
   cout<<"Nazvanie: ";
      cin>>a[x+1].kn.name;
   cout<<"Avtor: ";
      cin>>a[x+1].kn.autor;
   cout<<"God izdaniya: ";
      cin>>a[x+1].kn.god;
    x++;
}
void bibl::vivod(bibl a[],int&x)
{
for(int i=0;i<x;i++)
   {
   cout<<a[i].kn.name<<"     "<<a[i].kn.autor<<"     "<<a[i].kn.god<<endl;
   }
getch();
clrscr();
}
Добавлено через 32 секунды
штото не виходит помогите
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ZAYEC77
 Аватар для ZAYEC77
41 / 41 / 1
Регистрация: 13.08.2012
Сообщений: 441
09.11.2012, 23:45     Описать класс «домашняя библиотека» #2
А почему не создать клас книга? и делать из них список
Oberok
 Аватар для Oberok
5 / 5 / 0
Регистрация: 11.03.2011
Сообщений: 40
09.11.2012, 23:47     Описать класс «домашняя библиотека» #3
Смотри тебе повезло, у меня контрольная такая была когда-то. Сбрасываю рабочую программу, если подойдет могу сбросить исходники. Написана на Qt.
грузите файлы на форум
I.M.
10.11.2012, 00:02
  #4

Не по теме:

Oberok, сурово вы с человеком) у него вон, conio.h подключена, а вы ему qt

sevatsimbalisty
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 19
10.11.2012, 01:57  [ТС]     Описать класс «домашняя библиотека» #5
Парни спасибо..но можен ктото помоч с кодом..так штоби бил сpp файл

Добавлено через 51 секунду
ZAYEC77, помоги с кодом ато у меня ничо не виходит(
ZAYEC77
 Аватар для ZAYEC77
41 / 41 / 1
Регистрация: 13.08.2012
Сообщений: 441
10.11.2012, 03:07     Описать класс «домашняя библиотека» #6
sevatsimbalisty,тебе консоль надо? ООП обязательно?
sevatsimbalisty
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 19
11.11.2012, 23:03  [ТС]     Описать класс «домашняя библиотека» #7
Да код з клавіатури.А то зі своїм опитом цю курсову ніколи не зроблю)
ZAYEC77
 Аватар для ZAYEC77
41 / 41 / 1
Регистрация: 13.08.2012
Сообщений: 441
11.11.2012, 23:44     Описать класс «домашняя библиотека» #8
sevatsimbalisty, ООП нада?
sevatsimbalisty
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 19
12.11.2012, 00:34  [ТС]     Описать класс «домашняя библиотека» #9
да ето по ООП
ZAYEC77
 Аватар для ZAYEC77
41 / 41 / 1
Регистрация: 13.08.2012
Сообщений: 441
12.11.2012, 23:17     Описать класс «домашняя библиотека» #10
sevatsimbalisty, компилятор какой? (если хочеш, то skype: zayech77)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2012, 02:26     Описать класс «домашняя библиотека»
Еще ссылки по теме:

Описать класс "Библиотека" C++
C++ Написать структуру «Домашняя библиотека»
Описать класс «домашняя библиотека» C++

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

Или воспользуйтесь поиском по форуму:
sevatsimbalisty
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 19
13.11.2012, 02:26  [ТС]     Описать класс «домашняя библиотека» #11
CodeBlocks или Dev-C++
Yandex
Объявления
13.11.2012, 02:26     Описать класс «домашняя библиотека»
Ответ Создать тему
Опции темы

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