博客
关于我
银行系统改编版
阅读量:579 次
发布时间:2019-03-11

本文共 2676 字,大约阅读时间需要 8 分钟。

今天对银行系统进行了修改终于修改好了。下面是我今天忙了一大早的成果。大家看看吧。

#include<iostream>

using namespace std;
class Account
{
friend class CheckingAccount;
protected:
double balance;  //账户余额
public:
Account(double Balanc);
void credit();//向当前余额加钱
int debit();//从账中取钱
int getBalance();//返回balance值
};
Account::Account(double Balance)
{
  balance=Balance;
}
void Account::credit()
{
int save;
 cout<<"您的银行可用余额为:"<<balance<<endl;
 cout<<"请输入您要存入的金额:"<<endl;
 cin>>save;
 balance=balance+save;
 cout<<"存入后的余额为:"<<endl;
 cout<<balance<<endl;
}
int Account::debit()
{
 int demand;int flag=1;
 cout<<"请输入您要取出的金额:"<<endl;
 cin>>demand;
 if(demand>balance)
 {balance=balance;
 cout<<"对不起!您的余额不足,请充值:"<<endl;
 }
 else
 { balance=balance-demand;
   cout<<"您已成功取出"<<demand<<"元现金"<<endl;
   cout<<"您的余额为"<<getBalance()<<endl;;
   //cout<<"您的余额为"<<balance<<endl;
   flag=0;//表示钱已被取走
 }
  return flag;
}
int Account::getBalance()
{
 return balance;
}
class SavingAccount:public Account
{
friend class CheckingAccount;//下面的CheckingAccount中会用到//SavingAccount中的caclculateInterest
private:
//double balance;
double interestrate;//账户的比例
public:
SavingAccount(double Balance,double Interestrate);
int caclculateInterest();
};
SavingAccount::SavingAccount(double Balance,double Interestrate):Account(Balance)
{
balance=balance;
 interestrate=Interestrate;
 //credit();//存
 //debit();//取
}
int SavingAccount::caclculateInterest()
{
double money;
money=balance*interestrate;
return money;//利息
}
class CheckingAccount:public SavingAccount
{
private:
double fare;//表示每笔的费用
public:
CheckingAccount(double Balance,double Interestrate,double Fare);
void rescredit();
int resdebit();
};
CheckingAccount::CheckingAccount(double Balance,double Interestrate,double Fare):SavingAccount(Balance,Interestrate)
{
balance=Balance;
interestrate=Interestrate;
  fare=Fare;
}
/*void CheckingAccount::rescredit()
{
 credit();
 //caclculateInterest();
 int save;
 cout<<"请输入您要存入的金额:"<<endl;
 cin>>save;
 balance=balance+save;
}*/
int CheckingAccount::resdebit()
{bool flag;
 //credit();
 //debit();
 if(debit()==0)
 {
cout<<"您已成功提出钱!:"<<endl;
balance=balance-fare;
cout<<"取钱收取费用!"<<endl; 
 cout<<"收取的费用后余额产生的利息:"<<caclculateInterest()<<endl;
 }
 else
cout<<"收费不成功:"<<endl;
 return balance;
}
void main()
{
cout<<"************欢迎您使用张新华银行系统************"<<endl;
cout<<"***********************************"<<endl;
 Account A1(100);
 A1.credit();A1.debit();A1.getBalance();
 cout<<"***********************************"<<endl;
 SavingAccount S1(A1.getBalance(),0.2);
 S1.credit();
 S1.debit();
 S1.getBalance();
 cout<<"账户的利息:"<<S1.caclculateInterest()<<endl;
  cout<<"***********************************"<<endl;
  CheckingAccount C1(S1.getBalance(),0.2,30);
 C1.credit();
 //C1.debit();
 cout<<"收取费用后的余额:"<<C1.resdebit();
}

转载地址:http://cvevz.baihongyu.com/

你可能感兴趣的文章
Mysql order by与limit混用陷阱
查看>>
Mysql order by与limit混用陷阱
查看>>
mysql order by多个字段排序
查看>>
MySQL Order By实现原理分析和Filesort优化
查看>>
mysql problems
查看>>
mysql replace first,MySQL中处理各种重复的一些方法
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
mysql replace用法
查看>>
Mysql Row_Format 参数讲解
查看>>
mysql select, from ,join ,on ,where groupby,having ,order by limit的执行顺序和书写顺序
查看>>
MySQL Server 5.5安装记录
查看>>
mysql server has gone away
查看>>
mysql slave 停了_slave 停止。求解决方法
查看>>
MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
查看>>
MYSQL sql语句针对数据记录时间范围查询的效率对比
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>
mysql Timestamp时间隔了8小时
查看>>
Mysql tinyint(1)与tinyint(4)的区别
查看>>
mysql union orderby 无效
查看>>
mysql v$session_Oracle 进程查看v$session
查看>>