精华内容
下载资源
问答
  • 主要介绍了Python银行账户资金交易管理系统,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 用类和对象实现一个银行账户资金交易管理, 包括存款、取款和打印交易详情, 交易详情中包含每次交易的时间、存款或者取款的金额、每次交易后的余额。如:下面按照要求定义一个账户 Account 类。账户 Account 类的...

    用类和对象实现一个银行账户的资金交易管理, 包括存款、取款和打印交易详情, 交易详情中包含每次交易的时间、存款或者取款的金额、每次交易后的余额。

    如:

    202001030900542.jpg?2020039159

    下面按照要求定义一个账户 Account 类。账户 Account 类的属性:

    1. 当前账户金额 money

    2. 当前账户交易日志 account_logs

    账户 Account 类的方法:

    1. 存钱 deposit()无返回值

    2. 取钱 withdrawl()无返回值

    3. 打印交易详情 transaction_log()无返回值

    案例代码如下:

    #coding: utf-8

    import time

    import prettytable as pt

    money = 0

    acount_logs = []

    class Account:

    def __init__(self):

    global money

    self.money = money

    self.acount_logs = acount_logs

    def deposit(self):

    amount = float(input('存入金额:'))

    self.money += amount

    self.write_log(amount,'转入')

    def withdrawl(self):

    amount = float(input('取出金额:'))

    if amount > self.money:

    print('余额不足')

    else:

    self.money -= amount

    self.write_log(amount,'取出')

    def transaction_log(self):

    tb = pt.PrettyTable()

    tb.field_names = ["交易日期","摘要","金额","币种","余额"]

    for info in self.acount_logs:

    if info[1] =='转入':

    amount = '+{}'.format(info[2])

    else:

    amount = '-{}'.format(info[2])

    tb.add_row([info[0],info[1],amount,'人民币',info[3]])

    print(tb)

    def write_log(self,amout,handle):

    create_time = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))

    data =[create_time,handle,amout,self.money]

    self.acount_logs.append(data)

    def show_menu():

    """ 显示菜单栏 """

    menu = """

    ====================银行账户资金交易管理====================

    0: 退出

    1:存款

    2: 取款

    3: 打印交易详情

    ===========================================================

    """

    print(menu)

    if __name__ == '__main__':

    show_menu()

    account = Account()

    while True:

    choice = int(input("请输入您的选择: "))

    if choice == 0:

    exit(0)

    print("退出系统")

    elif choice == 1:

    flag = True

    while flag:

    account.deposit()

    flag = True if input("是否继续存款(Y|N): ").lower()== 'y' else False

    elif choice == 2:

    flag = True

    while flag:

    account.withdrawl()

    flag = True if input("是否继续取款(Y|N): ").lower()== 'y' else False

    elif choice == 3:

    account.transaction_log()

    else:

    print("请选择正确的编号")

    测试结果如下:

    ====================银行账户资金交易管理====================

    0: 退出

    1:存款

    2: 取款

    3: 打印交易详情

    ===========================================================

    请输入您的选择: 1

    存入金额:300

    是否继续存款(Y|N): N

    请输入您的选择: 2

    取出金额:300

    是否继续取款(Y|N): Y

    取出金额:100

    余额不足

    是否继续取款(Y|N): N

    请输入您的选择: 3

    +---------------------+------+--------+--------+-------+

    | 交易日期 | 摘要 | 金额 | 币种 | 余额 |

    +---------------------+------+--------+--------+-------+

    | 2020-01-02 19:53:54 | 转入 | +300.0 | 人民币 | 300.0 |

    +---------------------+------+--------+--------+-------+

    +---------------------+------+--------+--------+-------+

    | 交易日期 | 摘要 | 金额 | 币种 | 余额 |

    +---------------------+------+--------+--------+-------+

    | 2020-01-02 19:53:54 | 转入 | +300.0 | 人民币 | 300.0 |

    | 2020-01-02 19:54:02 | 取出 | -300.0 | 人民币 | 0.0 |

    +---------------------+------+--------+--------+-------+

    请输入您的选择: 5

    请选择正确的编号

    请输入您的选择: 0

    Process finished with exit code 0

    如果可以每次存入和取出钱之后都有余额提示就更友好了!

    总结

    以上所述是小编给大家介绍的Python实现银行账户资金交易管理系统,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对得牛网网站的支持!

    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

    展开全文
  • 银行账户管理系统详细设计说明书

    万次阅读 多人点赞 2016-06-06 23:02:20
    银行账户管理系统详细设计,附源码于博主的GitHub个人主页中。

    第一部分  引言

     

    1.1  编写目的

    本说明对银行账户管理系统项目的各模块、页面、脚本分别进行了实现层面上的要求和说明。

    软件开发小组的产品实现成员应该阅读和参考本说明进行代码的编写、测试。

    1.2  背景

    说明:

    A、 软件系统的名称:银行账户管理系统

    B、 开发者:魏晓蕾等

    本项目将实现基于服务器端Java Web网站的银行账户管理系统的原型部分,并且在该原型的基础上进行功能的扩展和需求的界定,最终完成的版本将在全国范围内推广使用。提供银行账户管理功能。

    C、 本系统将作为银行柜员办理事务和银行账户管理的网站。本系统首先在三个异地银行站点推广使用,分别为呼和浩特分行、北京市分行、哈尔滨分行,并在三个站点设置分布式数据库,利用分布式数据库的读取存储优势实现在三个异地银行站点的存取款及转账等服务。

    1.3  定义

    IPO图 —— 输入/处理/输出图,一般用来描述一个程序的功能和机制;

     

    1.4  参考资料

    A、《JSP程序设计(第二版)》,范立锋等著,人民邮电出版社

    B、《21天学通Oracle(第三版)》,张朝明等著,电子工业出版社

    C、《精通Oracle核心技术与项目实战》,刘丽霞著,电子工业出版社

    D、《分布式数据库系统及其应用(第三版)》,徐俊刚、邵佩英著,科学出版社

     

    第二部分  程序系统的结构

     

    2.1  系统实现场景

    系统实现场景如图2-1所示。

    图2-1  系统实现场景

    本系统实现银行柜员处理银行事务的帐户管理功能,为柜员所使用的基于Java Web平台的网站系统。

    2.2  系统功能模块设计

    系统功能模块划分如图2-2所示。

    图2-2  系统功能模块划分

    2.3  系统开发及运行环境

    开发环境:

            A、Windows 7操作系统

            B、Eclipse-Jee-Mars-2-win32

            C、Oracle 10g 10.2.0

    运行环境:

             A、Internet Explorer浏览器

    2.4  系统项目简介

    2.4.1  项目概况

             A、工程类型:Java Web项目

             B、所用架构:MVC模式

             C、所用技术:JavaBean+JSP+Servlet技术

                                      连接Oracle分布式数据库

             D、工程名称:BankManagementSystem

    2.4.2  项目源码文件

    2.4.2.1  JSP页面

             o       Login.jsp                                       柜员登录页面

             o       LoginCheck.jsp                                  柜员登录检查页面

             o       LoginFailure.html                                柜员登录失败页面

             o       ClientLogin.jsp                                  客户登录页面

             o       ClientLoginOperation.jsp                          客户登录成功页面

             o       MainPage.jsp                                   柜员事务主页面

             o       CreateCard.jsp                                  办卡信息显示页面

             o       CreateCardPassword.jsp                          办卡录入密码页面

             o       CreateCardOperation.jsp                          办卡操作页面

             o       ChangePassword.jsp                             修改密码信息显示页面

             o       ChangePasswordForm.jsp                         修改密码表单页面

             o       ChangePasswordOperation.jsp                     修改密码操作页面

             o       LostCard.jsp                                    挂失/解挂信息显示页面

             o       LostCardOperation.jsp                            挂失/解挂操作页面

             o       ReCreateCard.jsp                                补卡信息显示页面

             o       ReCreateCardOperation.jsp                        补卡操作页面

             o       RemoveCard.jsp                                 销卡信息显示页面

             o       RemoveCardOperation.jsp                         销卡操作页面

             o       SaveInMoney.jsp                                存款信息显示页面

             o       SaveInMoneyForm.jsp                            存款表单页面

             o       SaveInMoneyOperation.jsp                       存款操作页面

             o       TakeOutMoney.jsp                              取款信息显示页面

             o       TakeOutMoneyForm.jsp                          取款表单页面

             o       TakeOutMoneyOperation.jsp                      取款操作页面

             o       ShowBalance.jsp                                查询余额页面

             o       ShowHistory.jsp                               查询历史记录信息显示页面

             o       ShowHistoryOperation.jsp                        查询历史信息操作页面

             o       ForwardMoney.jsp                              转账信息显示页面

             o       ForwardMoneyConfirm.jsp                       转账信息确认页面

             o       ForwardMoneyOperation.jsp                      转账操作页面

    2.4.2.2  JavaBean文件

             o       Connbean/ConnectionOracle.java                  连接Oracle数据库代码

    2.4.2.3  图片文件

             o       images/1.gif                                   柜员登录界面图片

             o       images/2.jpg                                  客户登录界面图片

             o       images/3.jpg                                  系统主页面界面图片

             o       images/4.jpg                                  信息显示页面界面图片

             o       images/5.jpg                                  操作页面界面图片

     

    第三部分  系统设计图表

     

    3.1  用例图

    3.1.1  用例表

    参与者

    银行柜员

    客户

    事件序列1

    录入客户信息

     

     

    事件序列2

    办卡

    录入密码

     

    事件序列3

    修改密码

     

     

    事件序列4

    挂失/解挂

    挂失

    解挂

    事件序列5

    补卡

    销卡

    办卡

    事件序列6

    销卡

    返回余额

     

    事件序列7

    存款

    计算手续费

     

    事件序列8

    取款

    计算手续费

     

    事件序列9

    转账

    转账信息核对

    计算手续费

    事件序列10

    查询余额

     

     

    事件序列11

    查询交易历史

    选择时间段

     

    3.1.2  用例图

    3.2  序列图

    3.2.1  序列表

    事件序列编号

    事件序列名

    发出事件人

    接收事件人

    事件序列1

    柜员登录

    银行柜员

    数据库

    事件序列2

    客户信息录入

    客户

    银行柜员

    事件序列3

    查询插入客户信息

    银行柜员

    数据库

    事件序列4

    办卡

    客户

    银行柜员

    事件序列5

    银行卡信息与客户信息绑定

    银行柜员

    数据库

    事件序列6

    修改密码

    客户

    银行柜员

    事件序列7

    更新数据库密码字段

    银行柜员

    数据库

    事件序列8

    挂失

    客户

    银行柜员

    事件序列9

    更新数据库银行卡状态字段

    银行柜员

    数据库

    事件序列10

    解挂

    客户

    银行柜员

    事件序列11

    更新数据库银行卡状态字段

    银行柜员

    数据库

    事件序列12

    补卡

    客户

    银行柜员

    事件序列13

    删除旧银行卡记录,添加新银行卡记录

    银行柜员

    数据库

    事件序列14

    销卡

    客户

    银行柜员

    事件序列15

    删除银行卡记录

    银行柜员

    数据库

    事件序列16

    存款

    客户

    银行柜员

    事件序列17

    更新银行卡余额字段

    银行柜员

    数据库

    事件序列18

    取款

    客户

    银行柜员

    事件序列19

    更新银行卡余额字段

    银行柜员

    数据库

    事件序列20

    转账

    客户

    银行柜员

    事件序列21

    更新新旧银行卡余额字段

    银行柜员

    数据库

    事件序列22

    查询余额

    客户

    银行柜员

    事件序列23

    查询余额字段

    银行柜员

    数据库

    事件序列24

    查询历史交易

    客户

    银行柜员

    事件序列25

    查询交易表某时间段全部信息

    银行柜员

    数据库

    3.2.2  序列图

    3.3  状态图

    3.3.1  状态表

    状态变迁编号

    开始状态

    到达状态

    触发事件

    状态变迁1

    INIIT

    UNUSED

    初始化

    状态变迁1

    UNUSED

    OPEN

    办卡

    状态变迁1

    OPEN

    UNUSED

    销卡

    状态变迁1

    OPEN

    LOST

    挂失

    状态变迁1

    LOST

    OPEN

    解挂

    状态变迁1

    LOST

    TERMINATE

    卡丢失

    3.3.2  状态图

     

    第四部分  数据库设计

     

    4.1  全局ER图

    4.1.1  各实体集及其属性图集及其属性图实体集及其属性图实体集及其属性图

    4.1.1.1  银行柜员实体集

    4.1.1.2  客户实体集

    4.1.1.3  银行卡实体集

    4.1.1.4  分行实体集

    4.1.2  实体集之间联系图

    4.2  全局表结构

     

    说明:

    英文名:30个字符以内,符合一般标识符命名规范,不用关键字或保留字及特殊符号。

    中文名:30个汉字以内,不要用空格。

    主键:组成主键字段英文名列表,如果有多个字段,用半角逗号隔开。

    类型:char,varchar2,date,number取其一。

    宽度:char最大2000varchar2最4000date不填,number最大38(有效数字个数),宽度以够用为好。

    空否:如果不能为空,填N,可以为空,不填。

    缺省值:字符型用单引号包围,其它类型不必。

    唯一:如果所有记录在此字段上分量没有重复值,填Y,无此限制,不填。

    参照:如果此字段信息必须参照其它表(包括自己)的某字段,则其上应该定义外键,

    填参照表英文名(参照字段英文名),如果不是,不填。

    备注:需要特别说明的信息,比如取值范围,特殊要求等,如没有,不填。

     

    表4‑1表名列表

    编号

    表中文名

    表英文名

    备注

    1

    客户表

    Client

    存储客户的信息

    2

    银行卡总表

    TotalCard

    存储所有分行银行卡信息

    3

    银行卡表

    Card

    存储某客户银行卡的信息

    4

    柜员表

    Teller

    存储柜员的信息

    5

    分行表

    SubBank

    存储各个分行的信息

    6

    交易表

    Trade

    存储各种交易信息

    以下列出每个表的明细信息

    表4‑2 Client(客户表)

    编号

    中文名

    英文名

    类型(宽度)

    空否

    缺省值

    唯一

    参照

    备注

    1

    身份证号

    CLIENTID

    Char(18)

    N

     

    Y

     

     

    2

    姓名

    CLIENTNAME

    Varchar2(10)

    N

     

     

     

     

    3

    手机号

    CLIENTTELNO

    Char(11)

    N

     

     

     

     

    表4‑3 TotalCard(银行卡总表)

    编号

    中文名

    英文名

    类型(宽度)

    空否

    缺省值

    唯一

    参照

    备注

    1

    银行卡号

    CARDID

    Char (19)

    N

     

    Y

     

     

    2

    状态

    CARDSTATUS

    Char (1)

    N

    UNUSED

     

     

     

    3

    分行编号

    SUBBANKID

    Char (4)

    N

     

     

    Y

     

    表4‑4 Card(银行卡表)

    编号

    中文名

    英文名

    类型(宽度)

    空否

    缺省值

    唯一

    参照

    备注

    1

    银行卡号

    CARDID

    Char(19)

    N

     

    Y

     

     

    2

    状态

    CARDSTATUS

    Char(1)

    N

    OPEN

     

     

     

    3

    银行卡密码

    CARDPS

    Char(6)

    N

     

     

     

     

    4

    余额

    CARDBALANCE

    Float(10)

    N

     

     

     

     

    5

    开户时间

    CARDCREATETIME

    Date

    N

     

     

     

     

    6

    身份证号

    CLIENTID

    Char(18)

    N

     

     

    Y

     

    7

    身份证号

    TELLERID

    Char(18)

    N

     

     

    Y

     

    8

    分行编号

    SUBBANKID

    Char(4)

    N

     

     

    Y

     

    表4‑5 Teller(柜员表)

    编号

    中文名

    英文名

    类型(宽度)

    空否

    缺省值

    唯一

    参照

    备注

    1

    身份证号

    TELLERID

    Char(18)

    N

     

    Y

     

     

    2

    柜员姓名

    TELLERNAME

    Varchar2(10)

    N

     

     

     

     

    3

    柜员密码

    TELLERPS

    Char(6)

    N

     

     

     

     

    4

    分行编号

    SUBBANKID

    Char(4)

    N

     

     

    Y

     

    表4‑6 SubBank(分行表)

    编号

    中文名

    英文名

    类型(宽度)

    空否

    缺省值

    唯一

    参照

    备注

    1

    分行编号

    SUBBANKID

    Char(4)

    N

     

    Y

     

     

    2

    分行名称

    SUBBANKNAME

    Varchar2(12)

    N

     

     

     

     

    3

    分行地址

    SUBBANKADDR

    Varchar2(20)

    N

     

     

     

     

    表4‑7 Trade(交易表)

    编号

    中文名

    英文名

    类型(宽度)

    空否

    缺省值

    唯一

    参照

    备注

    1

    交易编号

    TRADEID

    Char(6)

    N

     

    Y

     

     

    2

    源银行卡号

    FROMCARDID

    Char(19)

    N

     

    Y

    Y

     

    3

    目标银行卡号

    TOCARDID

    Char(19)

    N

     

     

    Y

     

    4

    交易时间

    TRADETIME

    Date

    N

     

     

     

     

    5

    交易金额

    TRADEMONEY

    Float(10)

    N

     

     

     

     

    6

    手续费

    TRADEFACTORAGE

    Float(10)

    N

     

     

     

    无手续费以0.00计入

    7

    摘要

    TRADEDIGEST

    Varchar2(20)

     

     

     

     

     

     

    第五部分  程序界面详细设计与说明

     

    5.1  柜员登录组件

    5.1.1  柜员登录界面

    5.1.1.1  呼和浩特分行柜员登录

     

    图5-1  呼和浩特分行柜员登录界面

    5.1.1.2  北京分行柜员登录

     

    图5-2  北京分行柜员登录界面

    5.1.1.3  哈尔滨分行柜员登录

     

    图5-3  哈尔滨分行柜员登录界面

     

    5.1.2  组件描述

    5.1.2.1  目的和意义

    本组件用于柜员登录,系统设置呼和浩特分行、北京分行、哈尔滨分行三地,每个分行有对应银行柜员。柜员通过本人身份证号和登录密码进行登录。

    5.1.2.2  特色说明

    本组件不需要选择分行登录地点,直接通过柜员身份证号确定柜员所在分行、客户办理业务分行。

    5.1.3  功能描述

    输入-处理-输出采用IPO图表示如下:

    图5-4  柜员登录组件IPO图

    5.1.4  运行结果

        点击登录后,通过柜员身份证号查询数据库,登录成功进入录入客户信息界面,登录失败显示登录失败界面。

    5.1.4.1  柜员登录成功

    5.1.4.2  柜员登录失败

     

    5.2  客户信息录入组件

    5.2.1  组件界面

    5.2.2  组件描述

    5.2.2.1  目的和意义

    本组件作为客户录入信息使用。

    5.2.2.2  特色说明

    当柜员登录成功后,跳转到客户信息录入界面。点击提交,查询数据库中是否存在此客户信息,如果存在,提取出客户信息,如果不存在,插入客户信息,并将插入的客户信息提取出来。

    5.2.3  功能描述

    输入-处理-输出采用IPO图表示如下:

    5.2.4  运行结果

     

    5.3  主页面组件

    5.3.1  组件界面

    5.3.2  组件描述

    5.3.2.1  目的和意义

    本组件作为银行账户管理系统的主界面。

    5.3.2.2  特色说明

    主界面功能包括:办卡、修改密码、挂失/解挂、补卡、销卡、存款、取款、查询余额、查询交易历史、转账。

    5.3.3  运行结果

    进入各功能页面。

     

    5.4  办卡组件

    5.4.1  组件界面

    5.4.2  组件描述

    5.4.2.1  目的和意义

        本组件用于银行柜员为客户办卡使用。

    5.4.2.2  特色说明

        银行柜员的身份证号与银行分行编号在数据库中已绑定,柜员用身份证号登录,意味着客户在某地分行办理业务。当柜员点击办卡后,出现该分行所有的银行卡列表,银行卡状态为USED为已经办理的卡,状态为UNUSED的为未办理的卡。如果点击状态为USED的卡的“录入密码”,录入密码后出现“此卡已使用,不能选择!返回办卡页面”。如果点击状态为UNUSED的卡的“录入密码”,录入密码后出现“客户信息与银行卡信息绑定页面”。

    5.4.3  功能描述

    输入-处理-输出采用IPO图表示如下:

    5.4.4  运行结果

    5.4.4.1  点击银行卡状态为“USED”的银行卡的“录入密码”:

    点击“确认”:

    5.4.4.2  点击银行卡状态为“UNUSED”的银行卡的“录入密码”:

    点击“确认”:

     

    5.5  修改密码组件

    5.5.1  组件界面

    点击“修改密码”:

    5.5.2  组件描述

    5.5.2.1  目的和意义

        本组件用于客户修改银行卡密码。

    5.5.2.2  特色说明

    此组件界面会列出该客户所有的银行卡,点击需要修改密码的银行卡信息所在条目的“修改密码”,输入该银行卡的原密码、新密码及确认密码,点击“确认”,提示“该银行卡密码修改成功”。如果输入的新密码和确认密码不同,点击“确认”,提示“该银行卡新密码与确认密码不一致”。如果输入的原密码与数据库中的密码不同,提示“原密码输入错误”。

    5.5.3  功能描述

    输入-处理-输出采用IPO图表示如下:

    5.5.4  运行结果

    5.5.4.1  银行卡密码修改成功

    5.5.4.2  新密码与确认密码不一致

    5.5.4.3  原密码输入错误

     

    5.6  挂失/解挂组件

    5.6.1  组件界面

    5.6.2  组件描述

    5.6.2.1  目的和意义

        本组件用于客户对银行卡挂失或者解挂。

    5.6.2.2  特色说明

    当银行卡状态为“OPEN”,点击“挂失/解挂”,此时使用挂失功能,提示“该银行卡挂失成功”。当银行卡状态为“LOST”,点击“挂失/解挂”,此时使用解挂功能,提示“该银行卡解挂成功”。

    5.6.3  功能描述

    输入-处理-输出采用IPO图表示如下:

    5.6.4  运行结果

    5.6.4.1  挂失成功:

    5.6.4.2  解挂成功:

     

    5.7  补卡组件

    5.7.1  组件界面

    5.7.2  组件描述

    5.7.2.1  目的和意义

        本组件用于客户原卡不能使用,来银行柜员处补卡所用。

    5.7.2.2  特色说明

        组件界面显示用户所有银行卡信息,在需要补卡的银行卡信息条目上点击“补卡”,提示“该银行卡销卡成功,请重新办卡”,点击“办卡”,跳转到办卡界面,如前所述。

    5.7.3  功能描述

    输入-处理-输出采用IPO图表示如下: 

    5.7.4  运行结果

    销户成功:

    重新办卡:

     

    5.8  销卡组件

    5.8.1  组件界面

    5.8.2  组件描述

    5.8.2.1  目的和意义

        本组件用于客户在银行柜员处办理销卡所用。

    5.8.2.2  特色说明

    在销卡界面显示银行卡信息,包括银行卡余额,点击“销卡”,提示已向用户返回余额,销户成功。

    5.8.3  功能描述

    输入-处理-输出采用IPO图表示如下:

    5.8.4  运行结果

     

    5.9  存款组件

    5.9.1  组件界面

    点击“选择”:

    5.9.2  组件描述

    5.9.2.1  目的和意义

        本组件为客户到柜台存款所用。

    5.9.2.2  特色说明

        在银行卡存款页面,显示用户所有银行卡信息,在需要存款的银行卡条目上点击“选择”,进入存款金额填写页面,输入存款金额,点击“存款”,显示存款成功,并显示余额。如果是异地存款(即银行卡所属分行编号与为客户办理业务的柜员所属分行编号不同),则显示余额和手续费。

    5.9.3  功能描述

    输入-处理-输出采用IPO图表示如下:

    5.9.4  运行结果

    本地存款:

    异地存款:

     

    5.10  取款组件

    5.10.1  组件界面

    5.10.2  组件描述

    5.10.2.1  目的和意义

        本组件为客户在柜台取款所用。

    5.10.2.2  特色说明

        取款界面显示客户所有银行卡信息,在需要取款的银行卡信息条目上点击“选择”,进入“取款金额填写”界面,输入取款金额,点击“取款”,提示取款成功,并显示余额。

    如果是异地取款(即银行卡所属分行编号与为客户办理业务的柜员所属分行编号不同),则显示余额和手续费。

    5.10.3  功能描述

    输入-处理-输出采用IPO图表示如下:

    5.10.4  运行结果

    本地取款:

    异地取款:

     

    5.11  查询余额组件

    5.11.1  组件界面

    5.11.2  组件描述

    5.11.2.1  目的和意义

        本组件为客户查询余额所用。

    5.11.2.2  特色说明

        点击“查询余额”,会显示出用户所有的银行卡余额信息。

    5.11.3  功能描述

    输入-处理-输出采用IPO图表示如下:

     

    5.12  查询历史交易组件

    5.12.1  组件界面

    5.12.2  组件描述

    5.12.2.1  目的和意义

        本组件用于客户在柜台查询历史交易信息。

    5.12.2.2  特色说明

        查询历史交易信息页面显示客户所有的银行卡信息。可以查询指定银行卡的“近一周”、“近一月”、“近三月”、“近半年”、“近一年”的信息。还可以查询指定银行卡、指定起始日期和结束日期的历史交易信息。

    5.12.3  功能描述

    输入-处理-输出采用IPO图表示如下:

    5.12.4  运行结果

    近一周查询结果:

    近一月查询结果:

    近三月查询结果:

    近半年查询结果:

    近一年查询结果:

    指定转账银行卡、转账起始日期、结束日期查询历史交易信息:

    查询结果:

     

    5.13  转账组件

    5.13.1  组件界面

    5.13.2  组件描述

    5.13.2.1  目的和意义

        本组件为客户转账所用。

    5.13.2.2  特色说明

        点击“转账”,核对转账信息。如本次转账为本地转账,转账手续费为0元;如本次转账为异地转账,转账手续费为转账金额的0.1%;如转账手续费小于1元,按1元计;如转账手续费大于50元,按50元计。点击“确认转账”,显示转账成功界面。

    5.13.3  功能描述

    输入-处理-输出采用IPO图表示如下:

    5.13.4  运行结果

    本地转账信息确认界面:

    异地转账信息确认界面:

    转账成功界面:

     

    第六部分  系统后续工作说明

     

    本项目存在以下不足:

    1、并未实现分布式数据库,连接的仍是本地集中式数据库。原因如下:

    (1)分布式数据库原理理解,但SQL脚本代码部分看不懂。

    (2)连接老师服务器上的分布式数据库连接方式不清楚,存在以下问题:

    <1>连接集中式Oracle需要额外安装驱动,分布式需要吗?

    <2>连接分布式Oracle代码与连接集中式Oracle代码相同吗?

    (3)连接分布式Oracle数据库后,需要对程序进行整体改造及调试,还不清楚做法。

    2、在办卡、转账时,应向数据库中存入包括日期、时间在内的具体时间,而不是仅包含日期,这样在数据库中存的时间就是日期+00:00:00的时间,不合理。

    3、银行卡余额、存取款金额、手续费应为浮点数保留两位小数,我没有保留。要保留需要修改数据库相应字段,如float(10,2),意为最多保存10位有效数字,小数点后保留两位。

    4、Oracle和JSP页面之间使用Form表单提交中文内容已经解决,数据库中存的是中文,但JSP页面之间通过超链接传递中文参数仍是乱码??????,这个问题到现在也没有解决。

    5、个人电脑上安装Oracle 10g数据库的时区设置问题,当操作系统是(UTC +8:00 北京,重庆,香港特别行政区,乌鲁木齐)时区时,emd.properties这个文件的agentTZRegion=Asia/Chungking设置报错,只有当将操作系统时区调整成(UTC 世界协调时)时区时,emd.properties这个文件的agentTZRegion=GMT,才不会报错,OracleListener服务才可以启动。

    6、未实现本科时曾实现的《考勤管理系统》界面的样式。原因如下:

    (1)本科项目我只负责编码实现,界面美化由其他小组成员完成,我就没有弄清楚。

    (2)想弄清楚需要学会CSS+DIV+JavaScript+Ajax,这还需要后续学习。

     

    由此总结:每做一点,都需要把相关内容彻底弄懂,有一点不懂,就受制于人,就是未来的隐患。

    展开全文
  • 这是一个数据结构课程设计银行账户管理系统,其中用到的数据结构有哈希链 有文件读写功能 账户密码管理功能 用户界面简约有序,不足之处,大家多多包涵,指教,谢谢
  • 银行账户管理系统

    千次阅读 2018-11-13 15:13:46
    System.out.println("*****************欢迎使用GEEK银行账户管理系统*****************"); System.out.println("******************************************************"); System.out.println("\t1.添加用户 ...

    package BankManagementSystem;
    /*

    • 用户类
      /
      public class User {
      private String username;//用户名
      private String userId;//身份证号
      private String cardId;//卡号
      private String password;//密码
      private double balance;//余额
      /
      *
      /
      public User() {
      super();
      // TODO Auto-generated constructor stub
      }
      /
      *
      • @param username
      • @param userId
      • @param cardId
      • @param password
      • @param balance
        */
        public User(String username, String userId, String cardId, String password, double balance) {
        super();
        this.username = username;
        this.userId = userId;
        this.cardId = cardId;
        this.password = password;
        this.balance = balance;
        }
        public String getUsername() {
        return username;
        }
        public void setUsername(String username) {
        this.username = username;
        }
        public String getUserId() {
        return userId;
        }
        public void setUserId(String userId) {
        this.userId = userId;
        }
        public String getCardId() {
        return cardId;
        }
        public void setCardId(String cardId) {
        this.cardId = cardId;
        }
        public String getPassword() {
        return password;
        }
        public void setPassword(String password) {
        this.password = password;
        }
        public double getBalance() {
        return balance;
        }
        public void setBalance(double balance) {
        this.balance = balance;
        }
        @Override
        public String toString() {
        return “User [username=” + username + “, userId=” + userId + “, cardId=” + cardId + “, password=” + password
        + “, balance=” + balance + “]”;
        }

    }

    package BankManagementSystem;
    /*

    • 管理员类
      /
      public class Admin {
      private String id;//账号
      private String password;//密码
      private String name;//姓名
      /
      *
      /
      public Admin() {
      super();
      // TODO Auto-generated constructor stub
      }
      /
      *
      • @param id
      • @param password
      • @param name
        */
        public Admin(String id, String password, String name) {
        super();
        this.id = id;
        this.password = password;
        this.name = name;
        }
        public String getId() {
        return id;
        }
        public void setId(String id) {
        this.id = id;
        }
        public String getPassword() {
        return password;
        }
        public void setPassword(String password) {
        this.password = password;
        }
        public String getName() {
        return name;
        }
        public void setName(String name) {
        this.name = name;
        }
        @Override
        public String toString() {
        return “Admin [id=” + id + “, password=” + password + “, name=” + name + “]”;
        }

    }

    package BankManagementSystem;
    /*

    • 页面类
      */

    public class UI {
    public static void showIndex(){
    System.out.println(“欢迎使用GEEK银行账户管理系统**”);
    System.out.println(“");
    System.out.println("\t1.管理员登陆\t2.用户登录\t\t3.退出系统");
    System.out.println("
    ”);
    System.out.print(“请输入您想执行的操作:”);
    }

    public static void showUserLogin(){
    	System.out.println("******************************************************");
    	System.out.println("**********************   用户登录系统         *******************");
    	System.out.println("******************************************************");
    	
    }
    
    public static void show2() {
    	System.out.println("*****************欢迎使用GEEK银行账户管理系统*****************");
    	System.out.println("******************************************************");
    	System.out.println("1.查询余额\t\t2.存款\t\t3.取款\t\t4.退出");
    	System.out.println("*****************欢迎使用GEEK银行账户管理系统*****************");
    	System.out.print("请选择需要执行的操作:");
    	
    }
    
    public static void show3() {
    	System.out.println("******************************************************");
    	System.out.println("************************   取款      ***********************");
    	System.out.println("******************************************************");
    	System.out.println("请输入取款金额:");
    	
    }
    
    public static void show4() {
    	System.out.println("******************************************************");
    	System.out.println("***********************   存款      ************************");
    	System.out.println("******************************************************");
    	
    }
    
    public static void show5() {
    	System.out.println("******************************************************");
    	System.out.println("**********************   余额查询       *********************");
    	System.out.println("******************************************************");
    	
    }
    
    public static void show6() {
    	System.out.println("******************************************************");
    	System.out.println("********************   管理员登录系统         *******************");
    	System.out.println("******************************************************");
    	
    }
    
    public static void show7() {
    	System.out.println("*****************欢迎使用GEEK银行账户管理系统*****************");
    	System.out.println("******************************************************");
    	System.out.println("\t1.添加用户 \t\t2.查询用户\t\t3.退出系统");
    	System.out.println("******************************************************");
    	System.out.print("请选择想要执行的操作:");
    	
    }
    
    public static void show8() {
    	System.out.println("******************************************************");
    	System.out.println("*********************  查询用户       ***********************");
    	System.out.println("\t1.查询全部\t\t2.按卡号查询\t3.返回");
    	System.out.println("******************************************************");
    	System.out.print("请选择想要执行的操作:");
    	
    }
    
    public static void show9() {
    	System.out.println("******************************************************");
    	System.out.println("**********************   卡号查询     **********************");
    	System.out.println("******************************************************");
    	
    }
    
    public static void show10() {
    	System.out.println("******************************************************");
    	System.out.println("**********************  富豪排行榜      *********************");
    	System.out.println("******************************************************");
    	
    }
    
    public static void show11() {
    	System.out.println("******************************************************");
    	System.out.println("**********************   添加用户       *********************");
    	System.out.println("******************************************************");
    	
    }
    

    }

    package BankManagementSystem;
    /*

    • 工具类
      */
      import java.io.BufferedReader;
      import java.io.FileReader;
      import java.io.IOException;
      import java.util.ArrayList;

    public class Tools {
    public static ArrayList readFile() throws IOException{
    BufferedReader br=new BufferedReader(new FileReader(“users.txt”));
    String st;
    ArrayList userList=new ArrayList<>();
    while((st=br.readLine())!=null){
    String[] ss = st.split("&");
    User user=new User(ss[0], ss[1], ss[2], ss[3], Double.parseDouble(ss[4]));
    userList.add(user);
    }
    br.close();
    return userList;
    }
    }

    package BankManagementSystem;
    /*

    • 业务层
      */
      import java.io.BufferedReader;
      import java.io.BufferedWriter;
      import java.io.FileReader;
      import java.io.FileWriter;
      import java.io.IOException;
      import java.util.ArrayList;
      import java.util.Collections;
      import java.util.Comparator;
      import java.util.HashMap;
      import java.util.LinkedHashMap;
      import java.util.Scanner;

    public class Service {
    /*
    * 主页
    */
    public void index() {
    while(true){
    UI.showIndex();
    @SuppressWarnings(“resource”)
    Scanner sc=new Scanner(System.in);
    int choice=Integer.parseInt(sc.nextLine());
    switch (choice) {
    case 1:
    try {
    adminLogin();
    } catch (IOException e) {
    e.printStackTrace();
    }
    break;
    case 2:
    try {
    userLogin();
    } catch (IOException e) {
    e.printStackTrace();
    }
    break;
    case 3:
    System.exit(0);
    break;

    		default:
    			System.out.println("输入错误!");
    			break;
    		}
    	}
    	
    }
    
    /*
     * 用户登录
     */
    public  void userLogin() throws IOException {
    	@SuppressWarnings("resource")
    	Scanner sc=new Scanner(System.in);
    	UI.showUserLogin();
    	System.out.println("请输入用户名:");
    	String username=sc.nextLine();
    	System.out.println("请输入密码:");
    	String password=sc.nextLine();
    	boolean flag=checkUser(username,password);
    	if(flag){
    		while(true){
    			UI.show2();
    			int choice=Integer.parseInt(sc.nextLine());
    			switch (choice) {
    			case 1:
    				queryBalance(username,password);//查询余额
    				break;
    			case 2:
    				addBalance(username,password);//存款
    				break;
    			case 3:
    				reduceBalance(username,password);//取款
    				break;
    			case 4:
    				System.exit(0);
    				break;
    			default:
    				System.out.println("输入错误!");
    				break;
    			}
    		}
    	}
    	
    }
    
    /*
     * 取款
     */
    public  void reduceBalance(String username, String password) throws IOException {
    	@SuppressWarnings("resource")
    	Scanner sc=new Scanner(System.in);
    	UI.show3();
    	double balance=Double.parseDouble(sc.nextLine());
    	BufferedReader br=new BufferedReader(new FileReader("users.txt"));
    	String st;
    	ArrayList<User> userList=new ArrayList<>();
    	while((st=br.readLine())!=null){
    		String[] ss = st.split("&");
    		User user=new User(ss[0], ss[1], ss[2], ss[3], Double.parseDouble(ss[4]));
    		userList.add(user);
    	}
    	br.close();
    	for (int i = 0; i < userList.size(); i++) {
    		if(userList.get(i).getUsername().equals(username)&&userList.get(i).getPassword().equals(password)){
    			if(userList.get(i).getBalance()<balance){
    				System.out.println("余额不足!");
    				return;
    			}
    			User user=new User(username, userList.get(i).getUserId(), userList.get(i).getCardId(), password, userList.get(i).getBalance()-balance);
    			userList.set(i, user);
    		}
    	}
    	BufferedWriter bw=new BufferedWriter(new FileWriter("users.txt"));
    	for (int i = 0; i < userList.size(); i++) {
    		bw.write(userList.get(i).getUsername()+"&"+userList.get(i).getUserId()+"&"+userList.get(i).getCardId()+"&"+userList.get(i).getPassword()+"&"+userList.get(i).getBalance());
    		bw.newLine();
    		bw.flush();
    	}
    	System.out.println("取款成功!");
    	bw.close();
    	
    	
    }
    
    /*
     * 存款
     */
    public  void addBalance(String username, String password) throws IOException {
    	UI.show4();
    	@SuppressWarnings("resource")
    	Scanner sc=new Scanner(System.in);
    	System.out.println("请输入存款金额:");
    	double balance=Double.parseDouble(sc.nextLine());
    	ArrayList<User> userList = Tools.readFile();
    	for (int i = 0; i < userList.size(); i++) {
    		if(userList.get(i).getUsername().equals(username)&&userList.get(i).getPassword().equals(password)){
    			
    			User user=new User(username, userList.get(i).getUserId(), userList.get(i).getCardId(), password, userList.get(i).getBalance()+balance);
    			userList.set(i, user);
    		}
    	}
    	BufferedWriter bw=new BufferedWriter(new FileWriter("users.txt"));
    	for (int i = 0; i < userList.size(); i++) {
    		bw.write(userList.get(i).getUsername()+"&"+userList.get(i).getUserId()+"&"+userList.get(i).getCardId()+"&"+userList.get(i).getPassword()+"&"+userList.get(i).getBalance());
    		bw.newLine();
    		bw.flush();
    	}
    	System.out.println("存款成功!");
    	bw.close();
    	
    }
    
    /*
     * 用户查询余额
     */
    public  void queryBalance(String username, String password) throws IOException {
    	UI.show5();
    	ArrayList<User> userList = Tools.readFile();
    	for (int i = 0; i < userList.size(); i++) {
    		if(userList.get(i).getUsername().equals(username)&&userList.get(i).getPassword().equals(password)){
    			System.out.println("卡号\t\t用户名\t余额");
    			System.out.println(userList.get(i).getCardId()+"\t"+userList.get(i).getUsername()+"\t"+userList.get(i).getBalance());
    		}
    	}
    	
    }
    
    /*
     * 校验用户信息
     */
    public  boolean checkUser(String username, String password) throws IOException {
    	ArrayList<User> userList = Tools.readFile();
    	for (int i = 0; i < userList.size(); i++) {
    		if(userList.get(i).getUsername().equals(username)&&userList.get(i).getPassword().equals(password)){
    			return true;
    		}
    		if(userList.get(i).getUsername().equals(username)&&!userList.get(i).getPassword().equals(password)){
    			System.out.println("用户名或密码错误!");
    			return false;
    		}
    	}
    	System.out.println("该用户不存在!");
    	return false;
    }
    /*
     * 管理员登录
     */
    public  void adminLogin() throws IOException {
    	UI.show6();
    	@SuppressWarnings("resource")
    	Scanner sc=new Scanner(System.in);
    	System.out.println("请输入账号:");
    	String id=sc.nextLine();
    	System.out.println("请输入密码:");
    	String pwd=sc.nextLine();
    	boolean flag=checkAdmin(id,pwd);
    	if(flag){
    		while(true){
    			UI.show7();
    			int choice=Integer.parseInt(sc.nextLine());
    			switch (choice) {
    			case 1:
    				addUser();
    				break;
    			case 2:
    				queryUser();
    				break;
    			case 3:
    				System.exit(0);
    				break;
    
    			default:
    				System.out.println("输入错误!");
    				break;
    			}
    		}
    		
    	}else{
    		System.out.println("该管理员不存在!");
    	}
    	
    }
    /*
     * 查询用户
     */
    public  void queryUser() throws IOException {
    	@SuppressWarnings("resource")
    	Scanner sc=new Scanner(System.in);
    	while(true){
    		UI.show8();
    		int choice=Integer.parseInt(sc.nextLine());
    		switch (choice) {
    		case 1:
    			queryAll();
    			break;
    		case 2:
    			queryByCardId();
    			break;
    		case 3:
    			return;
    		default:
    			System.out.println("输入错误!");
    			break;
    		}
    	}
    	
    	
    }
    /*
     * 按卡号查询用户
     */
    public  void queryByCardId() throws IOException {
    	UI.show9();
    	@SuppressWarnings("resource")
    	Scanner sc=new Scanner(System.in);
    	System.out.println("请输入卡号:");
    	String cardId=sc.nextLine();
    	ArrayList<User> userList = Tools.readFile();
    	for (int i = 0; i < userList.size(); i++) {
    		if(userList.get(i).getCardId().equals(cardId)){
    			System.out.println("卡号\t\t用户名\t余额");
    			System.out.println(userList.get(i).getCardId()+"\t"+userList.get(i).getUsername()+"\t"+userList.get(i).getBalance());
    			return;
    		}
    	}
    	System.out.println("没有该账户!");
    	
    }
    
    /*
     * 查询所有用户
     */
    public  void queryAll() throws IOException {
    	UI.show10();
    	ArrayList<User> userList = Tools.readFile();
    	Collections.sort(userList,new Comparator<User>() {//按存款金额降序排序
    		@Override
    		public int compare(User o1, User o2) {
    			return (int) (o2.getBalance()-o1.getBalance());
    		}
    	});
    	System.out.println("卡号\t\t用户名\t\t余额");
    	for (int i = 0; i < userList.size(); i++) {
    		
    		System.out.println(userList.get(i).getCardId()+"\t"+userList.get(i).getUsername()+"\t\t"+userList.get(i).getBalance());
    	}
    	
    }
    /*
     * 管理员添加用户
     */
    public  void addUser() throws IOException {
    	UI.show11();
    	@SuppressWarnings("resource")
    	Scanner sc=new Scanner(System.in);
    	System.out.println("请输入姓名:");
    	String username=sc.nextLine();
    	System.out.println("请输入身份证号码:");
    	String userId=sc.nextLine();
    	System.out.println("请输入卡号:");
    	String cardId=sc.nextLine();
    	System.out.println("请输入密码:");
    	String password=sc.nextLine();
    	System.out.println("请输入余额:");
    	double balance=Double.parseDouble(sc.nextLine());
    	
    	HashMap<String, User> userMap=new LinkedHashMap<>();
    	BufferedReader br=new BufferedReader(new FileReader("users.txt"));
    	String st;
    	while((st=br.readLine())!=null){//读取用户表信息
    		String[] ss = st.split("&");
    		User user=new User(ss[0], ss[1], ss[2], ss[3], Double.parseDouble(ss[4]));
    		userMap.put(ss[2], user);
    	}
    	
    	if(userMap.get(cardId)!=null){//判断添加的卡号是否已存在
    		System.out.println("该卡号已存在,无法再次添加!");
    		br.close();
    		return;
    	}
    	br.close();
    	BufferedWriter bw=new BufferedWriter(new FileWriter("users.txt",true));
    	bw.write(username+"&"+userId+"&"+cardId+"&"+password+"&"+balance);
    	bw.newLine();
    	System.out.println("添加成功!");
    	bw.close();
    	
    }
    /*
     * 校验管理员
     */
    public  boolean checkAdmin(String id, String pwd) throws IOException {
    	BufferedReader br=new BufferedReader(new FileReader("admin.txt"));
    	String st;
    	ArrayList<Admin> adminList=new ArrayList<>();
    	while((st=br.readLine())!=null){
    		Admin a=new Admin();
    		String[] ss = st.split("&");
    		a.setId(ss[0]);
    		a.setPassword(ss[1]);
    		a.setName(ss[2]);
    		adminList.add(a);
    	}
    	br.close();
    	
    	for (int i = 0; i < adminList.size(); i++) {
    		if(adminList.get(i).getId().equals(id)&&adminList.get(i).getPassword().equals(pwd)){
    			return true;
    		}
    	}
    	return false;
    }
    

    }

    package BankManagementSystem;
    /*

    • 测试类
      */
      public class Test01 {
      public static void main(String[] args) {
      Service service=new Service();
      service.index();
      }
      }
    展开全文
  • 初学时候练习开发的,初学C#的可以用来练习,有一定借鉴意义的
  • 用类和对象实现一个银行账户资金交易管理, 包括存款、取款和打印交易详情, 交易详 情中包含每次交易的时间、存款或者取款的金额、每次交易后的余额。 下面按照要求定义一个账户 Account 类。 账户 Account ...

    用类和对象实现一个银行账户的资金交易管理, 包括存款、取款和打印交易详情, 交易详 情中包含每次交易的时间、存款或者取款的金额、每次交易后的余额。
    在这里插入图片描述
    下面按照要求定义一个账户 Account 类。
    账户 Account 类的属性:

    1. 当前账户金额 money
    2. 当前账户交易日志 account_logs 账户
      Account 类的方法:
    3. 存钱 deposit()无返回值
    4. 取钱 withdrawl()无返回值
    5. 打印交易详情 transaction_log()无返回值
      代码:
    import prettytable as pt      #表格形式显示
    import  time
    
    account_log = []    #初始化交易日志
    
    class Account(object):
        def __init__(self):
            """初始化"""
            self.money = 0  #封装和初始化金额
            self.account_logs = account_log
        #存钱方法
        def deposit(self):
            """存款"""
            amount = float(input("请输入存款金额: "))
            self.money += amount
            self.write_log(amount,'转入')
    
        #取钱方法
        def withdrawl(self):
            """取款"""
            amount = float(input("请输入取款金额: "))
            if amount > self.money:
                print("余额不足")
            else:
                self.money -= amount
                self.write_log(amount,"消费")
        #打印交易详情
        def transaction_log(self):
            """打印交易日志"""
            tb = pt.PrettyTable()
            tb.field_names = ['交易日期','摘要','金额','币种','余额']   #设置表头
            for info in self.account_logs:
                #判断转入还是消费,为金额前添加“+” 或“-”
                if info[1] == '转入':
                    amout = "+{}".format(info[2])
                else:
                    amout = "-{}".format(info[2])
                tb.add_row([info[0],info[1],amout,'人民币',info[3]])
            print(tb)
        def write_log(self,amount,handle):
            """写入日志"""
            #按照指定形式获取时间
            creat_time = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))
            data = [creat_time,handle,amount,self.money]  #组装列表
            self.account_logs.append(data)             #写入日志信息
    
    def show_menu():
        """显示菜单栏"""
        menu = """
        ====================银行账户资金交易管理====================
                0:退出
                1:存款
                2:取款
                3:打印交易详情
                
        ==========================================================
        """
        print(menu)
    
    if __name__ == '__main__':
        show_menu()       #显示菜单
        account = Account()      #创建对象
        while True:
            choice = int(input("请输入您的选择: "))
            if choice == 0:
                exit(0)
                print("退出系统")
            elif choice == 1:
                flag = True
                while flag:
                    #deposit_money = float(input('存款金额: '))
                    account.deposit()
                    flag = True if input("是否继续存款(Y|N): ").lower() == "y" else False
            elif choice ==2:
                flag = True
                while flag:
                    #wd_money = float(input("取款金额: "))
                    account.withdrawl()
                    flag = True if input("是否继续取款(Y|N):").lower() == 'y' else False
            elif choice == 3:
                account.transaction_log()
            else:
                print("请选择正确的编号")
    

    运行结果:

    在这里插入图片描述

    展开全文
  • 用类和对象实现一个银行账户资金交易管理, 包括存款、取款和打印交易详情, 交易详情中包含每次交易的时间、存款或者取款的金额、每次交易后的余额。 如: 下面按照要求定义一个账户 Account 类。账户 ...
  • 银行资金管理系统

    千次阅读 2014-10-17 17:54:07
    七、银行资金管理系统 1、系统综合概述:金融行业为客户提供现金管理服务,具体是指通过对现有的账户管理、资金的归集与结算、信息服务等产品进行整合,为客户提供全面的资金流入、流出、分配及留存等管理,进而...
  • 网页 资讯 视频 图片 知道 文库 贴吧 采购 地图 | 百度首页 登录 VIP新客立减2元 意见反馈 下载客户端 12/30/2019 数据结构课程设计 - 银行账户管理系统 - 百度文库 首页 分类 精品内容 申请认证 机构合作 频道专区 ...
  • 项目名称:Bank Account Management System 银行账户管理系统 练习1:(面向对象基础语法) 写一个账户类(Account),属性: id:账户账号 长整数,用户的账号(id)是自动生成的,初始值为100000,第一个开户的用户id为100001,...
  • java+mybatis+springmvc+mysql,实现web端的银行资金管理往来。
  • 这是一个基于C/S结构的银行账户在线管理系统,用户可以通过ATM终端界面来操作自己的银行账户. ATM 1: 要求1:封装一个Account类 - 业务数据 写一个账户类(Account),属性并且完全封装(注意:要辨别每个属性的set/get...
  • 项目名称:Bank Account Management System 银行账户管理系统 简称BAM 项目描述:这是一个基于C/S结构的银行账户在线管理系统,用户可以通过ATM终端界面来操作自己的银行账户. 项目实施方式:这是一个同步练习,随着达内...
  • 1、 记帐功能:记录某个帐户中的资金变化的明细。写入到磁盘文件。 2、 统计功能:本月总支出; 3、 帐单查看:各个帐号的查看;(直接调用文件显示) (2)基类CMyAccount的定义如下: class CMyAccount { public: ...
  • (一)法规:《银行卡业务管理办法》、《中国人民银行关于改进个人银行账户服务加强账户管理的通知》 (二)银行卡账户体系 1.转账卡是实时扣账的借记卡。具有转账结算、存取现金和消费功能 2.专用卡是具有...
  • 课程设计报告一:个人银行账户管理系统 此文档及源码仅供参考 不得直接复制使用 author: [xxxxxxxxx xx xxxx] date: "2019-04-12" 作 者:31415926535x 出 处:...
  • 第一章 总则 第一条 为加强人民币银行结算账户(以下简称“银行结算账户”)管理,维护经济金融秩序稳定,根据...第四条 中国人民银行通过人民币银行结算账户管理系统(以下简称“账户管理系统”)和其他合法手段,对银
  • 银行账户和支付账户

    2018-09-04 13:52:45
    20180124-银行账户和支付账户 ...•中国人民银行关于落实个人银行账户分类管理制度的通知(银发 [2016] 302号) •关于改进个人银行 账户分类管理有关事项的通知 (银发〔2018〕16号) •非银行支付机构网络...
  • 本文章是个人银行管理系统的java版本,原系统用c++语言实现。 目的在于: 在改写的过程中,熟悉java基础及语法;并感受c++与java同为面向对象语言的不同。并且体会面向对象思想的封装、继承、多态特性在实际系统中的...
  • 做为学C语言的学生做课程设计之用,该程序包含了登陆界面,对指定月份的记录删除修改,浏览所有账目,查询制定月份的记录,对记录按储蓄从小到大排序,追加记录,清除所有记录。。。
  • 系统是典型的信息管理系统(MIS),本软件采用纯JAVA 技术,充分发挥 了JAVA 跨平台、多线程、安全、动态等特点。总之,本系统设计开发的过 程,是对JAVA 应用基础与面向对象程序设计的实践和检验,是对我们所学 ...
  • 从资金管理角度来说,主要的区分是是否实时进行资金有效管理,一般采用第三方资金管理系统的,多是非实时的,没有任何资金记录数据,资金划拨是其主要功能;以天天基金的业务逻辑为例,在盘后接收TA确认文件和对接...
  • 运行环境,jdk1.8或者jdk1.7、tomcat8或者tomcat8.5、mysql5.7、...3、银行个人账户定期交易系统最高管理员,登录主页,最高管理员可以管理银行柜员、存款种类、系统日志,如下所示: 4、银行个人账户定期交易
  • 招商银行资金管理解决方案

    千次阅读 2009-04-18 19:17:00
    集团本外币现金池解决方案:1、方案描述 集团总公司每日终统一上收各成员企业账户资金头寸,并集中到集团总公司“现金池”(CASH POOL)账户;集团总公司以现金池中资金及其统一向招商银行申请获得的授信额度为保证...
  • JAVA简单的银行管理系统

    千次阅读 2018-11-07 21:14:53
    账户类: package Account; public abstract class Account {  private int id;//账号  private String password;//密码  private String name;//姓名  private String personId;//身份证号码  private...
  • GUI银行管理系统

    2008-05-25 10:18:49
    GUI银行管理系统源代码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,223
精华内容 3,689
关键字:

银行账户资金管理系统