Hola a todos, soy nueva en esto y creo que con el mensaje de antes no me he explicado lo suficiente. Allá va otro intento.
Mi programa quiere calcular unas llamadas equaciones de colinealidad. Para eso, el programa necesita varios datos, tres de ellos son las cordenadas del centro de proyección (Xo, Yo, Zo). Estos valores se encuentran almacenados en un fichero .txt i el programa tiene que dirigirse al programa, coger las cordenadas del primer centro de proyección y calcular dos funciones (CalculoDeX() y CalculoDeY()). Así sucesivamente hasta obtener la X e Y respectivas a cada centro de proyección del fichero.
Creo que el problema se encuentra en el acceso al fichero. Como lo puedo resolver??
 
-El formato de fichero és del suguiente estilo:
 
Xo1  Yo1  Zo1
Xo2  Yo2  Zo2
Xo3  Yo3  Zo3
...     ...     ...
Xon  Yon  Zon
 
-Trabajo con clases, os mando los tres ficheros.
 
 -MAIN.CPP:
 
#include <cstdlib>
#include <iostream>
#include <fstream>
#include "ccolinealitat.h"
using namespace std;
 
int main()
{
    CColinealitat popo;
 
 
    void printArray(int inCoordenades [][3]);
 
        cout<<"X= "<< popo.CalculDe_x() << endl;
        cout<<"Y= "<< popo.CalculDe_y() << endl;
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
 
 
 -ARCHIVO.CPP (ccolinealitat.cpp):
 
#include <stdio.h>
#include <stdlib.h>
#include <fstream>
#include "ccolinealitat.h" // class's header file
#include <math.h>
// class constructor
CColinealitat::CColinealitat()
{
       m_dOM, m_dPHI, m_dKP= 84.32,24.85,75.42; 
       m_dFocal=153.28; 
       i=j=0.0;                              
}
 
// class destructor
CColinealitat::~CColinealitat()
{
	// insert your code here
}
double CColinealitat::CoordCentreProjeccio()
       {
           ifstream inCoordenades ("CordenadasDelCentroProyeccion.txt", ios::in);
 
           if (!inCoordenades);
           { 
              cerr<<"No se puede abrir el fichero"<<endl;
              exit(1);
           }
 
           for (i=0;i<6;i++){
               for(j=0;j<3;j++){
                                inCoordenades[i][j]=m_dXo;
                                inCoordenades[i][j]=m_dYo;
                                inCoordenades[i][j]=m_dZo;
                                }
}
double CColinealitat::CalculDe_x()        
 
{
            m_m11=cos(m_dOM)*cos(m_dKP);
            m_m12=-cos(m_dPHI)*sin(m_dKP);
            m_m13=sin(m_dPHI);
            m_m21=cos(m_dOM)*sin(m_dKP)+sin(m_dOM)*sin(m_dPHI)  *cos(m_dKP);
            m_m22=cos(m_dOM)*cos(m_dKP)-sin(m_dOM)*sin(m_dPHI)*sin(m_dKP);
            m_m23=-sin(m_dOM)*cos(m_dPHI);
            m_m31=sin(m_dOM)*sin(m_dKP)-cos(m_dOM)*sin(m_dPHI)*cos(m_dKP);
            m_m32=sin(m_dOM)*cos(m_dKP)+cos(m_dOM)*sin(m_dPHI)  *sin(m_dKP);
            m_m33=cos(m_dOM)*cos(m_dPHI);                           
 
            m_dRotacio[1][1]=m_m11;
            m_dRotacio[1][2]=m_m12;
            m_dRotacio[1][3]=m_m13;
            m_dRotacio[2][1]=m_m21;
            m_dRotacio[2][2]=m_m22;
            m_dRotacio[2][3]=m_m23;
            m_dRotacio[3][1]=m_m31;
            m_dRotacio[3][2]=m_m32;
            m_dRotacio[3][3]=m_m33;
 
 
       m_dx= m_dFocal*(m_m11*(m_dX-m_dXo)+m_m12*(m_dY-m_dYo)+m_m13*(m_dZ-m_dZo))/(m_m31*(m_dX-m_dXo)+m_m32*(m_dY-m_dYo)+m_m33*(m_dZ-m_dZo)); 
 
 
 
 
       return m_dx;      
 
 
}
 
 
 
double CColinealitat::CalculDe_y()            
 
{
            m_m11=cos(m_dOM)*cos(m_dKP);
            m_m12=-cos(m_dPHI)*sin(m_dKP);
            m_m13=sin(m_dPHI);
            m_m21=cos(m_dOM)*sin(m_dKP)+sin(m_dOM)*sin(m_dPHI)  *cos(m_dKP);
            m_m22=cos(m_dOM)*cos(m_dKP)-sin(m_dOM)*sin(m_dPHI)*sin(m_dKP);
            m_m23=-sin(m_dOM)*cos(m_dPHI);
            m_m31=sin(m_dOM)*sin(m_dKP)-cos(m_dOM)*sin(m_dPHI)*cos(m_dKP);
            m_m32=sin(m_dOM)*cos(m_dKP)+cos(m_dOM)*sin(m_dPHI)  *sin(m_dKP);
            m_m33=cos(m_dOM)*cos(m_dPHI);                           
 
            m_dRotacio[1][1]=m_m11;
            m_dRotacio[1][2]=m_m12;
            m_dRotacio[1][3]=m_m13;
            m_dRotacio[2][1]=m_m21;
            m_dRotacio[2][2]=m_m22;
            m_dRotacio[2][3]=m_m23;
            m_dRotacio[3][1]=m_m31;
            m_dRotacio[3][2]=m_m32;
            m_dRotacio[3][3]=m_m33;
 
 
       m_dy= m_dFocal*( m_m21*(m_dX-m_dXo)+m_m22*(m_dY-m_dYo)+m_m23*(m_dZ-m_dZo) )/(m_m31*(m_dX-m_dXo)+m_m32*(m_dY-m_dYo)+m_m33*(m_dZ-m_dZo)); 
 
 
       return m_dy;      
}
 
 
- ARCHIVO.HPP (ccolinealitat.h):
 
#ifndef CCOLINEALITAT_H
#define CCOLINEALITAT_H
 
 
class CColinealitat
{
	public:
		// class constructor
		CColinealitat();
		// class destructor
		~CColinealitat();
 
       double CalculDe_x(); 
       double CalculDe_y();
       double CColinealitat::CoordCentreProjeccio();
       int i,j;
       int inCoordenades;
       void XTerreny( double X){ m_dX= X;                                               
 
       double m_dOM, m_dPHI, m_dKP;    
       double m_dXo, m_dYo, m_dZo;     
       double m_dFocal;                 
       double m_dx, m_dy;               
       double m_dRotacio[3][3];         
       double m_m11, m_m12, m_m13, m_m21, m_m22, m_m23, m_m31, m_m32, m_m33;                      
 
      private:
              double m_dX, m_dY, m_dZ; 
 
};
 
#endif // CCOLINEALITAT_H
 
 
 
 
Os agradezco vuestra ayudaa! Muchas gracias!!!!!!!!!!!!!!!!!!!! 
   
 

