Ошибка при выходе из программы - 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;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы