2016-10-29 80 views
-2

爲什麼這段代碼沒有按預期工作?我的變量沒有像預期的那樣得到valye

當我開始調試proizvod始終是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,因爲plusminus是> 1的整數(你在開始時增加2),所以你正在經歷整數除法。

修正示例:1.0/plusminus

相關問題