如何输出一个double,它是一个数字的值乘以C ++中的另一个变量?

时间:2017-09-09 00:11:17

标签: c++ variables floating-point double output

我正在尝试使用weight_Fee获取double的输出,而我似乎无法获得正确的值。我尝试过使用float,但我也无法使用#include <iostream> #include <iomanip> #include <cstdlib> #include <ctime> using namespace std; int main() { double animal_Weight; double weight_Fee = .5 * animal_Weight; cout << "In rounded poundage, how much does your animal weigh? "; cin >> animal_Weight; cout << setprecision (2) << fixed << weight_Fee; return 0; }

我的目标是获得一个包含两个小数位的输出值,就像我要计算一个成本一样,但每次都得到0.00。

我是C ++的新手,所以如果有人能告诉我我做错了什么,那将是一个很大的帮助。感谢。

my_dict={0: 'XYZ', 1: 'XYZ', 2: 'XYZ', 3: 'XYZ', 4: 'XYZ', 5: 'XYZ', 6: 'XYZ', 7: 'XYZ', 8: 'XYZ', 9: 'XYZ', 10:'XYZ',11:'XYZ',12:'XYZ',13:'XYZ',14:'XYZ'}

3 个答案:

答案 0 :(得分:1)

weight_Fee

当你初始化weight_Fee时,你将它设置为等于0.5 * animal_Weight的当前值。由于这是当前未定义的animal_Weight将是一些垃圾值。

稍后根据用户输入将weight_Fee设置为某个内容时,不会更改上一个变量的值。您必须再次使用该语句将animal_Weight = 0.5 * weight_Fee当前值设置为

最好的办法可能只是在顶部声明animal_Weight,而不是定义它,直到您将#include <iostream> #include <iomanip> #include <cstdlib> #include <ctime> using namespace std; int main() { double animal_Weight; double weight_Fee; cout << "In rounded poundage, how much does your animal weigh? "; cin >> animal_Weight; weight_Fee = .5 * animal_Weight cout << setprecision (2) << fixed << weight_Fee; return 0; } 设置为您希望它为止。

这样的事情:

$src  = "C:\Users\UserName\Desktop\old"
$dest = "C:\Users\UserName\Desktop\new"

Get-ChildItem -Path $src -Filter *.pdf -Recurse | ForEach-Object {
    $NewFullName = $_.Fullname -replace [RegEx]::Escape($src),$dest
    if (Test-Path -LiteralPath $NewFullName) {
       (Get-Item $NewFullName).LastWriteTime = $_.LastWriteTime
    }
}    

答案 1 :(得分:0)

变量animal_Weight未定义,可以由编译器或操作系统初始化为任何内容,也可以是内存中最后一个值。

输入weight_Fee的值后,您需要计算animal_Weight

double animal_Weight = -1.0;   

cout << "In rounded poundage, how much does your animal weigh? ";
cin >> animal_Weight;
double weight_Fee = .5 * animal_Weight;

cout << setprecision (2) << fixed << weight_Fee;

答案 2 :(得分:0)

有人忘记提及您的计算机一次只执行1条指令(并且C ++编译器按照与您的代码对应的顺序生成指令);或许你从来没有理会这句话。

1) double animal_Weight;   
2) double weight_Fee = .5 * animal_Weight;

3) cout << "In rounded poundage, how much does your animal weigh? ";
4) cin >> animal_Weight;

5) cout << setprecision (2) << fixed << weight_Fee;

您的代码提示(3)和cin(4)动物体重。确定。

但是在知道animal_Weight(4)之前计算了weight_Fee(2)。这是一个逻辑错误。

因此,如果(2)处的计算不知道animal_Weight,则无法确定正确的值。

此外,animal_Weight(1)未初始化,创建未定义的行为。

请注意,您 CAN 让编译器抱怨(生成警告)尝试使用未初始化的变量(在第2行),但您必须命令编译器执行此操作(通过使用选项)。