当前位置: 首页 > news >正文

ifront做原型控件的网站免费游戏推广平台

ifront做原型控件的网站,免费游戏推广平台,做国际贸易网站要什么条件,安卓商店下载安装🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

问题描述

  根据问题要求,恰当定义一个或多个类,注意每个类功能划分的合理性。
模拟 ATM 柜员机程序
内容要求:设计模拟 ATM 柜员机程序。
要求当输入给定的卡号和密码(初始卡号和密码为 123456)时,系统能登录 ATM 柜员机
系统,用户可以按照以下规则进行:
(1)查询余额:初始余额为 10000 元
(2)ATM 取款:每次取款金额为 100 的倍数,总额不超过 5000 元,支取金额不允许透支。
(3)ATM 存款:不能出现负存款。
(4)修改密码:新密码长度不小于 6 位,不允许出现 6 位完全相同的情况,只有旧密码
正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码

注释详细:每个变量都要求有注释说明用途;方法有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
程序的层次清晰,独创性强,可读性强。

如上问题有来自我自身项目开发,有的收集网站,有的来自读者,如有侵权,立马删除。

解决方案

  如下是上述问题的解决方案,仅供参考:

代码展示:

  以下是一个使用C++实现的模拟ATM系统程序。程序定义了两个类:ATM和``,分别用于处理ATM操作和用户信息。每个类的功能划分合理,代码注释详细,程序层次清晰。

#include <iostream>
#include <string>
#include <vector>using namespace std;class User {
private:string cardNumber;  // 卡号string password;    // 密码double balance;     // 余额public:User(string cardNumber, string password, double balance) : cardNumber(cardNumber), password(password), balance(balance) {}string getNumber() {return cardNumber;}bool verify(string input) {return input == password;}double getBalance() {return balance;}bool deposit(double amount) {if (amount > 0) {balance += amount;return true;}return false;}bool withdraw(double amount) {if (amount > 0 && amount <= balance && ((int)amount % 100 == 0) && amount <= 5000) {balance -= amount;return true;}return false;}bool change(string old, string newPass, string confirm) {if (verify(old) && newPass.length() >= 6 && newPass == confirm) {password = newPass;return true;}return false;}
};class ATM {
private:User* user;  // 当前登录的用户public:ATM() : user(nullptr) {}bool login(vector<User>& users, string cardNumber, string password) {for (auto& u : users) {if (u.getNumber() == cardNumber && u.verify(password)) {user = &u;return true;}}return false;}void logout() {user = nullptr;}void checkBalance() {if (user != nullptr) {cout << "您的余额为: " << user->getBalance() << " 元" << endl;} else {cout << "请先登录!" << endl;}}void deposit(double amount) {if (user != nullptr) {if (user->deposit(amount)) {cout << "存款成功,当前余额为: " << user->getBalance() << " 元" << endl;} else {cout << "存款失败,请输入有效金额!" << endl;}} else {cout << "请先登录!" << endl;}}void withdraw(double amount) {if (user != nullptr) {if (user->withdraw(amount)) {cout << "取款成功,当前余额为: " << user->getBalance() << " 元" << endl;} else {cout << "取款失败,请确认金额是否正确或余额是否充足!" << endl;}} else {cout << "请先登录!" << endl;}}void change(string old, string newPass, string confirm) {if (user != nullptr) {if (user->change(old, newPass, confirm)) {cout << "密码修改成功!" << endl;} else {cout << "密码修改失败,请确认旧密码是否正确以及新密码是否符合要求!" << endl;}} else {cout << "请先登录!" << endl;}}
};int main() {vector<User> users;users.emplace_back("123456", "123456", 10000.0);ATM atm;int choice;string cardNumber, password, old, newPass, confirm;double amount;while (true) {cout << "欢迎使用ATM系统!" << endl;cout << "1. 登录" << endl;cout << "2. 查询余额" << endl;cout << "3. 存款" << endl;cout << "4. 取款" << endl;cout << "5. 修改密码" << endl;cout << "6. 注销" << endl;cout << "7. 退出系统" << endl;cout << "请选择操作: ";cin >> choice;switch (choice) {case 1:cout << "请输入卡号: ";cin >> cardNumber;cout << "请输入密码: ";cin >> password;if (atm.login(users, cardNumber, password)) {cout << "登录成功!" << endl;} else {cout << "登录失败,卡号或密码错误!" << endl;}break;case 2:atm.checkBalance();break;case 3:cout << "请输入存款金额: ";cin >> amount;atm.deposit(amount);break;case 4:cout << "请输入取款金额: ";cin >> amount;atm.withdraw(amount);break;case 5:cout << "请输入旧密码: ";cin >> old;cout << "请输入新密码: ";cin >> newPass;cout << "请确认新密码: ";cin >> confirm;atm.change(old, newPass, confirm);break;case 6:atm.logout();cout << "已注销!" << endl;break;case 7:cout << "退出系统!" << endl;return 0;default:cout << "无效选择,请重新选择!" << endl;break;}}return 0;
}

代码说明:

代码说明是对提供的代码进行解释,以下是对您提供的代码的详细说明:

User(用户类)
  • 成员变量

    • cardNumber: 存储用户的卡号。
    • password: 存储用户的密码。
    • balance: 存储用户的账户余额。
  • 构造函数:初始化用户对象的卡号、密码和余额。

  • 成员函数

    • getNumber(): 返回用户的卡号。
    • verify(string input): 验证输入的密码是否与用户密码匹配。
    • getBalance(): 返回用户的当前余额。
    • deposit(double amount): 存款操作,如果存款金额大于0,则增加余额并返回true
    • withdraw(double amount): 取款操作,如果取款金额大于0、不超过余额、是100的倍数且不超过5000,则减少余额并返回true
    • change(string old, string newPass, string confirm): 修改密码操作,如果旧密码正确、新密码长度至少6位、两次输入的新密码一致,则更新密码。
ATM(自动取款机类)
  • 成员变量

    • user: 指向当前登录用户的指针。
  • 构造函数:初始化usernullptr,表示没有用户登录。

  • 成员函数

    • login(vector<User>& users, string cardNumber, string password): 登录操作,通过遍历用户列表来验证卡号和密码,如果找到匹配的用户,则设置当前用户并返回true
    • logout(): 注销操作,将user设置为nullptr
    • checkBalance(): 查询余额操作,如果用户已登录,则显示余额。
    • deposit(double amount): 存款操作,如果用户已登录,调用用户对象的存款方法,并显示结果。
    • withdraw(double amount): 取款操作,同上。
    • change(string old, string newPass, string confirm): 修改密码操作,同上。
主函数 main()
  • 初始化一个用户列表,包含一个示例用户。
  • 创建ATM对象。
  • 提供一个循环菜单,让用户选择不同的操作:
    • 登录、查询余额、存款、取款、修改密码、注销或退出系统。
  • 根据用户的选择执行相应的ATM操作。

  希望如上措施及解决方案能够帮到有需要的你。

  PS:如若遇到采纳如下方案还是未解决的同学,希望不要抱怨&&急躁,毕竟影响因素众多,我写出来也是希望能够尽最大努力帮助到同类似问题的小伙伴,即把你未解决或者产生新Bug黏贴在评论区,我们大家一起来努力,一起帮你看看,可以不咯。

  若有对当前Bug有与如下提供的方法不一致,有个不情之请,希望你能把你的新思路或新方法分享到评论区,一起学习,目的就是帮助更多所需要的同学,正所谓「赠人玫瑰,手留余香」。

☀️写在最后

  ok,以上就是我这期的Bug修复内容啦,如果还想查找更多解决方案,你可以看看我专门收集Bug及提供解决方案的专栏「Bug调优」,都是实战中碰到的Bug,希望对你有所帮助。到此,咱们下期拜拜。

码字不易,如果这篇文章对你有所帮助,帮忙给bug菌来个一键三连(关注、点赞、收藏) ,您的支持就是我坚持写作分享知识点传播技术的最大动力。

同时也推荐大家关注我的硬核公众号:「猿圈奇妙屋」 ;以第一手学习bug菌的首发干货,不仅能学习更多技术硬货,还可白嫖最新BAT大厂面试真题、4000G Pdf技术书籍、万份简历/PPT模板、技术文章Markdown文档等海量资料,你想要的我都有!

📣关于我

我是bug菌,CSDN | 掘金 | InfoQ | 51CTO | 华为云 | 阿里云 | 腾讯云 等社区博客专家,C站博客之星Top30,华为云2023年度十佳博主,掘金多年度人气作者Top40,掘金等各大社区签约作者,51CTO年度博主Top12,掘金/InfoQ/51CTO等社区优质创作者;全网粉丝合计 30w+;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试真题、4000G PDF电子书籍、简历模板等海量资料,你想要的我都有,关键是你不来拿哇。


http://www.khdw.cn/news/8689.html

相关文章:

  • 对做的网站的改进建议厦门人才网官网
  • 找人做公司网站最新消息新闻
  • 西宁做网站治愈君博i360搜索推广
  • 昆明做网站公司免费b站推广网站在线
  • 印刷网络商城网站建设河南百度推广电话
  • 商城网站开发项目分工网站制作报价表
  • 贵阳网站建设黔搜seo点击排名软件哪家好
  • 建一个网站需要做什么的51link友链
  • 物流信息网站有哪些手机做网页的软件
  • 网站搭建商上海河南网站排名优化
  • 北京工商注册代理记账哈尔滨seo网站管理
  • 连接器零售在什么网站做信息流广告公司排名
  • 英文公司网站模板环球军事网
  • 中国国家标准建设信息网站重庆网站seo建设哪家好
  • 网站建设空间什么意思网络推广要求
  • 成品网站代理模板网站免费
  • 公司委托建设网站合同西安专业网络推广平台
  • 多语种网站建设开发海口关键词优化报价
  • app开发网站建设培训班广告投放价目表
  • 绍兴住房和城乡建设厅网站首页如何自己做一个网址
  • 做视频教学网站百度大数据分析平台
  • 大连做网站报价百度一下你就知道首页官网
  • 创建网站向导和模板国内最新新闻消息今天的
  • 百度做网站免费bt磁力猪
  • tk网站朋友圈推广
  • 网站登录界面模板下载html制作网页代码
  • 上海民政网站相关建设情况百度问答库
  • 网站 文本编辑器外贸营销
  • 网站教程分享新闻发稿公司
  • 个人nas做网站什么是电商