C++写ATM机

主要通过采用友元和构造函数对定义的两个类consumer和ATM进行操作
定义ATM类

//********************************声明ATM类、CATM.h************************************
#include
#include
using namespace std;

//定义一个ATM类,主要实现以下内容:
//1、操作界面显示
//2、输入密码并校验
//3、取款
//4、查询余额信息
//5、退出系统
//6、欢迎界面
class consumer;
class CATM
{
public:
    CATM(consumer& cn);
    void wellcome();//打开后欢迎界面
    void function();//操作界面
    bool check_passwd(char passwd[],char num[]);//核对密码
    void change_passwd();//修改密码
    void get_money();//取款
    void information();//查询信息
    void exit();//退出系统 

    ~CATM();
    consumer& cnsm;
};
//================================定义CATM成员函数======================================
#include "CATM.h"
#include"consumer.h"

CATM::CATM(consumer& cn) :cnsm(cn){};//拷贝构造函数

CATM::~CATM()
{
}
//欢迎界面
void CATM::wellcome(){
    cout << "欢迎使用ATM自助服务系统" << endl;
    char passwd[8], num[20],ch;
        //请输入个人卡号:
        cout << "请输入个人卡号:" << endl;
        cin >> num;//空格会分开输入
        //输入个人密码
        cout << "请输入个人密码:" << endl;
        cin >> passwd;
        if (check_passwd(passwd, num)){
            function();
        }
        else
            cout << "你输入的信息不对" << endl;
}

//核对密码
bool CATM::check_passwd(char passwd[],char num[]){
    if ((strcmp(passwd,cnsm.get_passwd()) == 0) && (strcmp(num,cnsm.get_num())==0))
        return true;
    else
        return false;
}

//修改密码
void CATM::change_passwd(){
    char passwd[8],repasswd[8];
    cout << "请输入您要修改的密码:" << endl;
    cin >> passwd;
    cout << "请再次输入您要修改的密码:" << endl;
    cin >> repasswd;
    if (strcmp(passwd, repasswd) == 0)
        cout << "密码修改成功,请保存好密码";
}

//取钱
void CATM::get_money(){
    float m, n;
    cout << "请输入取款金额:" << endl;
    cin >> m;
    n = cnsm.get_money();
    if (m < n)
    {
        cout << "您的余额是:" << (n - m)<else{
        cout << "您的余额不够" << endl;
    }
}

//个人信息显示
void CATM::information(){
    cout << "**********************" << endl;
    cout << "*" << endl;
    cout << "用户姓名:" << cnsm.get_name() << endl;
    cout << "卡号:" << cnsm.get_num() << endl;
    cout << "余额:" << cnsm.get_money() << endl;
    cout << "****************************" << endl;
}

//功能选择
void CATM::function()
{
    int i;
    do{
        cout << "请输入你选择操作:" << endl;
        cout << "****************************" << endl;
        cout << "*****1、查询信息**********" << endl;
        cout << "*****2、取钱**********" << endl;
        cout << "*****3、修改密码**********" << endl;
        cout << "*****4、退出**************" << endl;
        cin >> i;
        while (i > 4 || i < 1){
            cout << "您输入的操作序号有误:";
            cout << "请输入您要选择的操作:";
            cin >> i;
        }
        switch (i)
        {
        case(1) : information(); break;
        case(2) : get_money(); break;
        case(3) : change_passwd(); break;
        case(4) : break;
        }

    } while (i != 4);
}

定义一个用户类,存储用户信息

//=============================声明Cconsumer类========================================
#include
#include
using namespace std;
//定义一个用户类
/*1、设置密码
  2、取钱
  3、获取信息
*/
class consumer
{
public:
//  friend class CATM;
    consumer(char Name[], char Num[],float Money,char Passwd[]);
    ~consumer();
    void set_passwd(char psd[]);//设置密码
    void set_money(float m);//存钱
    char* get_name();//获得姓名信息
    char* get_num();//获得卡号信息
    float get_money();//余额信息
    char* get_passwd();//密码信息
private:
    char name[20];
    char num[20];
    char passwd[6];
    float money;
};
//=============================定义consumer成员函数====================================
#include "consumer.h"
#include"iostream"


consumer::consumer(char Name[], char Num[], float Money, char Passwd[])
{
    strcpy(name, Name);
    strcpy(num, Num);
    money = Money;
    strcpy(passwd, Passwd);
}
char * consumer::get_name(){
    return name;
}

char* consumer::get_num(){
    return num;
}

char* consumer::get_passwd(){
    return passwd;
}

float consumer::get_money(){
    return money;
}

void consumer::set_passwd(char psd[]){
    strcpy(passwd, psd);

}

void consumer::set_money(float m){
    money = m;
}
consumer::~consumer()
{
}

最后进行测试:

#include"consumer.h"
#include"CATM.h"

//测试
int main(){
    consumer danny("zhangsan", "2111602147", 1000, "195424");
    CATM atm(danny);
    atm.wellcome();
}

你可能感兴趣的:(c++语言)