Хотите улучшить этот вопрос? Переформулируйте вопрос, чтобы он соответствовал тематике «Stack Overflow на русском».
Закрыт 9 месяцев назад.
Неправильно работающая часть выглядит так
if ((p->NumberOfCash - (AmmountToWithdraw / p->value)) >= 0)
{
count = count + (AmmountToWithdraw / p->value);
p->NumberOfCash = p->NumberOfCash - (AmmountToWithdraw / p->value);
AmmountToWithdraw = AmmountToWithdraw % p->value;
}
p->NumberOfCash - поле структуры для количества данных купюр.p->value - поле структуры для стоимости данной купюры.AmountToWithdraw - нужная для снятия сумма.count - счетчик общего кол-ва купюр, нужных для снятия (в моем вопросе не имеет значение)Главный вопрос - почему при попытке снятия 100 рублей (например) при невыполнении условия ((p->NumberOfCash - (AmmountToWithdraw / p->value)) >= 0), т.е. при отсутствии в банкомате нужного кол-ва (например , 1) купюр оно все еще переопределяет значение p->NumberOfCash и выводит его в отрицательные значения.
(СМ. дополнение 1)
Как так выходит, что -2-4 >=0 ? Онлайн компилятор делает то же самое
Сборка персонального компьютера от Artline: умный выбор для современных пользователей