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