C++写ATM机
来源:互联网 发布:在淘宝上买了二手钢琴 编辑:程序博客网 时间:2024/05/19 01:31
主要通过采用友元和构造函数对定义的两个类consumer和ATM进行操作
定义ATM类
//********************************声明ATM类、CATM.h************************************#include<iostream>#include<string.h>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)<<endl; cnsm.set_money(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<iostream>#include<string.h>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();}
阅读全文
0 0
- 用C写ATM机
- C++写ATM机
- c语言写的简易ATM取款机
- C语言-ATM机
- ATM机模拟C程序
- 贴一篇自己写的ATM机
- c语言ATM取款机程序
- C语言总结之ATM机
- C#+Oracle:ATM自助取款机开发
- 自己写的简易的ATM提款机
- ATM机
- ATM机
- ATM机
- 模拟ATM(C语言)
- c语言编写的ATM取款机程序
- c语言图形化编程(模拟ATM机)
- C语言实现简单的ATM机功能
- 利用c语言来进行简单的模拟ATM机
- HBase设计之HBase配置管理类接口设计(4)
- 树莓派新手上路
- JQ测验
- 使用ImageLoader从网上获取图片 及添加数据库,listview展示 Gson解析
- 使用windows远程桌面连接ubuntu
- C++写ATM机
- Truck History-(prime-算法)
- 安全工具介绍
- Spark Storage之MemoryStore
- 技术团队新官上任之基层篇
- dom4j和sax解析XML文档以及简单工厂模式介绍
- CSS布局
- 两个链表的第一个公共结点
- Vue环境搭建