From bf1c77bd060f65223fb21eb088ae1244fe19481e31a0580d451c2e2bb3ebbae5 Mon Sep 17 00:00:00 2001 From: Tyler Beckman Date: Sun, 22 Sep 2024 20:25:00 -0600 Subject: [PATCH] upload --- atmFunctions.cpp | 216 ++++++++++++++++++++++++----------------------- atmFunctions.h | 6 +- main.cpp | 4 +- 3 files changed, 114 insertions(+), 112 deletions(-) diff --git a/atmFunctions.cpp b/atmFunctions.cpp index 61b3c41..b6b4ae6 100644 --- a/atmFunctions.cpp +++ b/atmFunctions.cpp @@ -11,142 +11,144 @@ * @param pDollars A pointer to the amount of dollars * @param pCents A pointer to the amount of cents */ -void normalize_dollars(int* pDollars, int* pCents) { - *pDollars += *pCents / 100; - *pCents = *pCents % 100; +void normalize_dollars(int *pDollars, int *pCents) { + *pDollars += *pCents / 100; + *pCents = *pCents % 100; } void start_atm() { - int dollars = 0; - int cents = 0; + int dollars = 0; + int cents = 0; - std::cout << "You have entered the ATM menu" << std::endl; + std::cout << "You have entered the ATM menu" << std::endl; - bool continuing = true; - char choice; - do { - print_menu(); - choice = get_user_selection(); - switch (choice) { - case '1': - print_balance(&dollars, ¢s); - break; - case '2': - deposit_money(&dollars, ¢s); - break; - case '3': - withdraw_money(&dollars, ¢s); - break; - case 'Q': - continuing = false; - std::cout << "Have a nice day!" << std::endl; - break; - } - } while (continuing); + bool continuing = true; + char choice; + do { + print_menu(); + choice = get_user_selection(); + switch (choice) { + case '1': + print_balance(&dollars, ¢s); + break; + case '2': + deposit_money(&dollars, ¢s); + break; + case '3': + withdraw_money(&dollars, ¢s); + break; + case 'Q': + continuing = false; + std::cout << "Have a nice day!" << std::endl; + break; + } + } while (continuing); } void print_menu() { - std::cout << "Please make a selection:" << std::endl - << "(1) Print Current Balance" << std::endl - << "(2) Deposit" << std::endl - << "(3) Withdraw" << std::endl - << "(Q) Quit" << std::endl; + std::cout << "Please make a selection:" << std::endl + << "(1) Print Current Balance" << std::endl + << "(2) Deposit" << std::endl + << "(3) Withdraw" << std::endl + << "(Q) Quit" << std::endl; } char get_user_selection() { - char input = 'Q'; + char input = 'Q'; - while (true) { - std::cout << "Choice: "; - std::cin >> input; - std::cin.clear(); - std::cin.ignore(std::numeric_limits::max(), '\n'); - if (std::cin.fail() || - !(input == '1' || input == '2' || input == '3' || input == 'Q')) { - std::cout << "Invalid choice, please try again" << std::endl; - } else { - std::cout << std::endl; - return input; - } - }; + while (true) { + std::cout << "Choice: "; + std::cin >> input; + std::cin.clear(); + std::cin.ignore(std::numeric_limits::max(), '\n'); + if (std::cin.fail() || + !(input == '1' || input == '2' || input == '3' || input == 'Q')) { + std::cout << "Invalid choice, please try again" << std::endl; + } else { + std::cout << std::endl; + return input; + } + }; } -void print_balance(int* pDollars, int* pCents) { - std::cout << "Your account currently contains a total of $" << *pDollars - << "." << std::setfill('0') << std::setw(2) << *pCents << "." - << std::endl - << std::endl; +void print_balance(int *pDollars, int *pCents) { + std::cout << "Your account currently contains a total of $" << *pDollars + << "." << std::setfill('0') << std::setw(2) << *pCents << "." + << std::endl + << std::endl; } -void deposit_money(int* pDollars, int* pCents) { - // Prompt the user for the amount to deposit - int dollarsToDeposit = 0, centsToDeposit = 0; - std::cout << "How many dollars would you like to deposit? "; - std::cin >> dollarsToDeposit; - std::cout << "How many cents would you like to deposit? "; - std::cin >> centsToDeposit; +void deposit_money(int *pDollars, int *pCents) { + // Prompt the user for the amount to deposit + int dollarsToDeposit = 0, centsToDeposit = 0; + std::cout << "How many dollars would you like to deposit? "; + std::cin >> dollarsToDeposit; + std::cout << "How many cents would you like to deposit? "; + std::cin >> centsToDeposit; - // Ensure valid positive integers were entered - if (dollarsToDeposit < 0 || centsToDeposit < 0) { - std::cout << "Deposits must be positive amounts, please try again with " - "proper values" - << std::endl - << std::endl; - return; - } + // Ensure valid positive integers were entered + if (dollarsToDeposit < 0 || centsToDeposit < 0) { + std::cout << "Deposits must be positive amounts, please try again with " + "proper values" + << std::endl + << std::endl; + return; + } - // Normalize the user-inputted values for later display - normalize_dollars(&dollarsToDeposit, ¢sToDeposit); + // Normalize the user-inputted values for later display + normalize_dollars(&dollarsToDeposit, ¢sToDeposit); - *pDollars += dollarsToDeposit; - *pCents += centsToDeposit; + *pDollars += dollarsToDeposit; + *pCents += centsToDeposit; - // Normalize the true account values after addition - normalize_dollars(pDollars, pCents); + // Normalize the true account values after addition + normalize_dollars(pDollars, pCents); - // Display the amount deposited nicely - std::cout << "You have successfully deposited a total of $" - << dollarsToDeposit << "." << std::setfill('0') << std::setw(2) - << centsToDeposit << "." << std::endl - << std::endl; + // Display the amount deposited nicely + std::cout << "You have successfully deposited a total of $" + << dollarsToDeposit << "." << std::setfill('0') << std::setw(2) + << centsToDeposit << "." << std::endl + << std::endl; } -void withdraw_money(int* pDollars, int* pCents) { - // Prompt the user for the amount to withdraw - int dollarsToWithdraw = 0, centsToWithdraw = 0; - std::cout << "How many dollars would you like to withdraw? "; - std::cin >> dollarsToWithdraw; - std::cout << "How many cents would you like to withdraw? "; - std::cin >> centsToWithdraw; +void withdraw_money(int *pDollars, int *pCents) { + // Prompt the user for the amount to withdraw + int dollarsToWithdraw = 0, centsToWithdraw = 0; + std::cout << "How many dollars would you like to withdraw? "; + std::cin >> dollarsToWithdraw; + std::cout << "How many cents would you like to withdraw? "; + std::cin >> centsToWithdraw; - if (centsToWithdraw < 0 || dollarsToWithdraw < 0) { - std::cout << "Withdrawals must be positive amounts, please try again with " - "proper values" - << std::endl - << std::endl; - return; - } + if (centsToWithdraw < 0 || dollarsToWithdraw < 0) { + std::cout + << "Withdrawals must be positive amounts, please try again with " + "proper values" + << std::endl + << std::endl; + return; + } - normalize_dollars(&dollarsToWithdraw, ¢sToWithdraw); + normalize_dollars(&dollarsToWithdraw, ¢sToWithdraw); - // Convert dollar amounts to cents for easier subtraction - int totalCentWithdrawal = centsToWithdraw + (dollarsToWithdraw * 100); + // Convert dollar amounts to cents for easier subtraction + int totalCentWithdrawal = centsToWithdraw + (dollarsToWithdraw * 100); - *pCents += *pDollars * 100; - *pDollars = 0; + *pCents += *pDollars * 100; + *pDollars = 0; - if (totalCentWithdrawal > *pCents) { - std::cout << "You do not have enough money for this withdrawal" << std::endl - << std::endl; - return; - } + if (totalCentWithdrawal > *pCents) { + std::cout << "You do not have enough money for this withdrawal" + << std::endl + << std::endl; + return; + } - *pCents -= totalCentWithdrawal; + *pCents -= totalCentWithdrawal; - normalize_dollars(pDollars, pCents); + normalize_dollars(pDollars, pCents); - std::cout << "You have successfully withdrawn a total of $" - << dollarsToWithdraw << "." << std::setfill('0') << std::setw(2) - << centsToWithdraw << "." << std::endl - << std::endl; + std::cout << "You have successfully withdrawn a total of $" + << dollarsToWithdraw << "." << std::setfill('0') << std::setw(2) + << centsToWithdraw << "." << std::endl + << std::endl; } \ No newline at end of file diff --git a/atmFunctions.h b/atmFunctions.h index e25f51a..9b90f02 100644 --- a/atmFunctions.h +++ b/atmFunctions.h @@ -29,7 +29,7 @@ char get_user_selection(); * @param dollars The amount of full dollars the user currently has * @param cents The amount of cents the user currently has */ -void print_balance(int* pDollars, int* pCents); +void print_balance(int *pDollars, int *pCents); /** * @brief Prompts the user an amount to deposit, validates it, and modifies the @@ -38,7 +38,7 @@ void print_balance(int* pDollars, int* pCents); * @param dollars The amount of full dollars the user currently has * @param cents The amount of cents the user currently has */ -void deposit_money(int* pDollars, int* pCents); +void deposit_money(int *pDollars, int *pCents); /** * @brief Prompts the user an amount to withdraw, validates it, and modifies the @@ -47,6 +47,6 @@ void deposit_money(int* pDollars, int* pCents); * @param dollars The amount of full dollars the user currently has * @param cents The amount of cents the user currently has */ -void withdraw_money(int* pDollars, int* pCents); +void withdraw_money(int *pDollars, int *pCents); #endif // ATMFUNCTIONS_H diff --git a/main.cpp b/main.cpp index 9c336fd..ffb1557 100644 --- a/main.cpp +++ b/main.cpp @@ -1,6 +1,6 @@ #include "atmFunctions.h" int main() { - start_atm(); - return 0; + start_atm(); + return 0; } \ No newline at end of file