1

私は初心者の 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;
}  
4

2 に答える 2