无法在C++中计算正确答案
这是我的实验室程序。我必须应用两个公式并打印两个公式的答案。第一个是这一行:无法在C++中计算正确答案,c++,C++,这是我的实验室程序。我必须应用两个公式并打印两个公式的答案。第一个是这一行: cout<<"Hypoteneus is: " <<sqrt((x*x)+(y*y)) <<endl; 1/2*x*y应为1.0/2.0*x*y或0.5*x*y。 否则,编译器将理解int/int,结果将是int,因此预期的0.5将变为0。1/2*x*y应为1.0/2.0*x*y或0.5*x*y。 否则,编译器将理解int/int,结果将为int,因此预期的0.5将变为0。1/2指
cout<<"Hypoteneus is: " <<sqrt((x*x)+(y*y)) <<endl;
1/2*x*y应为1.0/2.0*x*y或0.5*x*y。
否则,编译器将理解int/int,结果将是int,因此预期的0.5将变为0。1/2*x*y应为1.0/2.0*x*y或0.5*x*y。
否则,编译器将理解int/int,结果将为int,因此预期的0.5将变为0。1/2指定整数算术,将结果截断为最接近的整数,即零
对于具有正确值的浮点常量,使用0.5f或1.0f/2.0f。或者除以二而不是乘以一半。1/2指定整数算术,将结果截断为最接近的整数,即零
对于具有正确值的浮点常量,使用0.5f或1.0f/2.0f。或者除以二而不是乘以一半。fflushstdin是直接的未定义行为。删除它。这也是不必要的。调试提示:如果你不明白为什么一行没有给出你期望的答案,把它分成小块打印出来,找出哪里出了问题:cout@chris yes我想这会解决我的问题problem@user2978059,不,任何使用fflusstdin的方法都是错误的。如果你想暂停程序,你真的不应该用它污染代码。从命令行运行程序。在main的末尾放置一个断点。告诉IDE在执行后暂停。有几个选项不会改变代码。如果您绝对必须这样做,那么使用std::cin.ignore仅当存在任何输入时才忽略剩余的输入,并且std::cin.get作为getch.fflushstdin的等价物是直接的未定义行为。删除它。这也是不必要的。调试提示:如果你不明白为什么一行没有给出你期望的答案,把它分成小块打印出来,找出哪里出了问题:cout@chris yes我想这会解决我的问题problem@user2978059,不,任何使用fflusstdin的方法都是错误的。如果你想暂停程序,你真的不应该用它污染代码。从命令行运行程序。在main的末尾放置一个断点。告诉IDE在执行后暂停。有几个选项不会改变代码。如果您绝对必须这样做,那么使用std::cin.ignore仅当存在任何输入时才忽略剩余的输入,并且std::cin.get相当于getch。
cout<<"Area is: " <<a*x <<((1/2)*x*y);
int main ()
{
float x, y, a=122;
cout<<"Enter x and y.\n";
cin>>x >>y;
cout<<"Hypoteneus is: " <<sqrt((x*x)+(y*y)) <<endl;
fflush(stdin);
cout<<"Area is: " <<a*x <<((1/2)*x*y);
getch();
return 0;
}