I generated a code that calculates the minimum amount of 20, 10, 5, 2 and 1, which will add up to a user-defined amount of money. The user is allowed to enter integers, i.e. No decimal values. I have two questions.
- If denomination is not required, the program displays a random number instead of 0. How can I fix this?
- Is it possible to create a function that could replace all if statements and, possibly,
printf statements? I am new to functions, so I lost them a bit.
#include <stdio.h> #include <string.h> #include <stdlib.h> int main(void) { int pounds; int one, two, five, ten, twenty; printf("Enter a pounds amount with no decimals, max E999999: \n"); scanf("%d", £s); printf("%d\n", pounds); if(pounds >= 20) { twenty = (pounds / 20); pounds = (pounds-(twenty * 20)); printf("%d\n", pounds); } if(pounds >= 10) { ten = (pounds / 10); pounds = (pounds-(ten * 10)); printf("%d\n", pounds); } if(pounds >= 5) { five = (pounds / 5); pounds = (pounds-(five * 5)); printf("%d\n", pounds); } if(pounds >= 2) { two = (pounds / 2); pounds = (pounds-(two * 2)); printf("%d\n", pounds); } if(pounds >= 1) { one = (pounds / 1); pounds = (pounds-(one * 1)); printf("%d\n", pounds); } printf("The smallest amount of denominations you need are: \n"); printf("20 x %d\n", twenty); printf("10 x %d\n", ten); printf("5 x %d\n", five); printf("2 x %d\n", two); printf("1 x %d\n", one); return 0; }
source share