elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / cargar struct dentro de una matriz en: 17 Mayo 2012, 22:43 pm
Hola, quería saber si alguien me podría ayudar con esto...
Tengo q hacer un estructura q contenga 3 datos y esta misma por una función cargarla dentro de una matriz. esa matriz después me va a servir para actualizar un archivo, q solo se actualiza si el tipo es distinto de 99 y la producción distinta de 0




#include <conio.h>
#include <stdio.h>
#define TAM 3
typedef struct
{
   int tipo;
   float produccion;
   float valor;
}t_parcela;
void ver_archivo(FILE*);
void cargar_matriz(t_parcela*[][TAM]);
void main()
{
   int i,j;
   FILE*pf;
   t_parcela parcela[TAM][TAM];
   cargar_matriz(parcela);
   pf=fopen("campo.dat","w+b");
   {
      for(i=0;i<TAM;i++)
         for(j=0;j<TAM;j++)
         {
            if(parcela[j].produccion!=0 && parcela[j].tipo!=99)
            {
               fseek(pf,((i*TAM)+j+1)*sizeof(t_parcela),0);
               fwrite(&parcela[j].tipo,sizeof(int),1,pf);
               fwrite(&parcela[j].produccion,sizeof(float),1,pf);
               fwrite(&parcela[j].valor,sizeof(float),1,pf);
               fseek(pf,(-1L)*sizeof(t_parcela),1);
               fseek(pf,0,1);
            }
         }
   }
   fclose(pf);
   ver_archivo(pf);
   getch();
}
void cargar_matriz(t_parcela *p[TAM][TAM])
{
   int i,j;
   for(i=0;i<TAM;i++)
      for(j=0;j<TAM;j++)
         {
              puts("Escriba el tipo de grano(entero de 1 a 5)");
             scanf("%d",&p[j]->tipo);
             puts("Escriba la produccion obtenida");
             scanf("%f",&p[j]->produccion);
             puts("Escriba el valor de la produccion");
             scanf("%f",&p[j]->valor);
         }
}
void ver_archivo(FILE*pf)
{
   t_parcela parcela;
         pf=fopen("campo.dat","rb");
         fread(&parcela,sizeof(t_parcela),1,pf);
         while(!feof(pf))
         {
            printf("%d",parcela.tipo);
            printf("%f",parcela.produccion);
            printf("%f",parcela.valor);
            fread(&parcela,sizeof(t_parcela),1,pf);
         }
         fclose(pf);
}


el programa sin querer cargar la matriz anda barbaro pero quiero cargarle un par de datos y despues ver el archivo para ver si al grabar quedo bien,,,
Desde ya Graciaaaas..!
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines