Ошибка при выходе из программы - C (СИ)
Формулировка задачи:
Проблема в следующем когда я создаю персонажа все хорошо ну как только попробую выйти из программы выбивает ошибку связано это с динамическим выделением памяти когда я удаляю.
создать 1.
выход 0.
#include <iostream>
#include <windows.h>
using namespace std;
class Person
{
public:
void Print ();
void intput_lastname();
void intput_name();
void intput_age();
void intput_tel();
private:
char name[20];
char lastname[20];
int age;
char tel[20];
};
void Person::Print()
{
cout<<"Фамилия : "<<lastname<<endl;
cout<<"Имя : "<<name<<endl;
cout<<"Возраст : "<<age<<"лет"<<endl;
cout<<"Телефон : "<<tel<<endl;
}
void Person::intput_lastname()
{
cin.ignore();
cin.getline(lastname,20,'\n');
}
void Person::intput_name()
{
cin.ignore();
cin.getline(name,20,'\n');
}
void Person::intput_age()
{
cin>>age;
}
void Person::intput_tel()
{
cin.ignore();
cin.getline(tel,20,'\n');
}
void main ()
{
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
int key=0;
int size=0;
Person *person;
person=new Person [size];
do
{
cout<<"1.Дабавить"<<endl;
cout<<"2.Редактирывать"<<endl;
cout<<"3.Вывести"<<endl;
cin>>key;
switch (key)
{
case 1:
{
cout<<"Введите фамилию:";
person[size].intput_lastname();
cout<<"Введите имя:";
person[size].intput_name();
cout<<"Введите возрост:";
person[size].intput_age();
cout<<"Введите телефон:";
person[size].intput_tel();
system("cls");
size+=1;
}break;
case 2:
{
system("cls");
if (size!=0)
{
}
else cout<<"База пустая"<<endl;
}break;
case 3:
{
system("cls");
if (size!=0)
{
for(int i=0;i<size;i++)
{
person[i].Print();
cout<<"----------------"<<endl;
}
}
else cout<<"База пустая"<<endl;
}break;
}
}while(key!=0);
delete []person;
}Решение задачи: «Ошибка при выходе из программы»
textual
Листинг программы
vector<Person> person;