Advertisement
Guest User

CS50 2024 - Week 1 - Cash where I got stuck

a guest
Feb 9th, 2024
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.94 KB | Source Code | 0 0
  1. #include <cs50.h>
  2. #include <stdio.h>
  3.  
  4. // This problem set is so much more confusing when you're not American
  5. // or British and can't remember what quarters/nickels/dimes/pennies are...
  6.  
  7. // --------------------
  8. // ---- PROTOTYPES ----
  9. // --------------------
  10.  
  11. int get_change(void);
  12. int quarters_calc(int change);
  13. int nickels_calc(int change);
  14. int dimes_calc(int change);
  15. int pennies_calc(int change);
  16.  
  17. // -----------------------
  18. // ---- MAIN FUNCTION ----
  19. // -----------------------
  20.  
  21. int main(void)
  22. {
  23.     int change = get_change();
  24.  
  25.     int quarters = quarters_calc(change);
  26.  
  27.     int dimes = dimes_calc(change);
  28.  
  29.     int nickels = nickels_calc(change);
  30.  
  31.     int pennies = pennies_calc(change);
  32.  
  33.     int coins = quarters + nickels + dimes + pennies;
  34.  
  35.     printf("%i\n", coins);
  36. }
  37.  
  38. // --------------------------
  39. // ---- CUSTOM FUNCTIONS ----
  40. // --------------------------
  41.  
  42. // Asks the user how much change he needs
  43. int get_change(void)
  44. {
  45.     int change;
  46.     do
  47.     {
  48.         change = get_int("Change owed: ");
  49.     }
  50.     while (change < 0);
  51.     return change;
  52. }
  53.  
  54. // Calculates the number of quarters (25c) needed
  55. int quarters_calc(int change)
  56. {
  57.     int quarters = 0;
  58.     while (change >= 25)
  59.     {
  60.         change = change - 25;
  61.         quarters++;
  62.     }
  63.     return quarters;
  64. }
  65.  
  66. // Calculates the number of dimes (10c) needed
  67. int dimes_calc(int change)
  68. {
  69.     int dimes = 0;
  70.     while (change >= 10)
  71.     {
  72.         change = change - 10;
  73.         dimes++;
  74.     }
  75.     return dimes;
  76. }
  77.  
  78. // Calculates the number of nickels (5c) needed
  79. int nickels_calc(int change)
  80. {
  81.     int nickels = 0;
  82.     while (change >= 5)
  83.     {
  84.         change = change - 5;
  85.         nickels++;
  86.     }
  87.     return nickels;
  88. }
  89.  
  90. // Calculates the number of pennies (1c) needed
  91. int pennies_calc(int change)
  92. {
  93.     int pennies = 0;
  94.     while (change >= 1)
  95.     {
  96.         change = change - 1;
  97.         pennies++;
  98.     }
  99.     return pennies;
  100. }
  101.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement