当前位置:C++技术网 > 资讯 > 模拟24小时自助存取款机ATM的工作原理的C++代码

模拟24小时自助存取款机ATM的工作原理的C++代码

更新时间:2015-10-06 15:18:08浏览次数:1+次

    经常用ATM自助存取款机取钱存钱,所以一时兴起,就写了一个小代码模拟了一下ATM的工作原理,全当做是练习C++,使用面向对象方式实现,相互学习。

    先看看运行截图:

   

    接着看看代码吧。

#include <iostream>
#include <string>
using namespace std;
class Bank
{
public:
    string m_name;
    string m_account;
    double m_money;
    Bank()
    {
        m_name = "NoName";
        m_account = "NoAccount";
        m_money = 0;
    }
    Bank(string name, string account, double money)
    {
        m_name = name;
        m_account = account;
        m_money = money;
    }
    ~Bank()
    {
        cout << "欢迎再次使用自助存取款机ATM\n";
    }
    void show()
    {
        cout << "用户名: " << m_name<<"  余额:"<< m_money << endl;
    }
    void deposit(double in)//存款
    {
        m_money += in;
        cout << "存:"<<in<<" 余额:" << m_money << endl;
    }
    void draw(double out)//取款
    {
        if (out > m_money)
        {
            cout << "取:"<<out<<",余额:"<<m_money<<"。【余额不足,无法取款】\n";
            return;
        }
        m_money -= out;
        cout << "取:" <<out<<" 余额:"<< m_money << endl;
    }
};

int main()
{
    cout << "欢迎使用自助存取款机ATM.\n";
    Bank zs("张三", "20130328212140", 100);
    zs.show();
    zs.deposit(10.1);
    zs.draw(1000);

    zs.deposit(1056.1);
    zs.draw(1000);

    return 0;
}


    开始包含头文件是string.h,然后不停的提示<<有问题,后来发现在C++中,是包含string头文件,没有.h扩展名的。切记哈。为了方便,就将Bank类定义于main函数前,而且类成员函数直接在类声明时实现了。而且,都使用public权限,而在实际开发,需要将成员变量设置为private。这是出于安全考虑,请注意。

    类中提供两个构造函数,方便初始化,提供一个析构函数,用于退出时的提示。根据实际的情况,我们需要对取钱进行控制,如果余额不足,要提示,不能继续取钱。如果只是练习语法,不用管这些。而考虑到实际的开发,这些就要考虑进来,这就是练习和实际开发的区别。或者说,尽可能模拟真实的情况。

    你可以在这里继续做一个可以让用户来输入的操作方式,从而更加逼真。或者完全模拟一种ATM的操作流程。这是对开发经验的一个锻炼。