银行系统

原创 2016年08月28日 14:28:57
#include <iostream>
#include <string>


using namespace std;


class Account
{
public:
Account(string a,string b,double bal);
virtual void saving(double a);
virtual void getOutMoney(double a);
virtual void showme();
string getId();




private:
string Account_name;
string name;
double balance ;




};


class NormalAccount:public Account
{
public:
NormalAccount(string a,string b,double bal):Account(a,b,bal)
{


}
private:
string Account_name;
string name;
double balance ;
};


class VIPAccount:public Account
{
public:
VIPAccount(string a,string b,double bal,double d,double e):Account(a,b,bal),tzsx(d),tzze(e)
{


}
void getOutMoney(double a);
void showme();




private:
string Account_name;
string name;
double balance ;
double tzsx;
double tzze;




};


Account::Account(string a,string b,double bal)
{
Account_name = a;
name = b;
balance = bal;
}


void Account::saving(double a)
{
balance = balance + a;
}


void Account::getOutMoney(double a)
{
if(a > balance)
cout<<"余额不足"<<endl;
else
{
balance = balance - a;
cout << "已取出" << a << "元" <<endl;
}
}


void Account::showme()
{
cout << "用户账号为" << Account_name << endl;
cout << "开户人姓名" << name <<endl;
cout << "账户余额为" << balance <<endl;
}


string Account::getId()
{
return Account_name;
}


void VIPAccount::getOutMoney(double a)
{
if(a >balance + tzsx -tzze)
cout<<"不可透支"<<endl;
else
balance = balance - a;


}


void VIPAccount::showme()
{
cout << "用户账号为" << Account_name << endl;
cout << "开户人姓名" << name <<endl;
cout << "账户余额为" << balance <<endl;
cout << "透支上限为" << tzsx <<endl;
cout << "透支总额为" << tzze <<endl;


}


class Bank
{
public:
Bank();
void append1();
void append2();
void del();
void query();
Account *account[100];
private:


int accNum;
double Balance;


};


Bank::Bank()
{
for(int i = 0;i < 100 ; i++ )
{
account[i] = NULL;
}


accNum = 0;
}


void Bank::append1()
{
string str1,str2;


cout << "请输入普通用户账号" << endl;
cin>>str1;
cout << "请输入开户人姓名" << endl;
cin>>str2;
Account *acc = new NormalAccount(str1,str2,0) ;
cout<<"增加普通账户成功"<<endl;


account[accNum] = acc;
accNum++;
}


void Bank::append2()
{
string str1,str2;


cout << "请输入高级用户账号" << endl;
cin>>str1;
cout << "请输入开户人姓名" << endl;
cin>>str2;
Account *acc = new VIPAccount(str1,str2,0,5000,0) ;
cout<<"增加高级账户成功"<<endl;


account[accNum] = acc;
accNum++;
}


void Bank::del()
{
string n;
cout << "请输入要注销的用户账号" << endl;
cin>>n;


for(int i=0;i<100;i++)
{
if(account[i]->getId() != n)
cout<<"没有这个账号"<<endl;
if(account[i]->getId() == n)
{
delete account[i];
accNum--;


}


}
}


void Bank::query()
{
string n;
cout << "请输入您要查询的用户账号" << endl;
cin>>n;


for(int i=0;i<100;i++)
{
if(account[i]->getId() != n)
cout<<"没有这个账号"<<endl;
if(account[i]->getId() == n)
account[i]->showme();
}


}


int main()
{
Bank bank;


while(1)
{
cout << "1.增加账户" << endl;
cout << "2.删除账户" <<endl;
cout << "3.查询账户" <<endl;
cout << "4.取款和存款" <<endl;
cout << "5.退出系统" <<endl;


cout << "请选择" <<endl;


int n;
cin>>n;
if(n == 1)
{
int n;
cout << "1.增加普通账户" << endl;
cout << "2.增加高级账户" << endl;
cout << "请选择" << endl;
cin>>n;


if(n == 1)
bank.append1();


if(n == 2)
bank.append2();


}


if (n == 2)
{
bank.del();
}


if (n == 3)
{
bank.query();
}


if (n == 4)
{


string n;
cout<<"请输入您要存取款的账号"<<endl;
cin>>n;
for(int i=0;i<100;i++)
{
if(bank.account[i]->getId() != n)
cout<<"账号输入错误"<<endl;
if(bank.account[i]->getId() == n)
{
int choice;


cout<<"1.取款"<<endl;
cout<<"2.存款"<<endl;
cout<<"请选择"<<endl;


cin>>choice;
if(choice == 1)
{
double jine;
cout<<"请输入取款金额"<<endl;
cin >> jine;
bank.account[i]->getOutMoney(jine);
bank.account[i]->showme();


}
if(choice == 2)
{
double qkuan;
cout<<"请输入存款金额"<<endl;
cin>>qkuan;
bank.account[i]->saving(qkuan);
bank.account[i]->showme();
}
}


}




}


if (n == 5)
return 0;
}


//return 0;
}

史上最强的银行系统(带文件读写版)

#include #include #include #include using namespace std; //银行中最大的账户数量 #define MAXACCOUNT...
  • CXZHAOYANG12
  • CXZHAOYANG12
  • 2013年01月03日 12:20
  • 867

Java高新技术之银行业务调度系统(java单例设计模式、java枚举)

银行业务调度系统 先来分析先现实生活中的银行系统: 1. 当你进入一家银行,首先干嘛??当然是到服务机选择你...
  • rainmeterlinux
  • rainmeterlinux
  • 2012年12月27日 20:16
  • 501

课程实训——银行系统

/*  * Copyright (c) 2014, 烟台大学计算机学院  * All rights reserved.  * 文件名称:test.cpp  * 作    者:李晓凯  * 完成日期:2...
  • qq_21385857
  • qq_21385857
  • 2015年07月17日 22:23
  • 647

某大型银行深化系统之十九:日志规范

传送门 ☞ Android兵器谱 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229         在应用程序中添加程序日志记录可以跟踪代码运行时轨迹,作为日...
  • leverage_1229
  • leverage_1229
  • 2013年05月28日 13:00
  • 3298

-模拟银行系统-

本程序实现了简单的银行系统 据有开户、存款、转账、取款、查询、改密等基本功能 还加上了注销账户、解挂、挂失、银行信息统计等功能。 本程序共5个文件: 它们的代码...
  • I__Am__Legend
  • I__Am__Legend
  • 2014年10月13日 12:12
  • 920

Java模拟实现银行系统

服务端 服务端包括账户和银行 创建账户和银行的类 package com.bank.account; //账户 public class Account { //账户名称 pr...
  • LVAmber
  • LVAmber
  • 2017年04月26日 01:23
  • 4023

C语言课程设计-模拟银行系统

main.c #include #include #include #include #include #define MaxNum 200 #define N_P 6 typedef st...
  • qq920444182
  • qq920444182
  • 2017年04月22日 16:13
  • 969

银行系统1(改进)

// 121224 银行系统1(改进).cpp : 定义控制台应用程序的入口点。 // /* * Copyright (c) 2012, 烟台大学计算机学院 * ...
  • liubinzi123
  • liubinzi123
  • 2012年12月25日 18:32
  • 1490

黑马程序员 7k面试题破解: 银行业务调度系统

银行业务调度系统 用户需求 模拟实现银行业务调度系统逻辑,具体需求如下:    银行内有6个业务窗口,1- 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。    有三种对应类型的客户...
  • ltjisuanji208
  • ltjisuanji208
  • 2014年01月13日 00:26
  • 398

银行核心业务系统研发日记(三)

从招行沿用下来的核心业务系统,其中有一个基本的数据机构,就是交易流水,等于就是对一次金融服务要素的记载。其中有一个‘收费金额’,在后续版本中被抛弃,今天又开始做核心设计,这个东西又回来了。招行系统是由...
  • dobby2000
  • dobby2000
  • 2006年07月21日 09:15
  • 4150
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:银行系统
举报原因:
原因补充:

(最多只允许输入30个字)