心得:大一快结束了,最近交的作业也只写成这样,对自己很是失望。
//bankaccount.h
#include <iostream>
using namespace std;
class Date
{
private:
int year,month,day;
public:
void setData(int y,int m,int d)
{
year=y; month=m; day=d;
}
void print()
{
cout<<year<<"-"<<month<<"-"<<day<<endl;
}
};
class BankAccount
{
private:
int account;//账号
double balance;//余额
static int count;
Date openDate;//账号开户日期
public:
BankAccount(int a=0,double b=0);
void deposit();//存款功能
bool withdraw();//取款功能
bool input(BankAccount &s);//设置日期
void print(BankAccount s);//显示账号信息
void decMoney(int m);
void addMoney(int m);
int setAccount();
void closeAccount(BankAccount &a);//注销账户
};
BankAccount::BankAccount(int a,double b)
{
account=a;
balance=b;
}
void BankAccount::deposit()
{
system("cls");
cout<<"输入金额:";
double b;
cin>>b;
balance+=b;
}
bool BankAccount::withdraw()
{
system("cls");
cout<<"输入金额:";
double c;
cin>>c;
if(balance>=c)
{
balance-=c;
return true;
}
return false;
}
bool BankAccount::input(BankAccount &s)
{
system("cls");
count++;
account=count;
balance=0;
cout<<"输入新增账号日期:";
int y,m,d;
cin>>y>>m>>d;
openDate.setData(y,m,d);
cout<<"您的账号:"<<account<<endl;
return true;
}
void BankAccount::print(BankAccount s)
{
system("cls");
cout<<"账号:"<<s.account<<endl
<<"余额:"<<s.balance<<endl
<<"日期:";openDate.print();
}
void BankAccount::decMoney(int m)
{
system("cls");
balance-=m;
}
void BankAccount::addMoney(int m)
{
system("cls");
balance+=m;
}
int BankAccount::setAccount()
{
system("cls");
return account;
}
void BankAccount::closeAccount(BankAccount &a)
{
system("cls");
a.account=0;
a.account=0;
openDate.setData(0,0,0);
}
int BankAccount::count=0;
//main.cpp
#include <iostream>
#include "BankAccount.h"
using namespace std;
void printMenu()
{
cout << "=====================" << endl;
cout << "1. 查看银行信息" << endl;
cout << "2. 新增一个银行账号" << endl;
cout << "3. 存款" << endl;
cout << "4. 取款" << endl;
cout << "5. 转账" << endl;
cout << "6. 注销" << endl;
cout << "7. 退出" << endl;
cout << "=====================" << endl;
cout << "请输入你的选择:" << endl;
}
int main()
{
char choice;
int i,j,m,n=0;
BankAccount a[10];
do
{
printMenu();
cin>>choice;
switch(choice)
{
case '1':
cout<<"输入查看银行账号:";
cin>>i;
if(a[i-1].setAccount()==i)
{
a[i-1].print(a[i-1]);
}
else
{
cout<<"账号不存在"<<endl;
}
break;
case '2':
if(a[n].input(a[n]))
{
cout<<"新增账号成功!"<<endl;
}
else
{
cout<<"新增账号失败!"<<endl;
}n++;
break;
case '3':
{
cout<<"输入存款账号:";
cin>>j;
if(a[j-1].setAccount()==j)
{
a[j-1].deposit();
}
else
{
cout<<"账号不存在"<<endl;
}
break;
}
case '4':
{
cout<<"输入取款账号:";
cin>>i;
if(a[i-1].setAccount()==i)
{
if(a[i-1].withdraw())
{
cout<<"取款成功"<<endl;
}
else
{
cout<<"余额不足"<<endl;
}
}
else
{
cout<<"账号不存在"<<endl;
}
break;
}
case '5':
cout<<"输入转出账号:";
cin>>i;
cout<<"输入转入账号:";
cin>>j;
cout<<"输入转账金额:";
cin>>m;
a[i-1].decMoney(m);
a[j-1].addMoney(m);
break;
case '6':
cout<<"输入注销账号:";
cin>>i;
a[i-1].closeAccount(a[i-1]);
break;
case '7':
break;
default:
cout<<"输入错误,请重新输入"<<endl;
}
}while(choice!='7');
cout<<"程序结束"<<endl;
return 0;
}
运行结果: