#include<stdio.h>
|
#define n 3
|
struct REC{unsigned id;
|
char name[20];
|
unsigned mark;};
|
int main()
|
{FILE *out,*in;
|
REC rec;
|
int flag, sz=sizeof(REC);
|
long len,kol,n;
|
if((out=fopen("mark.txt","wb"))==NULL)
|
{perror("Выходной файл не открыт"); return 1; }
|
do{
|
puts("Введите № записи, фамилию, оценку(0..5)");
|
scanf("%d",&rec.id);
|
gets(rec.name);
|
scanf("%d",&rec.mark);
|
fwrite(&rec,sz,1,out);
|
puts("Продолжить ввод? Да-1, Нет-0");
|
scanf("%d",&flag);
|
}while(flag);
|
fclose(out);
|
if((in=fopen("mark.txt","rb"))==NULL)
|
{perror("Входной файл не открыт"); return 2;}
|
fseek(in,0,SEEK_END);
|
len=ftell(in);
|
kol=len/sz;
|
printf("В файлі %d записів
", kol);
|
puts("Введіть номер запису для читання:");
|
scanf("%ld",&n);
|
if(n>0&&n<=kol)
|
{fseek(in,(i-1)*sz, SEEK_SET);
|
fread(&rec,sz,1,in);
|
printf("id=%d name: %s ", rec.id_rec,rec.name);
|
printf("mark: %d
",rec.mark); }
|
else puts("Поза файлом!");
|
fclose(in);
|
return 0; }
|
|
|
|