⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 account.cpp

📁 Bank Account 1.0
💻 CPP
字号:
///////////////////////////////////////////////////////////////
// Account.cpp

///////////////////////////////////////////////////////////////
#include "Account.h"
#include "stdafx.h"
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
using std::cin;
using std::cout;
using std::endl;
using std::getline;
using std::ws;
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
void clearScreen();
void displayTitle();
void pauseScreen();
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
Account::Account(accountType_t c_atype)
:my_typeOfAccount(c_atype),
 my_accountNumber(new accNum_t),
 my_customerSocial(new field_t),
 my_customerFullName(new field_t),
 my_customerAddress(new field_t),
 my_customerCity(new field_t),
 my_customerState(new field_t),
 my_customerZipCode(new field_t),
 my_customerHomePhone(new field_t),
 my_customerWorkPhone(new field_t),
 my_pinNumber(new pin_t),
 my_balance(new currency_t)
{
}
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
Account::Account(accountType_t c_atype, accNum_t c_actnum, 
				 field_t c_ssn, field_t c_fn, field_t c_adr, 
				 field_t c_cty, field_t c_st, field_t c_zc, 
				 field_t c_hph, field_t c_wph, pin_t c_pin)
:my_typeOfAccount(c_atype),
 my_accountNumber(new accNum_t(c_actnum)),
 my_customerSocial(new field_t(c_ssn)),
 my_customerFullName(new field_t(c_fn)),
 my_customerAddress(new field_t(c_adr)),
 my_customerCity(new field_t(c_cty)),
 my_customerState(new field_t(c_st)),
 my_customerZipCode(new field_t(c_zc)),
 my_customerHomePhone(new field_t(c_hph)),
 my_customerWorkPhone(new field_t(c_wph)),
 my_pinNumber(new pin_t(c_pin)),
 my_balance(new currency_t(0))
{
}
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
Account::~Account()
{
	delete my_accountNumber;
	delete my_customerSocial;
	delete my_customerFullName;
	delete my_customerAddress;
	delete my_customerCity;
	delete my_customerState;
	delete my_customerZipCode;
	delete my_customerHomePhone;
	delete my_customerWorkPhone;
	delete my_pinNumber;
	delete my_balance;
}
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
void Account::insertAccNum(accNum_t accNum)
{
	*my_accountNumber = (accNum);
}
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
void Account::createAccount()
{
	clearScreen();
	displayTitle();

	endl(cout);

	// Social Security Number
	cout << CUSTOMERS_ACCOUNT_NUMBER << ACCOUNT_PREFIX 
		 << accountNumber() << endl;
	cout << ENTER_SOCIAL_SECURITY;
	cin >> ws;
	getline(cin, *my_customerSocial);

	// Full Name
	cout << ENTER_CUSTOMERS_FULL_NAME;
	cin >> ws;
	getline(cin, *my_customerFullName);
	
	// Address
	cout << ENTER_ADDRESS;
	cin >> ws;
	getline(cin, *my_customerAddress);

	// City
	cout << ENTER_CITY;
	cin >> ws;
	getline(cin, *my_customerCity);

	// State
	cout << ENTER_STATE;
	cin >> ws;
	getline(cin, *my_customerState);

	// Zip Code
	cout << ENTER_ZIP_CODE;
	cin >> ws;
	getline(cin, *my_customerZipCode);

	// Home Phone
	cout << ENTER_HOME_PHONE;
	cin >> ws;
	getline(cin, *my_customerHomePhone);

	// Work Phone
	cout <<	ENTER_WORK_PHONE;
	cin >> ws;
	getline(cin, *my_customerWorkPhone);

	// Pin
	cout << ENTER_PIN;
	cin >> ws;
	getline(cin, *my_pinNumber);

	// Balance
	cout << ENTER_INITIAL_BALANCE;
	cin >> *my_balance;
}
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
void Account::depositMoney()
{
	clearScreen();
	displayTitle();

	currency_t amt = (0);

	cout << '\n' << HOW_MUCH_DEPOSIT;
	cin >> amt;

	*my_balance += (amt);
}
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
void Account::withdrawMoney()
{
	clearScreen();
	displayTitle();

	currency_t amt = (0);

	do
	{
		cout << '\n' << HOW_MUCH_WITHDRAWAL;
		cin >> amt;

		if(amt > balance())
		{
			cout << INSUFFICIENT_FUNDS;
			
			pauseScreen();
		}
		else
		{
			*my_balance -= (amt);
		}
	}while(amt > balance());
}
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
accountType_t Account::typeOfAccount() const
{
	return(my_typeOfAccount);
}
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
accNum_t Account::accountNumber() const
{
	return(*my_accountNumber);
}
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
field_t	Account::customerSocial() const
{
	return(*my_customerSocial);
}
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
field_t	Account::customerFullName() const
{
	return(*my_customerFullName);
}
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
field_t Account::customerAddress() const
{
	return(*my_customerAddress);
}
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
field_t	Account::customerCity() const
{
	return(*my_customerCity);
}
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
field_t	Account::customerState() const
{
	return(*my_customerState);
}
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
field_t	Account::customerZipCode() const
{
	return(*my_customerZipCode);
}
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
field_t	Account::customerHomePhone() const
{
	return(*my_customerHomePhone);
}
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
field_t	Account::customerWorkPhone() const
{
	return(*my_customerWorkPhone);
}
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
currency_t Account::balance() const
{
	return(*my_balance);
}
///////////////////////////////////////////////////////////////

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -