Вызвано исключение по адресу 0x0FD33DAF
пишу курсовую,хочу внедрить функцию ввода значений массива класса пользователем с клавиатуры. При запуске программы в геттерах класса paints возникает исключения нарушения прав доступа при записи. Также заметил недавно,что переменная value присваивает не те значения, что вводятся с клавиатуры, а совсем другие,такие как ¤ , при вводе слова "да".
#include <iostream>
#include <string>
using namespace std;
int state, state_1;
class paints
{
protected:
string aname;
string pname;
string genre;
string bcreat;
public:
virtual void print()
{
cout << "Название картины: " << pname << endl << "Художник: " << aname << endl << "Жанр: " << genre << endl << "Год написания: " << bcreat << endl << "__________________________________________________________" << endl;
}
paints()
{
aname = "Нет данных";
pname = "Нет данных";
genre = "Нет данных";
bcreat = "Нет данных";
}
paints(string value_pname, string value_aname, string value_genre, string value_bcreat)
{
this->aname = value_aname;
this->pname = value_pname;
this->genre = value_genre;
this->bcreat = value_bcreat;
}
paints()
{
}
void set_pname(string value_pname)
{
pname = value_pname;
}
void set_aname(string value_aname)
{
aname = value_aname;
}
void set_genre(string value_genre)
{
genre = value_genre;
}
void set_bcreat(string value_bcreat)
{
bcreat = value_bcreat;
}
};
void menu()
{
cout << "1. Показать всю информацию о художниках." << endl
<< "2. Показать всю информацию о картинах." << endl
<<"3. Показать всю информацию о музеях и выставках." << endl
<< "4. Показать всю информацию о приближающихся сделках." << endl
<< "5. Показать вашу коллекцию." << endl
<< "6. внести правки в баланс счета." << endl
<< "" << endl
<< "" << endl
<< "" << endl
<< "" << endl;
cin >> state;
}
void menu_2()
{
cout << "1.Ввести информацию о картинах" << endl
<< "2.Ввести информацио о художниках" << endl
<< "3.Ввести информацио о ближайших аукционах" << endl;
cin >> state_1;
}
int main()
{
setlocale(LC_ALL, "ru");
int state_2, size = 0;
paints* paint = new paints[size];
menu();
while (state != 0)
{
switch (state)
{
case 1:
system("cls");
menu_2();
while (state_1 != 0)
{
int i = 0;
string value;
switch (state_1)
{
case 1:
system("cls");
do
{
size++;
cout << "Введите художника картины: ";
cin >> value;
paint[i].set_aname(value);
cout << endl << "Введите название картины: ";
cin >> value;
paint[i].set_pname(value);
cout << endl << "Введите жанр картины: ";
cin >> value;
paint[i].set_genre(value);
cout << endl << "Введите год написания картины: ";
cin >> value;
paint[i].set_bcreat(value);
cin >> state_2;
i++;
} while (state_2 != 0);
default:
break;
}
}
default:
break;
}
}
return 0;
}