Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/10/2013, 12:14
vosk
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 11 años, 8 meses
Puntos: 83
Respuesta: Funciones parametros estructuras

La funcion ConstruyeAngulo no retorna nada, por lo tanto no puedes asignar el retorno

Código C:
Ver original
  1. longitud = ConstruyeAngulo (20, 20, 5, 'N');

Esto no funciona pq no se asigna nada, ademas que el compilador te dirá que esto no vale pq la funcion a la que llamas requiere mas argumentos de los que indicas, y aunque llegara a ejecutarse el puntero 'posicion' de la funcion es nulo y provocarias un error de acceso.

Debes usar un puntero a una estructura Angulo como quino elemento:

Código C:
Ver original
  1. //solucion 1
  2. ConstruyeAngulo(20, 20, 5, 'N', &longitud);

O modificar la funcion para que te retorne una estructura:

Código C:
Ver original
  1. //solucion 2
  2. Angulo ConstruyeAngulo(int a,int b,int c,char z) {
  3.     Angulo posicion;
  4.    
  5.     posicion.grados = a;
  6.     posicion.minutos = b;
  7.     posicion.segundos = c;
  8.     posicion.orientacion = z;
  9.    
  10.     return posicion;
  11. }
  12.  
  13. longitud = ConstruyeAngulo(20, 20, 5, 'N');

Saludos
vosk