/************************************************** Component: Transaction Module: Check Balance **************************************************/ /* include statements */ #include #include #include #include #include "constants.h" #include "check_balance.h" #include "screen_output.h" #include "getch.h" #include "database.h" /* functions */ int tr_CheckBalance(char *cardNumber) { int exit_condition = 0; char temp[2] = " "; char ch; int i; double avail_balance_amount, total_balance_amount; int number_of_accounts; char accountType[MAX_ACCOUNTS+1][MAX_ACCOUNT_TYPE_LENGTH+1]; char accountNumber[MAX_ACCOUNTS+1][MAX_ACCOUNT_NUMBER_LENGTH+1]; char source_account_number[MAX_ACCOUNT_NUMBER_LENGTH+1]; char msg[MESSAGE_BUFFER_LENGTH]; db_GetNumAccounts(cardNumber, &number_of_accounts); if (number_of_accounts <= 0) { io_DrawTopLine(); printf ("No accounts attached to this card\n"); printf ("Press any key to continue...\n"); io_DrawBottomLine(); getch(); return 1; } else if (number_of_accounts > MAX_ACCOUNTS) { number_of_accounts = MAX_ACCOUNTS; } for (i=0;i= 1 && atoi(temp) <= number_of_accounts) { strcpy(source_account_number, accountNumber[atoi(temp)-1]); /* a valid account was selected */ // HANDLE THE BALANCE REQUEST //db_BalanceRequest(account info) db_GetAccountBalance(cardNumber, source_account_number, &avail_balance_amount, &total_balance_amount); // PRINT RECEIPT io_DrawTopLine(); printf ("Balance Inquiry:\n"); printf ("of account: %s\n", source_account_number); printf ("Total balance: $%10.2lf\n", total_balance_amount); printf ("Available balance: $%10.2lf\n", avail_balance_amount); io_DrawBottomLine(); printf ("Press any key to continue...\n"); getch(); // END RECEIPT } } else if (ch == 'c') exit_condition = 1; } while (exit_condition != 1); return 0; }