Revisando mi mensaje, una vez enviado, descubrí el fallo por mi mismo. En la fórmula, para los decimales, estaba usando comas en lugar de puntos.
Intenté borrar el mensaje, pero obviamente no se puede :)
Un saludo.
Mensaje original:
Cita:
Hola. Recién hoy empiezo en el mundillo de la programación, así que os cansaréis de verme por aquí.
Estoy liado con mi primera aplicación (sin contar el Hello world, claro).
De momento es muy simple: el usuario introduce unos datos y el programa aplica una fórmula.
Estuve liado con el tema del "pow" hasta que descubrí que se escribía "pow(a,b)"
Ahora el problema es con la fórmula, que me parece que la estoy escribiendo mal. Sin embargo, no veo el fallo. Quizá el compilador la lee de forma especial, porque a mi me parece válida. Uso MS V C++ 2010 Express
Son tres fórmulas. Una para el metal, otra para el cristal y otra para el deuterio. Esta última es más compleja y es la que me da un resultado erróneo.
En //comentarios está la fórmula que intento representar en codigo.
Sería la tercera de [URL="http://ogame.wikia.com/wiki/Formulas"]este wiki[/URL]
Cómo se puede arreglar?
Para:
nvlDeuterio = 10
tempMax = 83
pDeuterio tiene que imprimir 287
Muchas gracias.
Estoy liado con mi primera aplicación (sin contar el Hello world, claro).
De momento es muy simple: el usuario introduce unos datos y el programa aplica una fórmula.
Estuve liado con el tema del "pow" hasta que descubrí que se escribía "pow(a,b)"
Ahora el problema es con la fórmula, que me parece que la estoy escribiendo mal. Sin embargo, no veo el fallo. Quizá el compilador la lee de forma especial, porque a mi me parece válida. Uso MS V C++ 2010 Express
Son tres fórmulas. Una para el metal, otra para el cristal y otra para el deuterio. Esta última es más compleja y es la que me da un resultado erróneo.
Código C++:
Ver original
#include <iostream> #include <cmath> using namespace std; int nvlMetal, pMetal; //Metal int nvlCristal, pCristal; //Cristal int nvlDeuterio, pDeuterio, tempMax; //Deuterio int main() { cout << "Nivel mina de metal:" << endl; cin >> nvlMetal; cout << "Nivel mina de cristal:" << endl; cin >> nvlCristal; cout << "Nivel mina de deuterio:" << endl; cin >> nvlDeuterio; cout << "Temperatura maxima:" << endl; cin >> tempMax; int pDeuterio = 10*nvlDeuterio*pow(1.1,nvlDeuterio)*(-0,002*tempMax+1,28); //10*Nivel*1,1^Nivel*(-0,002*Temp.maxima+1,28) cout << "-- Produccion por hora --" << endl; cout << "Metal: " << pMetal << endl; cout << "Cristal: " << pCristal << endl; cout << "Deuterio: " << pDeuterio << endl; return 0; }
En //comentarios está la fórmula que intento representar en codigo.
Sería la tercera de [URL="http://ogame.wikia.com/wiki/Formulas"]este wiki[/URL]
Cómo se puede arreglar?
Para:
nvlDeuterio = 10
tempMax = 83
pDeuterio tiene que imprimir 287
Muchas gracias.