Hi Everyone! So, my code pasted below shows that my program reads the balance and transactions from a file named checkIn.dat. I'm not sure if I correctly wrote the record structure that contains two members, code and amount.
• I'm also suppose to add a call, DisplayBal, after reading the beginning balance from the file so the beginning balance is displayed. (Not sure how to do this.)
•The last thing that I need is to display the following dollar totals at the end:
o Credits (additions to the account – deposits)
o Debits (deductions from the account – checks and ATM withdrawals)
o Service charges (ATM charges and negative balance charges)
Display the number of transactions in the file (this is a counter).
Use a structure definition for the totals. Update the total structure members in main. Display the totals in a function.
If anyone can help me out, I appreciate any help I can get! & if there is an excess of code, please do let me know.
Thanks so much~!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
|
#include <fstream>
#include <iostream>
#include <iomanip>
#include <cstdlib>
using namespace std;
// Function Prototypes
void DisplayTitle();
void DisplayBal(double);
void DisplayDollarTotals(double, double, double);
double GetBegBal(ifstream& inFile);
double ProcessCheck(double, double);
double ProcessDeposit(double, double);
double ProcessATM(double, double);
double ProcessSvcChg(double);
// Global Constants
const double CHARGE = 10,
ATMFEE = 2;
struct checkRecord
{
int transCode;
double transAmount;
};
checkRecord Record(ifstream& inFile);
struct totals
{
int credits;
int debits;
int service;
};
int main()
{
// Variable Declarations
using namespace std;
ifstream inFile;
double balance;
inFile.open("C:\\checkIn.dat", ios::in);
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(2);
DisplayTitle();
balance = GetBegBal(inFile);
checkRecord record;
while(! inFile.eof())
{
record = Record(inFile);
switch(record.transCode)
{
case 1:
balance = ProcessCheck(balance, record.transAmount);
break;
case 2:
balance = ProcessDeposit(balance, record.transAmount);
break;
case 3:
balance = ProcessATM(balance, record.transAmount);
break;
}
DisplayBal(balance);
if(balance < 0)
balance = ProcessSvcChg(balance);
record.transCode = 0;
}
inFile.close();
system ("pause");
}
checkRecord Record(ifstream& inFile)
{
checkRecord rec;
inFile >> rec.transCode >> rec.transAmount;
return rec;
}
void DisplayTitle()
{
cout << "\n Check Register\n\n";
}
double GetBegBal(ifstream& inFile)
{
double x;
inFile >> x;
return x;
}
void DisplayBal(double balance)
{
cout << "\t\tBalance = $" << setw(10) << balance;
}
void DisplayDollarTotals(double credit, double debit, double fee);
{
int numberOfTrans = 0;
inFile.get(numberOfTrans);
if(numberOfTrans > 0);
{
numbeOfTrans = numberOfTrans + 1;
}
cout << "Number of transactions performed: " << number_of_transactions;
cout << "Credit Total: ";
cout << "Debit Total: ";
cout << "Fee Total: ";
}
double ProcessCheck(double bal, double amt)
{
cout << "\n Check = " << setw(10) << amt;
return (bal - amt);
}
double ProcessDeposit(double bal, double amt)
{
cout << "\n Deposit = " << setw(10) << amt;
return (bal + amt);
}
double ProcessATM(double bal, double amt)
{
cout << "\n ATM = " << setw(10) << amt;
bal = bal - amt;
DisplayBal(bal);
bal = bal - ATMFEE;
cout << "\n ATM Fee = " << setw(10) << ATMFEE;
return (bal);
}
double ProcessSvcChg(double bal)
{
cout << "\n Service chg =" << setw(8) << CHARGE;
bal = bal - CHARGE;
DisplayBal(bal);
return (bal);
}
|