用c++编写atm程序

浪漫制造者 2024-11-29 07:42:04
最佳回答
#include <iostream>using namespace std;///////////////////////////////用户类//////////////////////////////////////class user{private: int money; string username; string password;public: user(); ~user(); user(string username, string password); int s**emoney(int money);// 存款 int getmoney(int money); // 取款 int checkmoney(); // 查询余额 string getusername(); // 取得用户名 string getpassword(); // 取得密};user::user(){ money = 0;}user::user(string username, string password){ money = 0; th**->username = username; th**->password = password;}int user::s**emoney(int money){ th**->money += money; return th**->money;}int user::getmoney(int money){ th**->money -= money; return th**->money;}int user::checkmoney(){ return th**->money;}string user::getusername(){ return th**->username;}string user::getpassword(){ return th**->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()) == **) // 如果当前用户名在数据库中不存在 { users[usernumber] = user; usernumber++; return true; // 返回true表示新用户添加成功 } return false; // 返回false表示新用户添加失败}user * database::getuser(int i){ if(i > 40 || i < 0) return **; return users[i];}user * database::getuser(string username){ for(int i = 0; i < usernumber; i++) { user *user = getuser(i); if(user->getusername() == username) return user; } return **;}/////////////////////////////////////////////////////////////////////////database database;int welcom();// 注册user * user_reg**ter();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_reg**ter(); // 用户注册 if(** != user) { cout<<"\n注册成功\n"; do { user_state = user_process(); switch(user_state) { case 1:// 存钱 { cout<<"输入存钱金额:"; int num; cin>>num; cout<<"余额为:"<<user->s**emoney(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 = **; } else cout<<"\n注册失败\n"; break; case 2: user = user_login(); // 用户登陆 if(** != user) { cout<<"登陆成功"<<endl; do { user_state = user_process(); switch(user_state) { case 1:// 存钱 { cout<<"输入存钱金额:"; int num; cin>>num; cout<<"余额为:"<<user->s**emoney(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 = **; } 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_reg**ter(){ string username; string password; cout<<"请输入账号:"; cin>>username; if(** != database.getuser(username)) // 如果用户名存在 return **; // 注册失败 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(** != user) // 如果用户存在 if(user->getpassword() == password) return user; // 如果密码匹配则登陆成功 return **; // 如果用户不存在}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;} 20210311
汇率兑换计算器

类似问答
  • 有人试过编写个程序来炒股吗?
    • 2024-11-29 07:37:00
    • 提问者: 未知
    我就用pb编过**,通过对股票历年财务报表的主要数据及股票价格,分析股票的合理价值,用于判断股票目前价格是否高估,但比较粗略,还需不断完善。
  • c++/vb编程帮忙写一下代码
    • 2024-11-29 19:05:47
    • 提问者: 未知
    我不知道你这个问题是用来解决什么的(好吧,我看这倒真的是双色球,但明显这是天真的双色球),首先,不是问题难不难的问题,而是这个结果太庞大,而且显得毫无意义。6c33 x 1c6(且按照你写的这么算),结果为1107568 x 720=7,9744,8960(种情况). 此题从数学意义上来说结果已经很明确,你要得到...
  • 用数组的方法编写一个j**a程序
    • 2024-11-29 23:37:14
    • 提问者: 未知
    依次输入某股票近10天中每日收盘价,计算收盘价的平均价格后,依次输入所有高于或等于平均价格的那些收盘价。各位j**a高手帮帮忙呀!匿名用户 1级 import j**a.util.*;...
  • 求个银行**模拟程序代码c++
    • 2024-11-29 03:42:49
    • 提问者: 未知
    你是说那种输入账号密码之后支持 查询余额,存款,取款,转账,的**吗?
  • vb 编写程序
    • 2024-11-29 13:42:21
    • 提问者: 未知
    private sub command1_click()dim n as integer,s as longn=text1.textfor i=1 to n if i mod 3 =0 and i mod 5=0 then s=s+i end if next itext2.text=send subprivate sub command2_click()end end sub已经试过的,可以运行的...
  • j**a程序编写,求用数组写一个银行存取系统
    • 2024-11-29 12:53:33
    • 提问者: 未知
    呵呵,既然是学习为什么还要问别人要代码呀?如果在写的过程中有问题,一个一个来问,估计会有很多人愿意帮助你的。你这样直接要代码……估计真正写的好的没时间写……,要是为了完成作业还不如和周围的同学多讨论讨论呢……
  • 有人试过编写个程序来炒股吗?
    • 2024-11-29 16:01:45
    • 提问者: 未知
    专业技能 好理解,基本的编程+投研+一定的数学基础,这样才能想出策略并实现策略。...最大的风险就是策略被别人偷走,因为你的策略是放在**上的,虽然**再三声称策略绝对...
  • 文华程序化止损单怎么编写
    • 2024-11-29 06:41:35
    • 提问者: 未知
    执行顺序问题吧,试试这个 cross(hh1,ll1),bk;c(ll1,hh1),sp;cross(ll1,hh1),sk;c>=skprice+21 or cross(hh1,ll1),bp;
  • 有人试过编写个程序来炒股吗?
    • 2024-11-29 10:13:46
    • 提问者: 未知
    你简直是太有才了,这么具有跨时代性的idea都被你想到了,看来伟大发明家都是懒人这句话还真是有一定道理,你的思维方式已经堪称懒人中的懒人,发明家中的发明家了,了不起,为你点赞。...
  • 求高手编写期货程序化交易代码。
    • 2024-11-29 21:41:36
    • 提问者: 未知
    淘宝上大批带写的,花点钱就行了。这里都是义务咨询而已,谁会有这闲空帮你,而且写代码也不是一下两下的事情,更别说白干了。
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。