Foros del Web » Programación para mayores de 30 ;) » C/C++ »

problemas con structs

Estas en el tema de problemas con structs en el foro de C/C++ en Foros del Web. bueno, pues me he encontrado con esta declaracion de variable de la estructura: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C: Ver original struct Punto {   float x ...
  #1 (permalink)  
Antiguo 19/03/2010, 09:26
 
Fecha de Ingreso: noviembre-2009
Mensajes: 186
Antigüedad: 14 años, 6 meses
Puntos: 2
problemas con structs

bueno, pues me he encontrado con esta declaracion de variable de la estructura:
Código C:
Ver original
  1. struct Punto {
  2.  float x, y;
  3.  };
  4.  
  5.  struct Punto escala(struct Punto p, float a)
  6.  {
  7.  struct Punto q;
  8.  
  9.  q.x = a * p.x;
  10.  q.y = a * p.y;
  11.  
  12.  return q;
  13.  }

lo que ma pasa es que no entiendo por qque se pone como funcion...
  #2 (permalink)  
Antiguo 20/03/2010, 17:44
 
Fecha de Ingreso: diciembre-2007
Ubicación: Valencia
Mensajes: 92
Antigüedad: 16 años, 4 meses
Puntos: 3
Respuesta: problemas con structs

Creo que el motivo es relativo a la declarición es decir .

La cabezera de la función.
Código:
struct Punto escala(struct Punto p, float a);
Si ponemos struct le estamos indicando que lo que viene es una función tipo struct.
que no hace falta si Punto ya esta definido con anterioridad.

Código:
struct Punto {
 float x, y;
 };
Pero se supone que lo pone para que tengas encuenta que puedes declararlo antes que la struct en si.

Código:
#include <iostream>
using namespace std;
struct  Punto escala(struct Punto p, float a);
       struct Punto {

       float x, y;

       };
int main()
{


system("PAUSE"); 
return 0;   
}

       struct Punto escala(struct Punto p, float a)
       {
 
           struct Punto q;
    
           q.x = a * p.x;
     
           q.y = a * p.y;
    
           return q;
      
       }
  #3 (permalink)  
Antiguo 20/03/2010, 17:57
 
Fecha de Ingreso: noviembre-2009
Mensajes: 186
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: problemas con structs

muchas gracias :)

Última edición por stiwi222; 20/03/2010 a las 18:09
  #4 (permalink)  
Antiguo 20/03/2010, 18:15
 
Fecha de Ingreso: diciembre-2007
Ubicación: Valencia
Mensajes: 92
Antigüedad: 16 años, 4 meses
Puntos: 3
Respuesta: problemas con structs

Cita:
Iniciado por stiwi222 Ver Mensaje
muchas gracias :)
d nada ¡¡ lo que quieres pregunta aki.
  #5 (permalink)  
Antiguo 20/03/2010, 18:18
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: problemas con structs

Rimobio lo dijo todo, no se hable mas ;D
  #6 (permalink)  
Antiguo 20/03/2010, 18:46
Avatar de Nim
Nim
 
Fecha de Ingreso: marzo-2010
Mensajes: 3
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: problemas con structs

No lo hace para dejar claro nada, primero declara la estructura.

Código C:
Ver original
  1. struct Punto {
  2.  float x, y;
  3.  };

y luego la funcion lo que hace es recibir un punto que responde a esa estructura y un numero real el cual multiplica a ambos reales que forman el punto es decir si llamamos a la funcion de la siguiente manera:
Código C:
Ver original
  1. struct Punto mipunto,nuevopunto;
  2.  
  3. mipunto.x=5;
  4. mipunto.y=5;
  5.  
  6. nuevopunto=escala(mipunto, 2);

lo que tendre en nuevo punto sera:
Cita:
X= 10;
Y= 10;
por lo tanto la funcion multiplica cada coordenada del punto por un real y esa es su finalidad.
  #7 (permalink)  
Antiguo 20/03/2010, 18:51
 
Fecha de Ingreso: diciembre-2007
Ubicación: Valencia
Mensajes: 92
Antigüedad: 16 años, 4 meses
Puntos: 3
Respuesta: problemas con structs

Yo entendi que la duda era el motivo de poner
struct Punto escala(struct Punto p, float a)
el struct si ya esta declarado Punto como tipo struct.
  #8 (permalink)  
Antiguo 20/03/2010, 19:00
Avatar de Nim
Nim
 
Fecha de Ingreso: marzo-2010
Mensajes: 3
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: problemas con structs

Cita:
Iniciado por rimobio Ver Mensaje
Yo entendi que la duda era el motivo de poner
struct Punto escala(struct Punto p, float a)
el struct si ya esta declarado Punto como tipo struct.
Creo que tienes razòn, pues el agradecio, pero lo releo y releo y entiendo lo mismo xd, por eso decidi contestar eso :P.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:14.