Ошибка при выходе из программы - 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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д