[C con Clase] casting reenviado

rodolfo rosso paz rodolforossopaz en hotmail.com
Jue Mayo 10 04:01:34 CEST 2007


Hola, creo que mi anterior correo no salio,  gracias a Steven y a Pedro por 
lo de las precedencias, asunto aclarado.

Tengo una duda respecto al casting:

Cuando corro este programa

    double arregloDobles[] = {1.1, 2.2, 3.3, 4.4, 5.5};
    cout << setprecision(2)<< fixed;
    cout << " Valor Resta Doble Entero" << endl;

    for (int i = 0; i<5 ; i++)
    {
        int resta = i+1;
        cout << setw(6) << arregloDobles[i] << setw(6) << resta;
        double doble = (arregloDobles[i]-resta)*10;
        cout << setw(6) << doble;
        int entero = static_cast<int>(doble);
        cout << setw(7) << entero << endl;
     }

El resultado es el siguiente:

    Valor Resta Doble Entero
      1.1     1   1.0      1
      2.2     2   2.0      2
      3.3     3   3.0      2  ------> ¿ que paso aqui ?
      4.4     4   4.0      4
      5.5     5   5.0      5

pregunta: ¿porque en la tercera linea el valor entero sale 2 en vez de 3 
como se esperaba ?
lo he compilado con dev-cpp y con visual c++ 6.0 y el resultado es el mismo, 
¿ alquien tiene idea de que es lo que estoy haciendo mal ?

gracias de antemano

Rodolfo

_________________________________________________________________
Charla con tus amigos en línea mediante MSN Messenger: 
http://messenger.latam.msn.com/





Más información sobre la lista de distribución Cconclase