Me da muchos errores a partir del if(clase.nota<5) . A ver si alguien me echa un cable.
Un saludo y gracias de antemano.
Código:
#include <stdio.h> #include <stdlib.h> struct alumno{ char nombre[50]; int grupo; float nota; }; main(){ struct alumno clase[50]; FILE * fichero; FILE * aprobados; FILE * suspendidos; int cont=0,i,num; float x; fichero=fopen("ejemplo.bin","rb"); if (fichero==NULL){ printf("No se puede abrir el archivo"); exit (-1); } aprobados=fopen("aprobados.bin","rb"); suspendidos=fopen("suspendidos.bin","rb"); while(fread(&x,sizeof(x),1,fichero)!=0){ if(clase.nota<5){ fwrite(&fichero,sizeof(char (clase.nombre[50])),1,suspendidos); fwrite(&fichero,sizeof(float (clase.nota)),1,suspendidos); } else{ fwrite(&fichero,sizeof(char (clase.nombre[50])),1,aprobados); fwrite(&fichero,sizeof(float (clase.nota)),1,aprobados); } } }