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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ven algo raro en este codigo basico con structs? en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ven algo raro en este codigo basico con structs? en C  (Leído 2,692 veces)
palacio29

Desconectado Desconectado

Mensajes: 103


Ver Perfil
Ven algo raro en este codigo basico con structs? en C
« en: 11 Septiembre 2016, 22:23 pm »

Hola

Tengo que hacer un programa en el cual a partir de un archivo .csv que se encuentra en mi escritorio, lo que tengo que hacer es leerlo y guardarlo en un arreglo. Este arreglo es un tipo de dato creado por mi (struct)
El tema es que cuando ejecuto el programa no sale nada, no tira error, simplemente queda la consola en negro.
En el archivo .csv estan los datos de 10 puntos (x e y).

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct punto
  5. {
  6.    int x;
  7.    int y;
  8.  
  9. };
  10. typedef struct punto tipoPunto;
  11.  
  12. void LECTURA (tipoPunto arreglo[10]);
  13.  
  14. int main()
  15. {
  16.    tipoPunto arreglo[10];
  17.    LECTURA(arreglo);
  18.  
  19.    return 0;
  20. }
  21. void LECTURA (tipoPunto arreglo[10])
  22. {
  23.    FILE*arch;
  24.    int i=0,j=0;
  25.    arch=fopen("C:\\Users\\Pablo-PC\\Desktop\\puntos.csv","r");
  26.    while (!feof(arch))
  27.    {
  28.        fscanf(arch,"%d,%d\n",&arreglo[i].x,&arreglo[i].y);
  29.        i++;
  30.    }
  31.    fclose(arch);
  32.  
  33.        for (j=0;j<10;j++)
  34.    {
  35.        printf ("Punto %d = %d - %d",i,arreglo[j].x,arreglo[j].y);
  36.    }
  37.  
  38. }


En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: Ven algo raro en este codigo basico con structs? en C
« Respuesta #1 en: 11 Septiembre 2016, 22:46 pm »

He ejecutado el código y funciona perfectamente. Este tema ya ha salido en este foro. Probablemente sea porque el antivirus, al ver que usas archivos, por alguna razón, te bloquea la aplicación hasta que se asegure que es segura. Para probar esta teoría, desconecta el antivirus, ejecuta la aplicación y mira si sigue pasando lo mismo. Si la aplicación se ejecuta bien después de desactivar el antivirus, simplemente actívalo de nuevo, ejecuta la aplicación y espera a que el antivirus determine que la aplicación es segura.

P.D.: Una cosilla, en mi opinión, es mejor que uses rutas locales en vez de globales, pero eso es cuestión de gustos y necesidades :D


En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
BloodSharp


Desconectado Desconectado

Mensajes: 814


¡ Hiperfoco !


Ver Perfil WWW
Re: Ven algo raro en este codigo basico con structs? en C
« Respuesta #2 en: 11 Septiembre 2016, 22:50 pm »

Ahí te lo arreglé, no verificaste si el archivo estaba bien abierto y el for se iba de rango probablemente:

Código
  1. int main()
  2. {
  3. tipoPunto arreglo[10];
  4. LECTURA(arreglo,sizeof(arreglo)/sizeof(tipoPunto));
  5. return 0;
  6. }
  7.  
  8. void LECTURA(tipoPunto*arreglo,int tamanio)
  9. {
  10. FILE*arch;
  11. int i=0,j=0;
  12. arch=fopen("puntos.csv","r");
  13. if(arch)
  14. {
  15. while(!feof(arch))
  16. {
  17. fscanf(arch,"%d,%d\n",&arreglo[i].x,&arreglo[i].y);
  18. i++;
  19. }
  20. fclose(arch);
  21. }
  22. for(j=0;(j<i)&&(j<tamanio);j++)
  23. {
  24. printf("Punto %d = %d - %d\n",j+1,arreglo[j].x,arreglo[j].y);
  25. }
  26. }


B#
« Última modificación: 11 Septiembre 2016, 22:53 pm por BloodSharp » En línea



ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Ven algo raro en este codigo basico con structs? en C
« Respuesta #3 en: 11 Septiembre 2016, 22:51 pm »

¿Tienes el csv con este formato?
Código:
8,95
5,62
10,4
0,0
8,95
5,62
10,4
0,0
8,95
5,62

Sin comas tras la Y, vamos. Por lo demás, es correcto.
En línea

palacio29

Desconectado Desconectado

Mensajes: 103


Ver Perfil
Re: Ven algo raro en este codigo basico con structs? en C
« Respuesta #4 en: 11 Septiembre 2016, 22:55 pm »

Hola

Gracias a todos, el problema era el archivo csv que lo habia hecho en celdas separadas en excel, al final iba cada punto en una unica celda separada por comas.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines