Вопрос ниже контекста
Контекст: Для того, чтобы эта программа была отправлена и работала правильно, мне нужно иметь возможность ввести 8,68 для суммы, которая сканируется вЗатем программа должна иметь возможность рассчитать, сколько нужно отдать монет каждого типа, а также остаток средств после того, как вы дадите x количество монет
Как должен выглядеть вывод
Вопрос / проблема: Моя программа будет работать до четверти и получит все правильно, как только доберется до центов,где он имеет 0 центов, программа прерывается и завершается. (Даже когда я вначале использую другое количество, оно сломается в другой точке, если количество монет, в данном случае у центов будет 0) Что я могу сделать, чтобы этобудет запускаться и завершаться так же, как показано выше.
Код:
#include <stdio.h>
int main()
{
double amount;
double GST = 1.13;
double balance;
int numLoonies;
int numQuarters;
int numDimes;
int numNickels;
int numPennies;
int bal;
printf("Please enter the amount to be paid: $"); //ask how much to be paid
scanf("%lf", &amount); //scans the input
GST = amount * .13 + .005;
printf("GST: 1.13\n");
balance = (amount + GST);
printf("Balance owing: $%.2lf\n", balance);
numLoonies = balance;
bal = ((balance - numLoonies)*100);
printf("Loonies required: %d", numLoonies);
printf(", balance owing $%1.2f\n", (float)bal/100);
numQuarters = bal / 25;
bal = bal % (numQuarters*25);
printf("Quarters required: %d", numQuarters);
printf(", balance owing $%1.2f\n", (float)bal / 100);
numDimes = bal / 10;
bal = bal % (numDimes * 10);
printf("Dimes required: %d", numDimes);
printf(", balance owing $%1.2f\n", (float)bal / 100);
numNickels = bal / 5;
bal = bal % (numNickels * 5);
printf("Nickels required: %d", numNickels);
printf(", balance owing $%1.2f\n", (float)bal / 100);
numPennies = bal / 1;
bal = bal % (numPennies * 1);
printf("Pennies required: %d", numPennies);
printf(", balance owing $%1.2f\n", (float)bal/100);
return 0;
}
Обновление Так что это для школьного проекта, должен был упомянуть об этом, но я должен использовать мод, чтобы найти оставшийся баланс, и мне пришлось преобразовать двойное в int как часть критерия.
И да, у Канады больше нет копеек, но мне все еще нужно это делать