Главная » 2015 » Май » 12 » файлы. работа средствами С. создание и чтение из файла
10:47
файлы. работа средствами С. создание и чтение из файла

#include <iostream>
#include <ctime>
using namespace std;
void sozdanie(FILE *x);
void chtenie(FILE *x);
char s[10]="1.txt";
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)
            chtenie(f);

    system ("pause");
    return 0;
}
void sozdanie(FILE *x)
{
    cout <<"Создание файла"<<endl;
    x=fopen(s,"wb");
    srand(time(0));
    int n=rand()%30+1;
    cout <<"Файл состоит из "<<n<<" чисел"<<endl;
    int dat;
    for (int i=1;i<=n;i++)
    {
        dat=rand()%20-10;
        cout <<dat<<" ";
        fwrite(&dat,sizeof(int),1,x);
    }
    cout <<endl;

    fclose(x);
}
void chtenie(FILE *x)
{
    cout <<"Чтение из файла"<<endl;
    x=fopen(s,"rb");
    int dat;
    fread(&dat,sizeof(int),1,x);
    int max=dat;
    int min=dat;
    int kolvo=0, sum=0, p=1;
    do
    {
        cout<<dat<<" ";
        if (dat>max) max=dat;
        if (dat<min) min=dat;
        if (dat<0) sum+=dat;
        if (dat>0) p*=dat;
        if (dat%2==0) kolvo++;
    }
    while (fread(&dat,sizeof(int),1,x));
    cout <<endl<<"Max="<<max<<endl;
    cout <<"Min="<<min<<endl;
    cout <<"Сумма отрицательных ="<<sum<<endl;
    cout <<"Произведение положительных ="<<p<<endl;
    cout <<"Количество четных ="<<kolvo<<endl;
    fclose(x);
}

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