#include<iostream.h>
#include<string.h>
#include<windows.h>
struct Kniga{ //описываем структуру BOOK
char nazvanie[30]; //строковая НАЗВАНИЕ книги
struct { //вложенная структура АВТОР
char imya[20]; //ИМЯ автора
char familiya[20]; //ФАМИЛИЯ автора
}avtor;
double cena; //Цена книги
short stranic; //Количество СТРАНИЦ в книге
};
Kniga **NovKat(Kniga **p, int &n); //прототип функции НОВЫЙ КАТАЛОГ
Kniga *InfoOKnige(Kniga *p); //прототип функции ИНФОРМАЦИЯ О КНИГЕ
Kniga **VivodNaEkran(Kniga **p, int n); //прототип функции ВЫВОД НА ЭКРАН
void main()
{
Kniga **p=NULL;
int n=0;
int vibor;
while(1){
system("cls"); //очищаем экран от мусора
cout << "\t\tMenu: " << "\n"; //заголовок МЕНЮ
cout << "1 - Sozdat novuyu biblioteky. \n"; //МЕНЮ. Создать новый каталог
cout << "6 - Vivod na ekran. \n"; //МЕНЮ. Вывод на экран
cin >> vibor;
switch(vibor){
case 1: p=NovKat(p, n); break;
case 6: p=VivodNaEkran(p, n);break;
default:
cout << "Vnimatel'nee. Imeetsa tol'ko 6 punktov menu.";
}
}
}
///////////////////////////////////////////////Создание нового каталога
Kniga **NovKat(Kniga **p, int &n)
{
system ("cls");
if (p!=NULL) delete []p;
cout << "Vvedite kolichesstvo knig: ";
cin >> n;
p=new Kniga*[n];
if(p==NULL)
{
cout <<"Oshibka pamyati!!!";
return NULL;
}
for (int i=0; i<n; i++)
{
p[i]=new Kniga;
cout << "Kniga nomer "<< i+1<< "\n\n";
InfoOKnige(p[i]);
}
return p;
}
///////////////////////////////////////////////Заполняем информацию о книге
Kniga *InfoOKnige(Kniga *p)
{
cout << "Vvedite nazvanie: ";
cin >>p->nazvanie;
cout << "Vvedite imya avtora: ";
cin >> p->avtor.imya;
cout << "Vvedite familiy avtora: ";
cin >> p->avtor.familiya;
cout << "Vvedite kolichestvo stranic: ";
cin >> p->stranic;
cout <<"Vvedite ceny: ";
cin >> p->cena;
return p;
}
//////////////////////////////////////////////Выводим на экран содержимое каталога
Kniga **VivodNaEkran(Kniga *p, int n)
{
cout << "Na danniy moment v kataloge " << n << " knig\n";
for(int i=0; i<n; i++)
{
cout << "Kniga " << n+1 << ": " << "Nazvanie \t" << p->nazvanie << endl;
cout << "\t Avtor: " << p->avtor.imya << " "<< p->avtor.familiya << endl;
cout << "\t Cena: " << p->cena << "griven" << endl;
cout << "\t Kolichestvo stranic: " << p->stranic << endl;
};
return p*;
}
Добавлена разметка и поправлена табуляция — Кодт