#include "Atm.h"
#include <iostream>
#include <string>
#include "windows.h"
#include "Fileio.h"
#include "Useroperater.h"
Atm::Atm(void)
{
m_Userinfo = new Userinfo;
}
Atm::~Atm(void)
{
delete m_Userinfo;
}
void Atm::AddUser()
{
system("cls");
std::string id, password, name;
enterid:
while (id.length() != 16)
{
system("cls");
std::cout<<"\t\t 请设定您的帐户(16位):";
std::cin>>id;
}
Fileio file;
if( file.IsExistFile(id) )
{
std::cout<<"\t\t 该账户已存在,请重新注册!\n";
Sleep(500);
id = "0";
goto enterid;
}
std::cout<<"\t\t 该账户名可以使用!\n";
Sleep(500);
while (password.length() != 6)
{
system("cls");
std::cout<<"\t\t 请设定您的密码(6位):";
std::cin>>password;
}
system("cls");
std::cout<<"\t\t 请输入您的名字:";
std::cin>>name;
Userinfo user(id, password, name);
// (*this).m_userlist.push_back(&user);
file.CreateUser(user);
}
void Atm::LoginUser()
{
system("cls");
std::string id, password;
std::cout<<"\n";
std::cout<<"\t\t 请输入您的账户:";
std::cin>>id;
Fileio file;
while (!file.IsExistFile(id) )
{
system("cls");
std::cout<<"\n";
std::cout<<"\t\t 该账户不存在,请重新输入:";
std::cin>>id;
}
Userinfo * user = file.ReadFromFile(id);
std::cout<<"\n";
std::cout<<"\t\t 请输入您的密码:";
std::cin>>password;
while(password != user->GetPassWord())
{
system("cls");
std::cout<<"\t\t 密码输入错误,请重新输入:";
std::cin>>password;
}
std::cout<<"\t\t 登录成功!\n";
(*this).m_Userinfo = user;
Sleep(500);
}
void Atm::FunctionTable()
{
int select;
FuncTable:
system("cls");
std::cout<<"\t------------------------------------------------------------\n";
std::cout<<"\t 欢迎进入 \n";
std::cout<<"\n";
std::cout<<"\n";
std::cout<<" \t 银行ATM取款机系统\n";
std::cout<<"\n";
std::cout<<"\t------------------------------------------------------------\n";
std::cout<<"\t ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆\n";
std::cout<<"\t ☆ 功能列表 ★\n";
std::cout<<"\t ★ 输入你需要进行的服务 ☆\n";
std::cout<<"\t ☆ ●1.账户操作 ★\n";
std::cout<<"\t ★ ●2.账户查询 ☆\n";
std::cout<<"\t ☆ ●3.返回登录 ★\n";
std::cout<<"\t ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆\n";
std::cout<<"\n";
std::cout<<"\t\t 请选择需要的操作:";
std::cin>>select;
switch (select)
{
case 1:
{
(*this).Operater();
break;
}
case 2:
{
(*this).SelectRecord();
break;
}
case 3:
return;
break;
default:
{
std::cout<<"\n\n\t\t\t\t 操作错误!\n";
Sleep(500);
break;
}
}
goto FuncTable;
}
void Atm::SelectRecord()
{
int select;
SearchTable:
system("cls");
std::cout<<"\t------------------------------------------------------------\n";
std::cout<<"\t 欢迎进入 \n";
std::cout<<"\n";
std::cout<<"\n";
std::cout<<" \t 银行ATM取款机系统\n";
std::cout<<"\n";
std::cout<<"\t------------------------------------------------------------\n";
std::cout<<"\t ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆\n";
std::cout<<"\t ☆ 查询列表 ★\n";
std::cout<<"\t ★ 输入你需要进行的服务 ☆\n";
std::cout<<"\t ☆ ●1.存款查询 ★\n";
std::cout<<"\t ★ ●2.取款查询 ☆\n";
std::cout<<"\t ☆ ●3.转账查询 ★\n";
std::cout<<"\t ☆ ●4.余额查询 ★\n";
std::cout<<"\t ☆ ●5.返回 ★\n";
std::cout<<"\t ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆\n";
std::cout<<"\n";
std::cout<<"\t\t 请选择需要的操作:";
std::cin>>select;
Useroperater op;
switch (select)
{
case 1:
{
op.QueryDeposit((*this->m_Userinfo));
break;
}
case 2:
{
op.QueryDrawl((*this->m_Userinfo));
break;
}
case 3:
{
op.QueryTransfer((*this->m_Userinfo));
break;
}
case 4:
{
Fileio *pFile = new Fileio((*this->m_Userinfo).GetID());
double balance = pFile->GetBalance();
std::cout<<"\n";
std::cout<<"\t\t 您的余额为: "<<balance;;
Sleep(500);
delete pFile;
break;
}
case 5:
{
return;
break;
}
default:
{
std::cout<<"\n\n\t\t\t\t 操作错误!\n";
Sleep(500);
break;
}
}
goto SearchTable;
}
void Atm::Operater()
{
int select;
OperaterTable:
system("cls");
std::cout<<"\t------------------------------------------------------------\n";
std::cout<<"\t 欢迎进入 \n";
std::cout<<"\n";
std::cout<<"\n";
std::cout<<" \t 银行ATM取款机系统\n";
std::cout<<"\n";
std::cout<<"\t------------------------------------------------------------\n";
std::cout<<"\t ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆\n";
std::cout<<"\t ☆ 操作列表 ★\n";
std::cout<<"\t ★ 输入你需要进行的服务 ☆\n";
std::cout<<"\t ☆ ●1.存款操作 ★\n";
std::cout<<"\t ★ ●2.取款操作 ☆\n";
std::cout<<"\t ☆ ●3.转账操作 ★\n";
std::cout<<"\t ☆ ●4.返回 ★\n";
std::cout<<"\t ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆\n";
std::cout<<"\n";
std::cout<<"\t\t 请选择需要的操作:";
std::cin>>select;
Useroperater op;
switch (select)
{
case 1:
{
op.Deposit((*this->m_Userinfo));
break;
}
case 2:
{
op.Drawl((*this->m_Userinfo));
break;
}
case 3:
{
op.Transfer((*this->m_Userinfo));
break;
}
case 4:
{
return;
break;
}
default:
{
std::cout<<"\n\n\t\t\t\t 操作错误!\n";
Sleep(500);
break;
}
}
goto OperaterTable;
}
void Atm::Menu()
{
int select;
start:
system("cls");
std::cout<<"\t------------------------------------------------------------\n";
std::cout<<"\t 欢迎进入 \n";
std::cout<<"\n";
std::cout<<"\n";
std::cout<<" \t 银行ATM取款机系统\n";
std::cout<<"\n";
std::cout<<"\t------------------------------------------------------------\n";
std::cout<<"\t ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆\n";
std::cout<<"\t ☆ 功能列表 ★\n";
std::cout<<"\t ★ 输入你需要进行的服务 ☆\n";
std::cout<<"\t ☆ ●1.用户开户 ★\n";
std::cout<<"\t ★ ●2.用户登陆 ☆\n";
std::cout<<"\t ☆ ●3.退出系统 ★\n";
std::cout<<"\t ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆\n";
std::cout<<"\n";
std::cout<<"\t\t 请选择需要的操作:";
std::cin>>select;
switch (select)
{
case 1:
{
(*this).AddUser();
break;
}
case 2:
{
(*this).LoginUser();
(*this).FunctionTable();
break;
}
case 3:
{
return;
break;
}
default:
{
std::cout<<"\n\n\t\t\t\t 操作错误!\n";
Sleep(500);
break;
}
}
goto start;
}
用C++编写的银行ATM存取款机
5星 · 超过95%的资源 需积分: 13 101 浏览量
2011-08-31
11:25:05
上传
评论 3
收藏 3.95MB ZIP 举报
shen806602363
- 粉丝: 35
- 资源: 15
最新资源
- 基于JavaScript的访客预约系统设计源码
- 基于Vue和ECharts的工作租房数据可视化系统设计源码
- 1040g0cg310ravpiu6ibg5pg00tsipsln3ju2d0g 2
- 基于Python的SAR图像去噪CNN-NLM设计源码
- redhat6升级到redhat7,过程redhat6.x-> redhat6.10->rehat7.9 主版本最高版本
- 基于Django的流程引擎设计源码
- 基于Node.js的Express框架与MySQL的后台管理系统设计源码
- 基于Java的Flink流批一体数据处理快速集成开发框架设计源码
- FirstFilterOrderCompare
- Screenshot_2024-03-28-19-17-25-020_com.ss.android.lark.jpg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈