Здравствуйте, нужна Ваша помощь, дано задание: Автор книги, название, издательство, раздел библиотеки (специальная литература, хобби, домашнее хозяйство, беллетристика и т. д.), происхождение (покупка, кража, подарок) и наличие книги в данный момент. Выбор книг по автору, году; инвентаризация библиотеки (вывод всего списка книг по категориям). Результаты вывести на экран.
Сделано все, кроме инвентаризации библиотеки, если кто-то сможет помочь с этим, буду благодарна.
# include <iostream>
# include <stdio.h>
# include <cstring>
using namespace std;
int sch=0; //кол-во структур в массиве
char er;
struct library
{
char avtor[30];
char nazvanie[30];
int izdatelstvo;
char razdel[30];
char proishozdenie[30];
char nalichie[30];
}l_arr[30]; //структура
void poisk_po_avtory()
{
if(!sch)
{
cout<<"Сначала что-нибудь введите!"<<endl;
}else{
cout<<"Введите автора:"<<endl;
char w[20];
cin>>w;
bool flag=1;
for(int i=0;i<sch;i++)
{
if( strcmp( w, l_arr[i].avtor)==0) // strcmp = сравнение строк
{
cout<<"Автор книги:"<<l_arr[i].avtor<<endl;
cout<<"Название книги: "<<l_arr[i].nazvanie<<endl;
cout<<"Год издания: "<<l_arr[i].izdatelstvo<<endl;
cout<<"Раздел: "<< l_arr[i].razdel<<endl;
cout<<"Происхождение: "<< l_arr[i].proishozdenie<<endl;
cout<<"Наличие: "<< l_arr[i].nalichie<<endl;
flag=0;
}
if(flag )
cout<<"Поиск не дал результатов"<<endl;
}
}
}
void poisk_po_gody()
{
if(!sch)
{
cout<<"Сначала что-нибудь введите!"<<endl;
}else{
cout<<"Введите год издания:"<<endl;
int w;
cin>>w;
bool flag=1;
for(int i=0;i<sch;i++)
{
if( l_arr[i].izdatelstvo==0)
{
cout<<"Автор книги:"<<l_arr[i].avtor<<endl;
cout<<"Название книги: "<<l_arr[i].nazvanie<<endl;
cout<<"Год издания: "<<l_arr[i].izdatelstvo<<endl;
cout<<"Раздел: "<< l_arr[i].razdel<<endl;
cout<<"Происхождение: "<< l_arr[i].proishozdenie<<endl;
cout<<"Наличие: "<< l_arr[i].nalichie<<endl;
flag=0;
}
if(flag )
cout<<"Поиск не дал результатов"<<endl;
}
}
}
void del()
{
cout<<"\nВведите номер записи которую надо удалить"<<endl;
int k;
cin>>k;
for( int i=k-1;i<sch;i++)
{
l_arr[i]=l_arr[i+1];
}
sch--;
}
void change()
{
int c, per; //номер записи, которую нужно изменить
cout<<"\nВведите номер записи"<<endl;
cin>> c;
do
{
cout<<"Введите: "<<endl;
cout<<"1-для изменения автора"<<endl;
cout<<"2-для изменения названия"<<endl;
cout<<"3-для изменения года издания"<<endl;
cout<<"4-для изменения раздела"<<endl;
cout<<"5-для изменения происхождения"<<endl;
cout<<"6-для изменения наличия"<<endl;
cout<<"7-для выхода из режима редактирования "<<endl;
cin>>per;
switch (per)
{
case 1: cout<<"Автор: "<<endl;
cin>>l_arr[c-1].avtor;
break;
case 2: cout<<"Название книги: ";
cin>>l_arr[c-1].nazvanie;
break;
case 3: cout<<"Год издания:: ";
cin>>l_arr[c-1].izdatelstvo;
case 4: cout<<"Раздел: ";
cin>>l_arr[c-1].razdel;
case 5: cout<<"Происхождение: ";
cin>>l_arr[c-1].proishozdenie;
case 6: cout<<"Наличие: ";
cin>>l_arr[c-1].nalichie;
break;
cin>>per;
}
}while(per!=7);
}
void dobavl()
{
if(sch<20)
{
cout<<"Книга номер";cout<<sch+1;
cout<< endl<<"Автор:"<<endl;
cin>>l_arr[sch].avtor;
cout<<"Название книги:"<<endl;
cin>>l_arr[sch].nazvanie;
cout<<"Год издания: "<<endl;
cin>>l_arr[sch].izdatelstvo;
cout<<"Раздел: "<<endl;
cin>>l_arr[sch].razdel;
cout<<"Происхождение: "<<endl;
cin>>l_arr[sch].proishozdenie;
cout<<"Наличие: "<<endl;
cin>>l_arr[sch].nalichie;
sch++;
}
else cout<<"Введено максимальное кол-во записей";
cout<<"Что делать дальше?"<<endl;
cin>>er;
}
void out() //ф-ция вывода записей
{
setlocale(LC_CTYPE, "Russian");
int sw; // переключатель
int o; //номер структ, кот. надо вывести
cout<<endl<<"Введите: "<<endl;
cout<<"1-если хотите вывести какую-либо запись"<<endl;
cout<<"2-если хотите вывести все записи"<<endl;
cin>>sw;
if(sw==1)
{
cout<<"Введите номер записи, которую нужно вывести"<<endl;
cin>>o;
o--;
cout<<"Автор книги: "<<l_arr[o].avtor<<endl;
cout<<"Название книги: "<<l_arr[o].nazvanie<<endl;
cout<<"Год издания: "<< l_arr[o].izdatelstvo<<endl;
cout<<"Раздел: "<<l_arr[o].razdel<<endl;
cout<<"Происхождение: "<<l_arr[o].proishozdenie<<endl;
cout<<"Наличие: "<<l_arr[o].nalichie<<endl;
}
if(sw==2)
{
for(int i=0;i<sch;i++)
{
cout<<"Автор книги: "<<l_arr[o].avtor<<endl;
cout<<"Название книги: "<<l_arr[o].nazvanie<<endl;
cout<<"Год издания: "<< l_arr[o].izdatelstvo<<endl;
cout<<"Раздел: "<<l_arr[o].razdel<<endl;
cout<<"Происхождение: "<<l_arr[o].proishozdenie<<endl;
cout<<"Наличие: "<<l_arr[o].nalichie<<endl;
}
}
cout<<endl;
}
int main()
{
int SIZE=10;
setlocale(LC_CTYPE, "Russian");
cout<<"Записей пока нет"<<endl;
do{
cout<<"Введите:"<<endl;
cout<<"1-для ввода новой записи"<<endl;
cout<<"2-для вывода записи(ей) "<<endl;
cout<<"3-для изменения записи"<<endl;
cout<<"4-для удаления записи"<<endl;
cout<<"5-для поиска по автору "<<endl;
cout<<"6-для поиска по году издания "<<endl;
cout<<"7-для выхода "<<endl;
cin>>er;
switch(er)
{
case '1':dobavl();break;
case '2':out();break;
case '3':change();break;
case '4':del();break;
case '5':poisk_po_avtory();break;
case '6':poisk_po_gody();break;
}
}while(er!='7');
}