Advertisement
Guest User

Untitled

a guest
Feb 24th, 2020
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.02 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. struct money
  4. {
  5.     char *repr;
  6.     int value;
  7.     int num;
  8. };
  9.  
  10.  
  11. void
  12. change(int cost, int tendered, struct money *avail, int num)
  13. {
  14.     struct money *iter = avail;
  15.     int change = tendered - cost;
  16.  
  17.     for (int i = 0; i < num; i++, iter++)
  18.     {
  19.         iter->num = change / iter->value;
  20.         change -= iter->num * iter->value;
  21.     }
  22.  
  23.     printf("%10s: %3d.%02d\n", "Cost", cost / 100, cost % 100);
  24.     printf("%10s: %3d.%02d\n", "Tendered", tendered / 100, tendered % 100);
  25.     printf("-----------------\n");
  26.  
  27.     iter = avail;
  28.     for (int i = 0; i < num; i++, avail++)
  29.         printf("%10s: %d\n", avail->repr, avail->num);
  30. }
  31.  
  32.  
  33. int
  34. main(void)
  35. {
  36.     struct money mon[] = {
  37.         { "Twenty", 2000, 0 },
  38.         { "Ten", 1000, 0 },
  39.         { "Five", 500, 0 },
  40.         { "One", 100, 0 },
  41.         { "Quarter", 25, 0 },
  42.         { "Dime", 10, 0 },
  43.         { "Nickel", 5, 0 },
  44.         { "Penny", 1, 0 },
  45.     };
  46.     change(2117, 10000, mon, sizeof(mon) / sizeof(struct money));
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement