Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - matilp

#1
hola....quisiera que me ayuden a solucionar este problema ya que soy principiante y no tengo mucha idea de como resolverlo

este es el codigo:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

typedef struct
{
char fabr[20],cod[7];
float pot,fre;
int stock;
int serie[20];
float precio[20];
}micro;

void lectura(micro *datos,int n){
int i,j;
FILE *archivo;
if((archivo=fopen("productos.bdd","rb"))==NULL){
puts("error");
exit(1);
}
for(i=0;i<n;i++)
{
    fread(&datos,sizeof(micro),1,archivo);
}

for(i=0;i<n;i++)
{
    puts(datos.fabr);
    puts(datos.cod);
    printf("potencia:%.1f\n",datos.pot);
    printf("frecuencia:%.1f\n",datos.pot);
    printf("stock:%d\n",datos.stock);
    for(j=0;j<datos.stock;j++){
        printf("serie:%d\n",datos.serie[j]);
        printf("precio:%.1f\n",datos.precio[j]);
    }
}
fclose(archivo);
}

la lectura de los datos la hace bien excepto por los vectores precio y serie que pone cualquier cosa...he probado muchas cosas pero no se como resolverlo. Creo que el error esta en como uso el fread.

pongo esta parte del codigo nada mas porque es la que me falla. Bueno desde ya muchas gracias