运行时检查失败#3 - 变量' sBucketH'正在使用而未初始化

时间:2014-10-14 09:06:59

标签: c++

我不知道为什么它会抛出运行时错误!我允许用户输入小型和大型水桶的直径和高度,并计算两个水桶之间的体积,如果较小的水桶放在较大的水桶内。

#include <iostream>

using namespace std;

int main()
{
//Declaring Variables

const double Pi= 3.14;
double lBucketDiameter(0);
double sBucketDiameter(0), sBucketH(0), lBucketH(0);
double volume;
double lBucketVolume, sBucketVolume;
double lBucketRadius;
double sBucketRadius;
    //Output and Input for LARGE BUCKET

cout << "Please enter the Large Buckets Diameter: " << endl;
cin >> lBucketDiameter;

cout << "Please enter the Large Buckets Height: " << endl;
cin >> lBucketH;

//Output and Input for Small Bucket

cout << "Please enter the Small Buckets Diameter: " << endl;
cin >> sBucketDiameter ;

cout << "Please enter the Small Buckets Height: " << endl;
cin >> sBucketH ;

//Formula for Radius

lBucketRadius = lBucketDiameter / 2 ;
sBucketRadius = sBucketDiameter / 2 ;


//Formula for Volume sum for Large and Small Buckets

lBucketVolume = Pi * (lBucketRadius * lBucketRadius) * lBucketH ;

    sBucketVolume = Pi * (sBucketRadius * sBucketRadius) * sBucketH ;

    //Subtracting to find the final answer.

    volume = lBucketVolume - sBucketVolume;

    //Outputting result

    cout << "The volume of space left between the Buckets is: " << volume << "cm3" << endl;

    system("pause");

    return 0;
}

3 个答案:

答案 0 :(得分:1)

警告绝对正确。

您需要在输入之后处理值。现在,您在用户输入输入之前使用随机值进行计算。这样,你就会得到垃圾。

在用户输入后移动您的计算。

答案 1 :(得分:0)

那么,

在从用户那里获取输入之后,将整个计算代码(即公式)放入...中,最简单的方法是将其初始化为0.

答案 2 :(得分:0)

就在我尝试解决其他一些问题并遇到您的代码时。在我看来,它绝对没有错误,因此可以考虑在Visual Studio 2017 Community Edition IDE上进行检查。 瞧,就像上面显示的那样工作正常(仅在VS的C ++环境中复制和粘贴代码),并提供了所有输入来根据需要计算音量。