2016-10-29 4 views
-2

このコードが期待どおりに機能しないのはなぜですか?私の変数が期待どおりにvalyeを取得していません

私はproizvodのデバッグを開始する1に常にplusminusが整数> 1(あなたですので、それは

0.75 = 1 - (1/4) and so on. 

私のコードは、この

#include "stdafx.h" 
#include <iostream> 
using namespace std; 
int _tmain() 
{ 
    int plusminus = 1, brojac = 0; 
    double proizvod = 1; 
    double pi; 
    while (brojac < 6) 
    { 
     plusminus = plusminus + 2; 
     if (brojac % 2 == 0) 
     { 
      proizvod = proizvod - (1/plusminus); 
     } 
     else 
     { 
      proizvod = proizvod + (1/plusminus); 
     } 
     pi = proizvod * 4; 
     brojac++; 
    } 
    cout << "Broj PI sa 6 decimala je " << pi << " ." << endl; 
} 
+0

整数を分割しています。自動的には「ダブル」に変換されません。 ( '1/3 == 0') – UnholySheep

+0

ちょっとしたセンスでコードを書式設定してください。 –

答えて

1

1/plusminusであるべきであるバットは0のみ可能最初に2ずつ増やす)ので、整数除算が発生します。

修正の例:1.0/plusminus

関連する問題