Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/47: Рейтинг темы: голосов - 47, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 04.12.2016
Сообщений: 4

Описать класс Библиотека

04.12.2016, 18:53. Показов 8540. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Люди добрые помогите описать класс "Домашняя библиотека"
# include<iostream.h>
# include<conio.h>
# include<string.h>
# include<stdio.h>
struct mas
{
char name[20];
char autor[20];
int god;
int tirazh;
};
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;
cout<<"Tirazh: ";
cin>>a[i].kn.tirazh;
}
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:oisk(bibl a[],int&x)
{
int p=0,god=0,tirazh=0;
char name[20],autor[20];
cout<<"1-poisk po nazvaniu\n2-poisk po avtory\n3-poisk po gody izdaniya\n4-poisk po tirazhu\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<<" "<<a[i].kn.tirazh<<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<<" "<<a[i].kn.tirazh<<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<<" "<<a[i].kn.tirazh<<endl;

g++;
}}
if(g==0)
cout<<"Net takix knig!";
getch();
}
if(p==4)
{
int t=0;
cout<<"Vvedite tirazh: ";
cin>>tirazh;
for(int i=0;i<x;i++)
{
if(tirazh==a[i].kn.tirazh)
{
cout<<a[i].kn.name<<" "<<a[i].kn.autor<<" "<<a[i].kn.god<<" "<<a[i].kn.tirazh<<endl;
t++;
}}
if(t==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;
}
void sorttirazh(){/*реализация сортировки по ключу tirazh*/};
getch();
clrscr();
}

не могу реализовать сортировку данных, и также количество книг и т.д. Очень срочно
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.12.2016, 18:53
Ответы с готовыми решениями:

Описать класс «домашняя библиотека»
вот задание Описать класс «домашняя библиотека». Предусмотреть возможность работы с произвольным числом книг, поиска книги по...

Описать класс «домашняя библиотека»
Описать класс «домашняя библиотека». Предусмотреть возможность работы с произвольным числом книг, поиска книги по какому-либо признаку...

Описать класс «домашняя библиотека»
Описать класс «домашняя библиотека». Предусмотреть возможность работы с произвольным числом книг, поиска книги по какому-либо признаку...

1
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
05.12.2016, 10:18
Лучший ответ Сообщение было отмечено RuS_Wizard как решение

Решение

Как ты это сочинил? Массив должен быть в классе. Примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
struct Book
{
char name[20];
char autor[20];
int god;
int tirazh;
};
 
class Library
{
Book kn[100];
int n; // количество книг
 
public:
 
//...
 
};
И в main() одна библиотека:
C++
1
2
3
int main()
{
    bibl a;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.12.2016, 10:18
Помогаю со студенческими работами здесь

Описать класс «Домашняя библиотека»; реализовать поиск книги по заданному признаку
Помогите решить програму: Описать класс «домашняя библиотека». предусмотреть возможность работы с произвольным числом книг, поиска...

Описать класс «домашняя библиотека». Предусмотреть возможность работы с произвольным числом книг, поиска книги
Друзья, не работает функция add. Программа крашится. Я понимаю, что он как бы пытается записать в то же место, но не знаю как, исправить....

Описать класс «домашняя библиотека». Предусмотреть возможность работы с произвольным числом книг, поиска книги по какому
Описать класс «домашняя библиотека». Предусмотреть возможность работы с произвольным числом книг, поиска книги по какому-либо признаку...

Описать класс "Библиотека"
Помогите пожалуйста Описать класс «Библиотека», в полях которого хранится следующая информация о книгах: автор, название,...

Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты
Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru