summaryrefslogtreecommitdiff
path: root/wk1/pset/cash
diff options
context:
space:
mode:
Diffstat (limited to 'wk1/pset/cash')
-rw-r--r--wk1/pset/cash/cash.c70
1 files changed, 70 insertions, 0 deletions
diff --git a/wk1/pset/cash/cash.c b/wk1/pset/cash/cash.c
new file mode 100644
index 0000000..13c6889
--- /dev/null
+++ b/wk1/pset/cash/cash.c
@@ -0,0 +1,70 @@
+#include <cs50.h>
+#include <stdio.h>
+
+int get_cents(void);
+int calculate_quarters(int cents);
+int calculate_dimes(int cents);
+int calculate_nickels(int cents);
+int calculate_pennies(int cents);
+
+int main(void)
+{
+ // Ask how many cents the customer is owed
+ int cents = get_cents();
+
+ // Calculate the number of quarters to give the customer
+ int quarters = calculate_quarters(cents);
+ cents = cents - quarters * 25;
+
+ // Calculate the number of dimes to give the customer
+ int dimes = calculate_dimes(cents);
+ cents = cents - dimes * 10;
+
+ // Calculate the number of nickels to give the customer
+ int nickels = calculate_nickels(cents);
+ cents = cents - nickels * 5;
+
+ // Calculate the number of pennies to give the customer
+ int pennies = calculate_pennies(cents);
+ cents = cents - pennies * 1;
+
+ // Sum coins
+ int coins = quarters + dimes + nickels + pennies;
+
+ // Print total number of coins to give the customer
+ printf("%i\n", coins);
+}
+
+int get_cents(void)
+{
+ int i;
+ do
+ {
+ i = get_int("How many cents? ");
+ }
+ while (i < 0);
+ return i;
+}
+
+int calculate_quarters(int cents)
+{
+ cents = cents / 25;
+ return cents;
+}
+
+int calculate_dimes(int cents)
+{
+ cents = cents / 10;
+ return cents;
+}
+
+int calculate_nickels(int cents)
+{
+ cents = cents / 5;
+ return cents;
+}
+
+int calculate_pennies(int cents)
+{
+ return cents;
+}