#include <cstdio>
#include <cstdlib>
#include <fstream>
#include <windows.h>
#include <iostream>
using namespace std;
class Person
{
public:
person()
{
id = 0;
strcpy(name, "");
age = 0;
strcpy(sex, "");
strcpy(city, "");
strcpy(diagnosis, "");
}
int id;
char name[16];
int age;
char sex[4];
char city[16];
char diagnosis[16];
};
int main(void)
{
//Person *person;
SetConsoleCP(1251);// установка кодовой страницы win-cp 1251 в поток ввода
SetConsoleOutputCP(1251);
ifstream fin("person.bin");
ofstream fout("person1.bin");
if (!fout.is_open())
{
cout << "Ошибка открытия файла!" << endl;
}
else {
cout << "Файл открыт" << endl;}
// fin.open(path);
if (!fin.is_open())
{
cout << "Ошибка открытия файла!" << endl;
}
else {
cout << "Файл открыт" << endl;
}
int count=3;
Person *person = (Person*)operator new( (sizeof( Person ) * count ) );
for(int i=0; i<count; ++i )
new( &person[ i ] ) Person();
for(int i=0; i<count; ++i ){
cout << "\tId = "; cin >> (person+i)->id;
cout << "\tФамилия = "; cin >> (person+i)->name;
cout << "\tВозраст = "; cin >> (person+i)->age;
cout << "\tПол = "; cin >> (person+i)->sex;
cout << "\tГород = "; cin >> (person+i)->city;
cout << "\tДиагноз = "; cin >> (person+i)->diagnosis;}
cout << "----------------------------------------- "<<endl;
cout<< "Id"<<"\t"<<"Фамилия"<<"\t"<<"Пол"<<"\t"<<"Возраст"<<"\t"<<"Город"<<"\t"<<"Диагноз"<<endl;
cout << "----------------------------------------- "<<endl;
for(int i=0; i<count; ++i )
cout<< (person+i)->id<<"\t"<<(person+i)->name<<"\t"<<(person+i)->age<<"\t"<<(person+i)->sex<<"\t"<<(person+i)->city<<"\t"<<(person+i)->diagnosis<<endl;
// struct person Frol = { 1,"Фролова", 21,"ж","CПб","миопия" };
int pos=0;
int N=count;
//cin >> pos;
for (int i = pos; i < N - 1; i++) //Двигаемся слева направо с заданной позиции
{
*(person+i) = *(person+(i+1)); //Сдвигаем элементы
}
count--;//с *(person+N-1)= 0; //Обнуляем последний элемент (часто в целях безопасности)
cout << "Массив после удаления элемента:" << endl;
for(int i=0; i<count; ++i )
cout<< (person+i)->id<<"\t"<<(person+i)->name<<"\t"<<(person+i)->age<<"\t"<<(person+i)->sex<<"\t"<<(person+i)->city<<"\t"<<(person+i)->diagnosis<<endl;
return 0;
}