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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con struct en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con struct en C  (Leído 2,390 veces)
nyper01

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Ayuda con struct en C
« en: 15 Diciembre 2013, 17:40 pm »

Hola buenas, soy un estudiante de 1º de la universidad (digo esto por que mis conocimientos en programacion son aun muy basicos), y en un trabajo que estoy haciendo me surge un problema. el código es este:
Citar

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


int funcion(int ,int )

     struct jugadas
     {
       int f[1];
       int c[1];
     }jugadas;
 
  //   [...] Mucho codigo entre medio que no creo que tenga nada que ver

int funcion(int c, int f)
  {
        int fa=0, ca=0;
        FILE *jugadas;
        jugadas=fopen("ia.txt","r+");
        if(jugadas!=NULL)
       {
      while(!feof(jugadas))
        {
         if(fread(&jugadas,sizeof(jugadas),1,jugadas))
          {
            fa=jugadas.f;
            ca=jugadas.c;
          }
        }
       }
      
 }

_______________________________________________
El error que me da es:
377   15   [Error] request for member 'f' in something not a structure or union
378   15   [Error] request for member 'c' in something not a structure or union


Lo que quiero es que los datos almacenados en el fichero como "f" y como "c" pasen a las variables "fa" y "ca" de la función
¿Alguien me puede explicar que estoy haciendo mal o como hacerlo bien?

Muchas gracias de antemano



En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Ayuda con struct en C
« Respuesta #1 en: 15 Diciembre 2013, 18:40 pm »

Código
  1. struct jugadas
  2. {
  3.       int f[1];
  4.       int c[1];
  5. }jugadas;
¿Arrays de longitud 1?

Código
  1. int funcion(int c, int f)
  2. {
  3.        int fa=0, ca=0;
  4.        FILE *jugadas;
  5.        jugadas=fopen("ia.txt","r+");
  6.        if(jugadas!=NULL)
  7.       {
  8.      while(!feof(jugadas))
  9.        {
  10.         if(fread(&jugadas,sizeof(jugadas),1,jugadas))
  11.          {
  12.            fa=jugadas.f;
  13.            ca=jugadas.c;
  14.          }
  15.        }
  16.       }
  17. }

Has llamado al archivo y a la estructura con el mismo nombre.


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
nyper01

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Ayuda con struct en C
« Respuesta #2 en: 15 Diciembre 2013, 19:01 pm »

Muchas gracias, todo arreglado.
Desconocía que no podía poner el mismo nombre al fichero que a la estructura.
En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Ayuda con struct en C
« Respuesta #3 en: 15 Diciembre 2013, 19:04 pm »

Muchas gracias, todo arreglado.
Desconocía que no podía poner el mismo nombre al fichero que a la estructura.
Cuando hay dos variables con el mismo nombre, el compilador coge la más "interna".

La estructura al ser global, tiene menos prioridad que el FILE* (que está dentro de una función). Por tanto cada vez que llames a jugadas cogera el FILE* al ser más interna.

Lo mejor esque evites las colisiones de nombres porque llevan a confusiones, y la mejor forma de hacerlo es quitarte las variables globales de en medio.
« Última modificación: 15 Diciembre 2013, 19:09 pm por amchacon » En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
nyper01

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Ayuda con struct en C
« Respuesta #4 en: 15 Diciembre 2013, 23:04 pm »

Muchas gracias, lo tendré en cuenta, pero no se si aun tengo nivel para eso, ya que voy aprendiendo poco a poco según lo que me enseñan en clase. De todas formas intentare no repetir nombres en ningún lado. Gracias por el consejo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[SOLUCIONADO]¿Como printear un valor de un struct dentro de otro struct?
Programación C/C++
Firos 0 5,190 Último mensaje 24 Marzo 2011, 13:47 pm
por Firos
Necesito una ayuda con este struct
Programación C/C++
Blp 2 2,045 Último mensaje 19 Noviembre 2011, 23:57 pm
por Blp
ayuda con mi programa struct c
Programación C/C++
akiranakamure 2 2,211 Último mensaje 13 Marzo 2013, 21:58 pm
por durasno
Ayuda Struct « 1 2 »
Programación C/C++
BlackM4ster 10 5,018 Último mensaje 8 Abril 2013, 14:37 pm
por BlackM4ster
ayuda con codigo (struct y arreglos)
Programación C/C++
angelica24 3 1,909 Último mensaje 21 Julio 2018, 00:13 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines