博客
关于我
银行系统改编版
阅读量: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/

你可能感兴趣的文章
nacos本地可以,上服务器报错
查看>>
Nacos注册Dubbo(2.7.x)以及namespace配置
查看>>
Nacos注册中心有几种调用方式?
查看>>
nacos注册失败,Feign调用失败,feign无法注入成我们的bean对象
查看>>
nacos源码 nacos注册中心1.4.x 源码 nacos源码如何下载 nacos 客户端源码下载地址 nacos discovery下载地址(一)
查看>>
nacos源码 nacos注册中心1.4.x 源码 spring cloud alibaba 的discovery做了什么 nacos客户端是如何启动的(二)
查看>>
nacos源码 nacos注册中心1.4.x 源码 如何注册服务 发送请求,nacos clinet客户端心跳 nacos 注册中心客户端如何发送的心跳 (三)
查看>>
Nacos源码分析:心跳机制、健康检查、服务发现、AP集群
查看>>
nacos看这一篇文章就够了
查看>>
Nacos简介、下载与配置持久化到Mysql
查看>>
Nacos简介和控制台服务安装
查看>>
Nacos管理界面详细介绍
查看>>
Nacos编译报错NacosException: endpoint is blank
查看>>
nacos自动刷新配置
查看>>
nacos运行报错问题之一
查看>>
Nacos部署中的一些常见问题汇总
查看>>
NACOS部署,微服务框架之NACOS-单机、集群方式部署
查看>>
Nacos配置Mysql数据库
查看>>
Nacos配置中心中配置文件的创建、微服务读取nacos配置中心
查看>>
Nacos配置中心集群原理及源码分析
查看>>