#include <iostream>
#include <ctime>
using namespace std;
void sozdanie(FILE *x);
void maxmin(FILE *x);
char s[10]="3.txt";
struct chel
{
char surname[20];
char name[10];
char pol;
int age;
};
int main()
{
setlocale(LC_ALL, "Russian");
FILE *f;
cout <<"Введите режим работы: 1 - создание файла; 2- чтение из файла"<<endl;
int vibor;
cin >>vibor;
if (vibor==1)
sozdanie(f);
else
if (vibor==2)
maxmin(f);
system ("pause");
return 0;
}
void sozdanie(FILE *x)
{
cout <<"Создание файла"<<endl;
x=fopen(s,"wb");
int n;
cout <<"Введите количество записей ="<<endl;
cin >>n;
chel dat;
for (int i=1;i<=n;i++)
{
cout<<"Запись "<<i<<endl;
cout<<"Введите фамилию ";
cin>>dat.surname;
cout<<"Введите имя ";
cin>>dat.name;
cout<<"Введите пол m/w, мужской - m, женский - w";
cin>>dat.pol;
cout<<"Введите возраст ";
cin>>dat.age;
fwrite(&dat,sizeof(chel),1,x);
}
cout <<endl;
fclose(x);
}
void maxmin(FILE *x)
{
cout <<"Чтение из файла"<<endl;
x=fopen(s,"rb");
chel dat, datmax, datmin;
fread(&dat,sizeof(chel),1,x);
int max=dat.age;
datmax=dat;
datmin=dat;
int min=dat.age;
do
{
if (dat.age>max)
{
max=dat.age;
datmax=dat;
}
if (dat.age<min)
{
min=dat.age;
datmin=dat;
}
cout<<dat.surname<<" ";
cout<<dat.name<<" ";
cout<<dat.pol<<" ";
cout<<dat.age<<" ";
cout <<endl;
}
while (fread(&dat,sizeof(chel),1,x));
cout <<endl<<"Максимальный возраст у "<<endl;
cout<<datmax.surname<<" ";
cout<<datmax.name<<" ";
cout<<datmax.pol<<" ";
cout<<datmax.age<<" ";
cout <<endl;
cout <<"Минимальный возраст у "<<min<<endl;
cout<<datmin.surname<<" ";
cout<<datmin.name<<" ";
cout<<datmin.pol<<" ";
cout<<datmin.age<<" ";
cout <<endl;
fclose(x);
}
|