在银行中我们可以常见到的ATM机是如何制作的?
第一、常见的自动取款机由上下两部分构成,底部是一个钢制保险箱,里面装有自动提款机,顶部是一个用户 *** 作台,它的框架和外壳一般采用不锈钢钢板,利用激光切割机、剪板机和折弯机这些数控机床进行加工,加工的过程由电脑控制,可以保证所有的组件规则都完全一样。将不同的组件拼接在一起,然后使用激光焊接整个部分。
第二、自动运输系统会将制作好的组件送到这里,涂上一层金属底漆,这可以起到一个防生锈的作用。现在进入干燥室中进行干燥处理,等金属底漆干了后,在外壳部件上喷上液体或粉末颜料,然后进入烤箱中烘烤颜色,这就是自动取款机的内部结构。现在就可以组装自动取款机的上半部分,上半部分是用户 *** 作台,内部组件主要包括电源和计算机,然后将头部模块降低到钢制保险箱上,保险箱的厚壁大约60厘米左右,有一条单独的装配线用于 *** 作面板。
第三、链板位于头部模板的前面,它包含了交易过程中所使用的所有东西,从读卡器到键盘再到扬声器,另外还需要安装多达三个安全性的摄像头。现在工作人员将显示器连接到内部计算机,还需要在出窗口安装一个计算机控制的百叶窗,当机器打开时,它会打开接受存款或取款。这些黑色的盒子里装满了各种金额的现金,将其连接到计算机,它就完全具备了辨别假钞的功能。然后使用纸张进行测试,确保能够正常工作后将其推入底部的保险箱中。
第四、在出厂之前,这些机器还将经历严格的质量检查。首先进行摇晃测试,确保它可以承受运输过程中的颠簸。接下来进行淋浴测试,确保其防水性能符合标准。还需要将其放入高温和低温的房间中进行测试,确保在极端的天气也能够正常工作。如果这些检测都没问题,这台机器就可以交付给银行,银行会为其安装他们的定制软件。最后,这台机器就可以为我们服务了。
#include <iostream>using namespace std
///////////////////////////////用户类//////////////////////////////////////
class User
{
private:
int money
string userName
string password
public:
User()
~User()
User(string userName, string password)
int saveMoney(int money)// 存款
int getMoney(int money)// 取款
int checkMoney() // 查询余额
string getUserName() // 取得用户名
string getPassword() // 取得密码
}
User::User()
{
money = 0
}
User::User(string userName, string password)
{
money = 0
this->userName = userName
this->password = password
}
int User::saveMoney(int money)
{
this->money += money
return this->money
}
int User::getMoney(int money)
{
this->money -= money
return this->money
}
int User::checkMoney()
{
return this->money
}
string User::getUserName()
{
return this->userName
}
string User::getPassword()
{
return this->password
}
/////////////////////////////////////////////////////////////////////////
///////////////////////////////////数据库类,用来存储用户//////////////////////
class DataBase
{
private:
User *users[40] // 默认数据可最多能存放40个用户
int userNumber // 已注册用户的数量
public:
DataBase()
~DataBase()
bool add(User *user) // 添加新用户
User * getUser(int i)// 按照索引取得用户
User * getUser(string name)// 按照用户名取得用户
int getUserNumber() // 取得数据库中用户的数量
}
DataBase::DataBase()
{
userNumber = 0
}
DataBase::~DataBase()
{
delete users
}
bool DataBase::add(User *user)
{
if(userNumber <40 &&getUser(user->getUserName()) == NULL) // 如果当前用户名在数据库中不存在
{
users[userNumber] = user
userNumber++
return true // 返回true表示新用户添加成功
}
return false// 返回false表示新用户添加失败
}
User * DataBase::getUser(int i)
{
if(i >40 || i <0) return NULL
return users[i]
}
User * DataBase::getUser(string userName)
{
for(int i = 0i <userNumberi++)
{
User *user = getUser(i)
if(user->getUserName() == userName) return user
}
return NULL
}
/////////////////////////////////////////////////////////////////////////
DataBase database
int welcom()
// 注册
User * user_register()
User * user_login()
int exit()
int user_process()
int main()
{
int state
int user_state
User *user
do
{
state = welcom()
switch(state)
{
case 1:
user = user_register()// 用户注册
if(NULL != user)
{
cout<<"\n注册成功\n"
do
{
user_state = user_process()
switch(user_state)
{
case 1:// 存钱
{
cout<<"输入存钱金额:"
int num
cin>>num
cout<<"余额为:"<<user->saveMoney(num)<<endl
}
break
case 2:// 取钱
{
cout<<"输入取钱金额:"
int num
cin>>num
cout<<"余额为:"<<user->getMoney(num)<<endl
}
break
case 3:// 查看余额
{
cout<<"余额为:"<<user->checkMoney()<<endl
}
break
case 4://返回
user_state = 0
default: break
}
} while(user_state)
user = NULL
}
else cout<<"\n注册失败\n"
break
case 2:
user = user_login()// 用户登陆
if(NULL != user)
{
cout<<"登陆成功"<<endl
do
{
user_state = user_process()
switch(user_state)
{
case 1:// 存钱
{
cout<<"输入存钱金额:"
int num
cin>>num
cout<<"余额为:"<<user->saveMoney(num)<<endl
}
break
case 2:// 取钱
{
cout<<"输入取钱金额:"
int num
cin>>num
cout<<"余额为:"<<user->getMoney(num)<<endl
}
break
case 3:// 查看余额
{
cout<<"余额为:"<<user->checkMoney()<<endl
}
break
case 4://返回
user_state = 0
default: break
}
} while(user_state)
user = NULL
}
else cout<<"\n登陆失败\n"
break
case 3:
state = exit()
break
default: break
}
}
while(state)
return 0
}
int welcom()
{
cout<<"\t\t**********欢迎使用ATM系统**********\n"
cout<<"\t\t* 1.用户注册 *\n"
cout<<"\t\t* 2.用户登录 *\n"
cout<<"\t\t* 3.退出系统 *\n"
cout<<"\t\t***********************************\n"
int num
cin>>num
return num
}
// 注册
User * user_register()
{
string userName
string password
cout<<"请输入账号:"
cin>>userName
if(NULL != database.getUser(userName)) // 如果用户名存在
return NULL// 注册失败
cout<<"请输入密码:"
cin>>password
User *user = new User(userName, password)
database.add(user)
return user// 注册成功
}
User * user_login()
{
string userName
string password
cout<<"请输入账号:"
cin>>userName
cout<<"请输入密码:"
cin>>password
User *user = database.getUser(userName)
if(NULL != user) // 如果用户存在
if(user->getPassword() == password)
return user// 如果密码匹配则登陆成功
return NULL// 如果用户不存在
}
int exit()
{
return 0// 退出系统
}
int user_process()
{
cout<<"\t\t******************************\n"
cout<<"\t\t* 请选择 *** 作类型 *\n"
cout<<"\t\t* 1.存 钱 *\n"
cout<<"\t\t* 2.取 钱 *\n"
cout<<"\t\t* 3.查 看 余 额 *\n"
cout<<"\t\t* 4.返 回 *\n"
cout<<"\t\t******************************\n"
int num
cin>>num
return num
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)