私は初心者の C++ コーダー (および一般的なプログラミングの初心者) ですが、問題に遭遇したようです。私の教授は私にこのプロジェクトを割り当てました。私はほとんどの部分でうまくいっているように見えますが、間違った答えが返ってきます。私のプログラムでは、40になるはずの最終的な答えとして42を取得し続けます( bに1.00、l に2.00 、p に0.01を入力)。助けていただければ幸いです。提案やヒントがあれば、事前に感謝します。
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
int main()
{
double b, l, p, num, P;
num = P = 0;
cout << "Enter the net profit, net loss, and the probabilty ";
cout << "of the products being sold respectively: ";
cin >> b >> l >> p;
if (p <= 0 || p >= 1)
{
cout << "\n";
cout << "The probability is either too large or small. " << endl;
cout << "Please try again." << endl;
}
else
{
cout << "\n";
while( (b / (b + l)) > P)
{
P += (p * pow((1-p),num));
num++;
}
cout << "It is optimal to order ";
cout << num + 1 << " products. " << endl;
}
system("PAUSE");
return 0;
}