Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- struct money
- {
- char *repr;
- int value;
- int num;
- };
- void
- change(int cost, int tendered, struct money *avail, int num)
- {
- struct money *iter = avail;
- int change = tendered - cost;
- for (int i = 0; i < num; i++, iter++)
- {
- iter->num = change / iter->value;
- change -= iter->num * iter->value;
- }
- printf("%10s: %3d.%02d\n", "Cost", cost / 100, cost % 100);
- printf("%10s: %3d.%02d\n", "Tendered", tendered / 100, tendered % 100);
- printf("-----------------\n");
- iter = avail;
- for (int i = 0; i < num; i++, avail++)
- printf("%10s: %d\n", avail->repr, avail->num);
- }
- int
- main(void)
- {
- struct money mon[] = {
- { "Twenty", 2000, 0 },
- { "Ten", 1000, 0 },
- { "Five", 500, 0 },
- { "One", 100, 0 },
- { "Quarter", 25, 0 },
- { "Dime", 10, 0 },
- { "Nickel", 5, 0 },
- { "Penny", 1, 0 },
- };
- change(2117, 10000, mon, sizeof(mon) / sizeof(struct money));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement