Для l oop не отображается правильный счет при выводе, показывая слишком большое число в C ++ - PullRequest
1 голос
/ 17 февраля 2020

У меня проблемы с отображением правильного счета в моем для l oop. Это работает для моих предыдущих кодов, но когда я использую этот, счет слишком велик. То, что я пытаюсь сделать, это сделать так, чтобы мой l oop посчитал введенное число и вычитал число каждый раз, когда он пробегает. Например:

Когда я набираю 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

Есть идеи, что я делаю неправильно?

1 Ответ

0 голосов
/ 17 февраля 2020

Кажется, ваша переменная подсчета не инициализирована. Переменные могут начинать существование с 0 удачей (удачей или удачей, в зависимости от вашего отношения). Или они могут начинаться с, казалось бы, случайного значения. В любом случае вы не можете зависеть от начального значения int переменных.

...