Главная » 2019 » Май » 14 » Файл. Меню
08:25
Файл. Меню

#include <iostream>
using namespace std;
struct complex {
    double Re,Im;
};
char filename[100]="d:\\file.dat";
void vvod(FILE *f);
void vivod(FILE *f);
void add(FILE *f);
void insert(FILE *f);
void length(FILE *f);
int main()
{
    FILE *f;
    int i;
    do {
        cout<<"1-vvod; 2-add; 3-vivod; 4-length; 0-exit  ";
        cin>>i;
        if (i==1) vvod(f);
        if (i==2) add(f);
        if (i==3) vivod(f);
        if (i==4) length(f);
    } while (i!=0);
    system("pause");
}
void length(FILE *f)
{
    f=fopen(filename,"rb");
    complex dat;
    while (fread(&dat,sizeof(dat),1,f))
    {
        double len=sqrt(dat.Re*dat.Re+dat.Im*dat.Im);
        if (len==(int)len)
           cout<<dat.Re<<"+"<<dat.Im<<"i"<<endl;
    }
    fclose(f);
}
void insert(FILE *f)
{
    int n;
    complex dat;
    cout<<"Vvedite kolvo tochek "; cin>>n;
    for (int i=0;i<n;i++)
    {
        cout<<"Vvedite chislo "; 
        cin>>dat.Re>>dat.Im;
        fwrite(&dat,sizeof(dat),1,f);
    }
    fclose(f);    
}
void add(FILE *f)
{
    f=fopen(filename,"ab"); insert(f);
}
void vvod(FILE *f)
{
    f=fopen(filename,"wb"); insert(f);    
}
void vivod(FILE *f)
{
    f=fopen(filename,"rb");
    complex dat;
    while (fread(&dat,sizeof(dat),1,f))
        cout<<dat.Re<<"+"<<dat.Im<<"i ";
    cout<<endl;
    fclose(f);
}

Просмотров: 268 | Добавил: denjes | Рейтинг: 0.0/0
Всего комментариев: 0
avatar