// Record.cpp
// Aren Jansen
// CS152 Homework #5 Solution
// Purpose: Record Class method definitions.

#include <iostream>
#include <string>
#include <iomanip>
#include "Record.h"

using namespace std;

Record::Record()
{
   m_acctNum = -1;
   m_name = "Blank Record";
   m_balance = 0.;
}

Record::Record( int iNum, string iName, float iBal )
{
   m_acctNum = iNum;
   m_name = iName;
   m_balance = iBal;
}

void Record::updateBalance( float iTrans )
{
   m_balance += iTrans;
}

ostream & operator<<( ostream & os, const Record & iRec )
{
   os << setiosflags(ios::left) << setiosflags(ios::fixed);

   os << setw(5) << iRec.getAcctNum();
   os << setw(19) << iRec.getName().c_str();
   os << setw(10) << setprecision(2) << iRec.getBalance() << endl;

   os << resetiosflags( ios::left | ios::fixed );
   return os;
}

istream & operator>>( istream & is, Record & iRec )
{
   int acct;
   string name;
   float bal;

   is >> acct >> name >> bal;

   iRec = Record(acct, name, bal);

   return is;
}
