2011-10-15 55 views
0

我一直在做這個作業問題約6個小時。sqrt在C++中不返回正確的值

我們給出了一個以加侖爲單位的體積,並且必須找到圓柱體(池塘)的半徑和直徑。我無法弄清楚我做錯了什麼。 cmath包含在我的程序中。下面是代碼:

1 //dblPondRadius = sqrt((dblPondVolumeCube)/M_PI*11)); 
2  
3 dblPondVolumeCube = static_cast<double(intPondVolume)*.13368; 
4  
5 dblPondRadius = dblPondVolumeCube/(M_PI*11); 
6  
7 dblPondRadius = sqrt (dblPondVolumeCube); 
8  
9 dblPondDiameter = dblPondRadius*2; 

3行的加侖轉換爲立方英尺 第5行是被給我們(見式中的評論在代碼頂部) 第7行池塘半徑式的步驟1中是公式的第2步 第9行計算直徑

程序的其餘部分取決於直徑的計算。這是在1.5小時內請幫助!

+0

這聽起來像你沒有正確的原型。在包含'cmath'之後,你應該使用'std :: sqrt'。 sqrt(「a」)是否至少給出一個錯誤? –

回答

0

第5行設置dblPondRadius,然後第7行再次設置它,而不參考先前的值,因此第5行的工作被丟棄。

+0

我試圖把它全部放在一行上,但仍然沒有正確的解決。我有這樣的:dblPondRadius = sqrt((dblPondVolumeCube)/ M_PI * 11)); – user996413

+0

我甚至嘗試插入一個簡單的數字,如4,它返回4的sqrt爲4. – user996413

+0

我試着添加std :: sqrt,剛纔沒有改變。不,它沒有給出錯誤,它只是不計算平方根。 – user996413