使用C++语言完成银行管理系统(基础功能)

TCP    C/S架构ABC模拟银行系统

.功能说明

1.银行职工(worker)的注册,登录,退出

2.客户(client)的开户,取款,存款,查询余额,退出。

.功能实现

   初步阶段,在这个系统中存在着两个对象,第一个是银行职工,第二个是客户,并且还要注意发送的结构体与返回的结构体的内容,所以每个对象有两个结构体,也就是说每个功能的实现要用到4个结构体。但是不是绝对的,比如客户取款功能就只用到一个结构体。

   随之,也需要在数据库创建同样类型的两个表,worker和client,存放的元素要与所需结构体一样

1.网络连接,客户端 winsock初始化、连接部分;套接字socket,连接connect

服务器 winsock初始化、连接部分;套接字socket,绑定bind,监听listen,接收accept

2.银行职工的注册:客户端获取姓名,密码。

判断条件:在获取密码时候,如果确认密码与第一次密码不同,需要重新输入。

接着服务器接收到职工信息后,插入数据库worker表中;再返回操作结果给客户端。

3.银行职工的登录:客户端获取姓名,密码。

服务器收到职工信息后,select数据库中与之姓名一样的一行,存在容器list中(迭代器it遍历)判断姓名和密码是否一样,如果都相同,则在服务器端显示登录成功。

4.客户的开户:和职工的注册类似,不同的是将客户数据插入在了表client中;

5.存款a.客户端获取account_idmoney(不能小于0),发送给服务器。

 b.服务器接收包,通过函数select从数据库中找到相应的人,并把所需信息存入list中,然后通过迭代器it遍历,判断信息是否一致,然后写入信息到返回的结构体中,返回给客户端。   

6.取款:和存款原理相似,不同的是要判断密码是否一致。并且还要注意取款后的余额不能小于0;

7.余额查询:在存款和取款中已经处理,每次存款或取款后把余额在客户端显示出来

8.客户退出:在客户端直接用break跳出循环就好

9.柜员退出:需要客户端发送标志位,在服务器端判断是柜员退出功能,但是不在功能里写任何东西。因为在判断完后服务器端已经进行了closesocket(accpetSocket);关闭套接字操作和资源删除操作。

三.一些细节处理

1.时间日期的获取:用函数now()获取,并且数据类型不同获取的东西不同,本次使用的类型为datetime.( 类型:date、time、datetime、timestamp、year)

2.数据库语言的正确使用

3.信息先进行接收,然后进行处理。(事件处理顺序)

   

 

    

    

 

 

 

 

 

 

 


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值