Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[Resuelto] Problema fórmula matemática

Estas en el tema de [Resuelto] Problema fórmula matemática en el foro de C/C++ en Foros del Web. Argh... Menuda forma de empezar en este foro ^_^ Revisando mi mensaje, una vez enviado, descubrí el fallo por mi mismo. En la fórmula, para ...
  #1 (permalink)  
Antiguo 07/11/2011, 23:49
Avatar de DjinnHache  
Fecha de Ingreso: noviembre-2011
Ubicación: Tenerife
Mensajes: 2
Antigüedad: 12 años, 5 meses
Puntos: 0
Pregunta [Resuelto] Problema fórmula matemática

Argh... Menuda forma de empezar en este foro ^_^
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.

Código C++:
Ver original
  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4.  
  5. int nvlMetal, pMetal;   //Metal
  6. int nvlCristal, pCristal;   //Cristal
  7. int nvlDeuterio, pDeuterio, tempMax;    //Deuterio
  8.  
  9. int main()
  10. {
  11.     cout << "Nivel mina de metal:" << endl;
  12.     cin >> nvlMetal;
  13.     cout << "Nivel mina de cristal:" << endl;
  14.     cin >> nvlCristal;
  15.     cout << "Nivel mina de deuterio:" << endl;
  16.     cin >> nvlDeuterio;
  17.     cout << "Temperatura maxima:" << endl;
  18.     cin >> tempMax;
  19.     int pMetal = 30*nvlMetal*pow(1.1,nvlMetal); //30*Nivel*1,1^Nivel
  20.     int pCristal = 20*nvlCristal*pow(1.1,nvlCristal); //20*Nivel*1,1^Nivel
  21.     int pDeuterio = 10*nvlDeuterio*pow(1.1,nvlDeuterio)*(-0,002*tempMax+1,28); //10*Nivel*1,1^Nivel*(-0,002*Temp.maxima+1,28)
  22.     cout << "-- Produccion por hora --" << endl;
  23.     cout << "Metal: " << pMetal << endl;
  24.     cout << "Cristal: " << pCristal << endl;
  25.     cout << "Deuterio: " << pDeuterio << endl;
  26.     system("pause");
  27.     return 0;
  28. }

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.

Última edición por DjinnHache; 08/11/2011 a las 00:14 Razón: resuelto

Etiquetas: formula, ogame, pow
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:13.