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

📄 bank1.cpp

📁 C++作业 完成一些简单的图形及其输入输出的功能 对于大学本科生做课程设计又很大帮助
💻 CPP
字号:
#include<iostream.h>
#include<stdlib.h>
#include"account.h"
#include"savings.h"
#include"checking.h"
#include"card.h"
#include"term.h"


Account* Find(int a)			//查找帐号函数
{
	if (a==Savings::First()->AccountNo())
	{
		return Savings::First();
	}
	Account* tp=Savings::First();
	while(tp->Next())
	{
		if (a==tp->AccountNo())break;
		tp=tp->Next();
	}
	if (tp->AccountNo()!=a)
	{
		return NULL;
	}
	return tp;
}

//----------------------------------------

void TermAccountCreate()			//TermAccount类建立函数
{
	int a;float b;
	cout<<"请输入帐号和金额: ";
	cin >> a >> b;
	if (TermAccount::First())          //注意地方
	{
		while (Find(a)!=NULL)
		{
			cout<<"此帐户已经存在. "
				<<"请您重新输入: ";
			cin >>a>>b;
		}
	}
	TermAccount* TermAccountTemp;
	TermAccountTemp=new TermAccount(a,b);
	cout<<"已经创建一个期限帐号."<<endl
		<<"取银行帐号: "<<TermAccountTemp->AccountNo()<<endl
		<<"取帐户中金额: "<<TermAccountTemp->AcntBalan()<<endl
		<<"现在已经"<<TermAccount::NoAccounts()
		<<" 有帐户存在."<<endl<<endl;
}

//----------------------------------------

void CreditCardCreate()			//CreditCard类建立函数
{
	int a;float b;
	cout<<"请您输入帐号和金额: ";
	cin >> a >> b;
	if (CreditCard::First())          //注意地方
	{
		while (Find(a)!=NULL)
		{
			cout<<"此帐号已存在. "
				<<" 请您重新输入 : ";
			cin >>a>>b;
		}
	}
	CreditCard* CreditCardTemp;
	CreditCardTemp=new CreditCard(a,b);
	cout<<"您的信用卡号已经创建完毕."<<endl
		<<"取银行帐号: "<<CreditCardTemp->AccountNo()<<endl
		<<"取帐户中余额: "<<CreditCardTemp->AcntBalan()<<endl
		<<"现在已经"<<CreditCard::NoAccounts()
		<<" 有帐户存在."<<endl<<endl;
}

//----------------------------------------

void CheckingCreate()			//Cheking类建立函数
{
	int a;float b;
	cout<<" 请您输入帐号和金额: ";
	cin >> a >> b;
	if (Checking::First())          //注意地方
	{
		while (Find(a)!=NULL)
		{
			cout<<"此帐号已存在. "
				<<"  请您重新输入: ";
			cin >>a>>b;
		}
	}
	Checking* CheckingTemp;
	CheckingTemp=new Checking(a,b);
	cout<<"已创建一个结算帐号."<<endl
		<<"取银行帐号: "<<CheckingTemp->AccountNo()<<endl
		<<"取帐户中余额: "<<CheckingTemp->AcntBalan()<<endl
		<<"现在已经 "<<Checking::NoAccounts()
		<<" 有帐户存在."<<endl<<endl;
}

//----------------------------------------

void SavingsCreate()			//Savings类建立函数
{
	int a;float b;
	cout<<"请输入帐号和金额 : ";
	cin >> a >> b;
	if (Savings::First())          //注意地方
	{
		while (Find(a)!=NULL)
		{
			cout<<"此帐号已存在. "
				<<" 请您重新输入 : ";
			cin >>a>>b;
		}
	}
	Savings* SavingsTemp;
	SavingsTemp=new Savings(a,b);
	cout<<"已创建一个储蓄帐号."<<endl
		<<"取银行帐号: "<<SavingsTemp->AccountNo()<<endl
		<<"取帐户中余额: "<<SavingsTemp->AcntBalan()<<endl
		<<"现在已经 "<<Savings::NoAccounts()
		<<" 有帐户存在."<<endl<<endl;
}

//----------------------------------------

void SavingsFind()				//查找Savings并输出
{
	int a;
	cout<<"请问您查找什么帐号? ";
	cin >>a;
	if (!Savings::First())
	{
		cout<<"此帐户不存在,"
			<<"请您先创建帐户."<<endl;
		return;
	}
	Account* b=Find(a);
	if (b==NULL)
	{
		cout<<"没有找到 "<<a
			<<" 您指定的帐号 !"<<endl;
	}
	else
	{
		b->Display();
	}
}

//----------------------------------------

int submenu()				//子菜单函数
{
	int j=1;
	cout<<endl
		<<"1.储蓄"<<endl
		<<"2.结算"<<endl
		<<"3.信用卡"<<endl
		<<"4.期限"<<endl
		<<"请您选择: ";
	cin >>j;
	while (j!=1&&j!=2&&j!=3&&j!=4)
	{
		cout<<"请输入1,2,3,4: ";
		cin >>j;
	}
	return j;
}

//----------------------------------------

void AccountDeposit()				//存款
{
	int k;float b;
	cout<<"请您输入帐号 : ";
	cin >>k;
	if (!Account::First())
	{
		cout<<"此帐户不存在,"
			<<"请您先创建帐户."<<endl;
		return;
	}
	Account* a=Find(k);
	while (a==NULL)
	{
		cout<<"没有找到 "<<k
			<<" 您指定的帐号 !"<<endl
			<<"请您再试一次 : ";
		cin >>k;
		a=Find(k);
	}
	cout<<"请输入您的存储金额?: ";
	cin >>b;
	a->SetRemit();
	a->Deposit(b);
	a->Display();
}

//----------------------------------------

void AccountWithdrawal()         //取款
{
	int k;float b=0.0;
	cout<<"请输入您的帐号: ";
	cin >>k;
	if (!Account::First())
	{
		cout<<"此帐户不存在,"
			<<"请您先创建帐户."<<endl;
		return;
	}
	Account* a=Find(k);
	while (a==NULL)
	{
		cout<<"没有找到 "<<k
			<<" 您指定的帐户 !"<<endl
			<<"请再试一次 : ";
		cin >>k;
		a=Find(k);
	}
	a->Display();
	if (a->GetType()==4){
		a->Withdrawal(b);
		a->Display();
		return;
	}
	cout<<"请输入您将提取的金额: ";
	cin >>b;
	a->SetRemit();
	a->Withdrawal(b);
	a->Display();
}

//----------------------------------------

void Quit()					//删除堆中对象并退出
{
	Account* t1=Account::First();
	if (!t1)exit(0);
	Account* t2;
	for(;t1->Next();){
		t2=t1->Next();
		delete t1;
		t1=t2;
	}
	exit(0);
}

//----------------------------------------

void main()					//主函数
{
//	clrscr(); //清屏
	cout<<"             ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★"<<endl;
    cout<<"                                                                  "<<endl;
	cout<<"             ★       ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆       ★"<<endl;
    cout<<"                                                                  "<<endl;
	cout<<"             ★       ☆         小猫银行欢迎您!       ☆       ★"<<endl;
	cout<<"                                                                  "<<endl;
	cout<<"             ★       ☆          设计 :张彦明        ☆       ★"<<endl;
	cout<<"                                                                  "<<endl;
	cout<<"             ★       ☆       linxiaomao@21cn.com     ☆       ★"<<endl;
	cout<<"                                                                  "<<endl;
	cout<<"             ★       ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆       ★"<<endl;
	cout<<"                                                                  "<<endl;
	cout<<"             ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★"<<endl;
	cout<<"                                                                  "<<endl;
		int i=1;int re;
	
	while(i<6&&i>0)
	{
		cout<<endl
			<<"       1.创建新帐户"<<endl
			<<"       2.检查帐户"<<endl
			<<"       3.存款"<<endl
			<<"       4.取款"<<endl
			<<"       5.退出"<<endl
			<<"       请选择(1-5): ";
		cin >>i;
		switch(i)
		{
			case 1:
				re=submenu(); //调用子菜单函数
				if (re==1)
					SavingsCreate(); //调用储蓄函数
				else{
					if(re==2)
						CheckingCreate(); //调用结算函数
					else{
						if(re==3) 
							CreditCardCreate(); //调用信用卡函数
						else
							TermAccountCreate(); //调用期限存款函数
					}
				}
				break;
			case 2:
				SavingsFind(); //调用查找储蓄帐户函数
				break;
			case 3:
				AccountDeposit(); //调用存款函数
				break;
			case 4:
				AccountWithdrawal(); //调用取款函数
				break;
			case 5:
				Quit(); //删除堆对象退出函数
			default:
				i=1;
		}
	}
}

⌨️ 快捷键说明

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