Код: Выделить всё
#include <iostream>
#include <cstdlib>
#include <string>
#include <windows.h>
using namespace std;
struct sub
{
char name[15];
double ves;
char provod[15];
};
int WriteFile(FILE *f, int n)
{
sub arr;
f = fopen("file.dat", "wb");
if (f == NULL)
{
printf("Error");
exit(0);
}
cout<<"Введете количество записей:"<<endl;
cin>>n;
cout<<"Введите название эелемента, удельный вес и тип проводимости"<<endl;
for(int i = 0; i < 3; i++)
{
cin >> arr.name >> arr.ves >> arr.provod;
fwrite(&arr, sizeof(sub), 1 , f);
cout << endl;
}
fclose(f);
return 0;
}
void ReadFile(FILE *f, int n, char *pr)
{
sub arr;
f = fopen("file.dat", "rb");
if (f == NULL)
{
printf("Error");
exit(0);
}
printf("\n");
printf(" Output file:\n");
printf("-----------------------\n");
for(int i = 0; i < n; i++)
{
fread(&arr, sizeof(sub), 1 , f);
cout << "\nПолупроводники:" << endl;
if(strcmp(arr.provod, pr) == 0)
cout << arr.name << ' ' << arr.ves << endl;
}
fclose(f);
}
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int y,z,n;
sub arr[3];
char* pr = "полупроводник";
z = WriteFile(f1,n);
ReadFile(f1, n, pr);
system("pause");
return 0;
}
f1: необъявленный идентификатор