Здравствуйте, TARGRED, Вы писали:
Ужасный у тебя стиль, однако...
TAR>Привет всем. Я вот пытаюсь С++ изучить, написал следующий код, а он не работает, может кто поможет, буду очень благодарен.
#include <iostream>
#include <cstring>
// Про namespace тебе написали уже... Здесь using namespace std; должно быть, чтобы ты ниже везде std:: не писал.
class Katalog;
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
class Katalog
{
int i = 0; // Нельзя в классе объявлять ничего, кроме как статических констант
const int sz=10000; // Аналогично
string name_book[sz], name_autor[sz]; // Тем более
int summ_books[sz]; // Аналогично
/***********************
*На твоем месте с массивами я бы сделал так:
*...
*enum { myEArrSize_ = 10000};
*string name_book [myEArrSize_];
*...
***********************/
public:
void new_book()
{
std::cin>>name_book[i];
std::cin>>name_auror[i];
std::cin>>summ_books[i];
}
void console_books(string* book,string* autor,int* books,int* I)
{
for(int b=0; b<I;b++)
{
std::cout<<"Êíèãà: "<<name_book[i]<<" Àâòîð: "<<name_auror[i]<<" êîëè÷åñòâî ýêçåìïëÿðîâ: "<<summ_books[i];
}
}
}
int main(int argc, char* argv[])
{
// Katalog kat = new Katalog(); // Неверно. Должно быть
Katalog* kat = new Katalog ();
if(std::cin=="Help")
{
}
elseif(std::cin=="New")
{
kat.new_book(); // kat у тебя указатель. Поэтому обращаешься не через "." к его членам, а через "->"
}
elseif(std::cin=="Window")
{
kat.console_books(); // аналогично
}
else
{
std::cout<<"Error? áëÿ-áëÿ-áëÿ-áëÿ";
}
return 0;
}