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

C++ 运行时检查失败#3-变量';sBucketH';正在使用而未初始化,c++,C++,我没多久它就不知道为什么会抛出运行时错误!我允许用户输入大小铲斗的直径和高度,并计算两个铲斗之间的体积(如果较小的铲斗放在较大的铲斗中) #include <iostream> using namespace std; int main() { //Declaring Variables const double Pi= 3.14; double lBucketDiameter(0); double sBucketDiameter(0), sBucketH(0), lBucke

我没多久它就不知道为什么会抛出运行时错误!我允许用户输入大小铲斗的直径和高度,并计算两个铲斗之间的体积(如果较小的铲斗放在较大的铲斗中)

#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;
}
#包括
使用名称空间std;
int main()
{
//声明变量
常数双Pi=3.14;
双lbucket直径(0);
双圆桶直径(0)、圆桶直径(0)、圆桶直径(0);
双卷;
双lBucketVolume,sBucketVolume;
双lBucketRadius;
双圆孔半径;
//大铲斗的输出和输入
库布克特直径;
库布克斯;
//小铲斗的输出和输入
coutsbucket直径;
coutsbucketh;
//半径公式
lBucketRadius=lBucketDiameter/2;
sBucketRadius=sBucketDiameter/2;
//大小铲斗容积总和公式
lBucketVolume=Pi*(lBucketRadius*lBucketRadius)*lBucketH;
sBucketVolume=Pi*(sBucketRadius*sBucketRadius)*sBucketH;
//通过减法得出最终答案。
体积=lBucketVolume-sBucketVolume;
//输出结果
很好


在从用户处获取输入后,输入整个计算代码,即公式。最简单的方法是将其初始化为0。

警告绝对正确

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


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

正如我在尝试解决一些其他问题时遇到您的代码一样。在我看来,它完全没有错误,所以考虑在Visual Studio 2017 Community Edition IDE上检查它。
Lo,看……上面所示的工作很好(在VS中只在C++环境中复制和粘贴代码)提供所有输入以根据需要计算体积。

使用一些值初始化sBucketH varibale。我认为双体积中存在错误,lBucketRadius=lBucketDiameter/2,sBucketRadius=sBucketDiameter/2;lBucketDiameter和sBucketDiameter尚未由初始化then@KieranRichards和我一样我想派遣一支矮人军队通过电缆神奇地修复你写的代码,他们正在外面聚会,我们必须依靠“你发布你当前的代码”和“我发布问题的解决方案”的老方法。请发布您的更新代码。
lBucketRadius=lBucketDiameter/2
这条线仍然适用于热空气,因为
lBucketDiameter
还没有值。请将计算移到某个已经设置了值的地方。先生,我不知道您做了什么,但我看到了我的错误,对此您感到荣幸!谢谢您的好心先生!建议安装上面的VS环境没有这个站点:为了在VS 2017上编译和运行C++,环境正确地设置,请观看这个视频:如果你有其他的信息,最好是编辑你的答案并把它包含在那里(而不是添加关于它的评论)。嗨,elbrant,我试着这么做,但被阻止做进一步的编辑,警告信息说我可以在回答后的5分钟内完成。因此还有其他评论。你有什么问题吗?