include cstdio include cstdlib include fstream include windows include

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
#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;
}