For循环在输出时未显示正确的计数,在C ++中显示的数字太高

问题描述 投票:1回答:1

我在for循环中无法显示正确的计数。它适用于我以前的代码,但是当我使用此代码时,计数太大。我正在尝试做的事情是让我的for循环计数输入的数字并在每次运行时减去该数字。例如:

当我使用此代码输入50时:

double change; //input variable for change
cin >> change;

//for loop for 50 dollar bills
for (int fif = change; fif >= 50; fif -=50)
{
 b++; //this is the count variable
 change = fif - 50;
} 

if (b == 1)
cout << b << " $50 bill\n";
else
cout <<"";

cout << change; //output the change variable after loop

结果将输出:

1 50 dollar bill
0.00

但是当我更改数字以匹配20美元的钞票时,我的代码如下所示:

  //for loop for twenty dollar bills
 for (int twen = change; twen <= 40 && twen >=20 ; twen -=20)
{
 c++; //count variable
 change = twen - 20;
} 

if (c == 1)
cout << c << " $20 dollar bill\n";
else if (c > 1)
cout << c << " $20 dollar bills\n";
else
cout << "";

cout << change;

并且输出编号始终随输出计数而变化。例如,如果我输入40:

32661 $20 dollar bills
0.00

关于我在做什么错的任何想法?

c++ for-loop count output
1个回答
0
投票

似乎您的计数变量未初始化。变量可以从0开始运气(运气好坏取决于您的态度)。或者它们可以从看似随机的值开始。无论如何,您都不能依赖int变量的初始值。

© www.soinside.com 2019 - 2024. All rights reserved.