Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/10/2012, 08:24
Nalesom
 
Fecha de Ingreso: octubre-2012
Mensajes: 2
Antigüedad: 11 años, 6 meses
Puntos: 0
Cargar float desde archivo

Hola saludos a todos, llevo algun tiempo leyendo algunos manuales de C, pero lo de como implementar funciones no me queda claro, espero me puedan ayudar, en concreto pregunto, como puedo leer un archivo con decimales, por ejemplo este



Código:
0.01
0.02
0.03
0.04
0.05

meter los valores a un arreglo, el cual ya se su longitud, en este caso es de 5 lugares, para luego usarlo en otras operaciones (sumarlos, restarlos, sacar promedio, etc)
de antemano gracias

Código:
Esto fue lo que yo hice...

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


void cargar(char nombre[20], float *datos);

int main() {
    char nombre[20];
    float *vector[5];
    int contador;

   printf("Ingrese el nombre del archivo\n");
   scanf("%s",&nombre);
   printf("El vector cargado es el siguiente\n");
   cargar(&nombre,&vector);
   for(contador=0;contador<5;contador++){
      printf("%f\n",vector[contador]);
      }
   system("PAUSE");
   return 0;
}

void cargar(char nombre[20], float *datos){

   FILE *archivo;
   float numero;
   int contador=0;

   archivo=fopen(nombre,"r");
   if (archivo==0){
      printf("ERROR!!!");
      return 1;
      }
    fscanf(archivo,"%f",&numero);
   for(contador=0;contador<5;contador++){
    datos[contador]=numero;
   fscanf(archivo,"%f",&numero);
   contador++;

   }
}
cuando imprimo el vector dentro de la función lo hace..., pero cuando sale de ella no, me gustaría que me dijeran donde esta el problema, de antemano muchas gracias