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

📄 mainmenu.cpp

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

///////////////////////////////////////////////////////////////
#include "Account.h"
#include "checkingAccount.h"
#include "savingAccount.h"
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////
using std::cerr;
using std::cin;
using std::cout;
using std::endl;
using std::vector;
///////////////////////////////////////////////////////////////

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

///////////////////////////////////////////////////////////////
void mainMenu(vector<Account*>*& pv_pca)
{
	char myChoice = ' ';

	do
	{
		clearScreen();
		displayTitle();

		cout << '\n'<< CREATE_NEW_ACCOUNT << '\n'
			 << DEPOSIT_INTO_ACCOUNT << '\n'
		     << WITHDRAWAL_FROM_ACCOUNT << '\n'
		     << VIEW_ACCOUNT << '\n'
		     << EXIT_PROGRAM << '\n' << endl;

		cout << ENTER_CHOICE;
		cin >> myChoice;

		myChoice = toupper(myChoice);

		if(myChoice == EXIT_CODE)
		{
			break;
		}

		switch(myChoice)
		{
		case(CREATE_CODE):
			{
				accountType_t acc = ' ';
				bool isGoBack = false;

				do
				{
					clearScreen();
					displayTitle();

					cout << '\n' << WHAT_TYPE_OF_ACC;
					cin >> acc;

					acc = toupper(acc);

					if(acc != CHECKING_CODE && acc != SAVING_CODE && acc != GO_BACK_CODE)
					{
						cerr << '\n' << ERROR_100 << '\n' << endl;

						pauseScreen();

						continue;
					}
					else if(acc == GO_BACK_CODE)
					{
						isGoBack = true;
					}

					if(!isGoBack)
					(acc == CHECKING_CODE) 
						? pv_pca->push_back(new checkingRecord_t()) 
						: pv_pca->push_back(new savingRecord_t());

				}while(acc != CHECKING_CODE && acc != SAVING_CODE && acc != GO_BACK_CODE);

				if(!isGoBack)
				{
					pv_pca->back()->insertAccNum(accNum_t(pv_pca->size()));
					pv_pca->back()->createAccount();
				}

				break;
			}
		case(DEPOSIT_CODE):
			{
				if(pv_pca->empty())
				{
					cerr << '\n' << ERROR_101 << '\n' << endl;
					
					pauseScreen();

					continue;
				}
				
				accNum_t accNum;

				cout << '\n' << ENTER_ACC_NUMBER << ACCOUNT_PREFIX;
				cin >> accNum;

				pv_pca->at((--accNum))->depositMoney();

				break;
			}
		case(WITHDRAWAL_CODE):
			{
				if(pv_pca->empty())
				{
					cerr << '\n' << ERROR_101 << '\n' << endl;
					
					pauseScreen();

					continue;
				}

				accNum_t accNum;

				cout << '\n' << ENTER_ACC_NUMBER << ACCOUNT_PREFIX;
				cin >> accNum;

				pv_pca->at((--accNum))->withdrawMoney();

				break;
			}
		case(VIEW_CODE):
			{
				if(pv_pca->empty())
				{
					cerr << '\n' << ERROR_101 << '\n' << endl;
					
					pauseScreen();

					continue;
				}

				accNum_t accNum;

				cout << '\n' << ENTER_ACC_NUMBER << ACCOUNT_PREFIX;
				cin >> accNum;

				--accNum;

				clearScreen();
				displayTitle();

				cout << '\n' << ACCOUNT_TYPE; 
				(pv_pca->at(accNum)->typeOfAccount() == CHECKING_CODE) 
					? cout << CHECKING_ACCOUNT 
					: cout << SAVING_ACCOUNT;
				endl(cout);

				cout << ACCOUNT_NUMBER << ACCOUNT_PREFIX 
					 << pv_pca->at(accNum)->accountNumber() << '\n'
					 << SOCIAL_SECURITY_NUMBER 
						<< pv_pca->at(accNum)->customerSocial() << '\n'
					 << FULL_NAME 
						<< pv_pca->at(accNum)->customerFullName() << '\n'
					 << ADDRESS 
						<< pv_pca->at(accNum)->customerAddress() << '\n'
					 << CITY 
						<< pv_pca->at(accNum)->customerCity() << '\n'
					 << STATE 
						<< pv_pca->at(accNum)->customerState() << '\n'
					 << ZIP_CODE 
						<< pv_pca->at(accNum)->customerZipCode() << '\n'
					 << HOME_PHONE 
						<< pv_pca->at(accNum)->customerHomePhone() << '\n'
					 << WORK_PHONE 
						<< pv_pca->at(accNum)->customerWorkPhone() << '\n'
					 << '\n' << BALANCE 
						<< pv_pca->at(accNum)->balance() << '\n' << endl;

				pauseScreen();

				break;
			}
		default:
			{
				cerr << '\n' << ERROR_102 << '\n' << endl;

				pauseScreen();
			}
		} // end of switch
	}while(myChoice != EXIT_CODE);
}
///////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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