La funcion ConstruyeAngulo no retorna nada, por lo tanto no puedes asignar el retorno
Código C:
Ver originallongitud = 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//solucion 1
ConstruyeAngulo(20, 20, 5, 'N', &longitud);
O modificar la funcion para que te retorne una estructura:
Código C:
Ver original//solucion 2
Angulo ConstruyeAngulo(int a,int b,int c,char z) {
Angulo posicion;
posicion.grados = a;
posicion.minutos = b;
posicion.segundos = c;
posicion.orientacion = z;
return posicion;
}
longitud = ConstruyeAngulo(20, 20, 5, 'N');
Saludos
vosk