首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >验证码,ATM程序

验证码,ATM程序
EN

Stack Overflow用户
提问于 2020-10-13 18:24:11
回答 1查看 568关注 0票数 0

我正在编写一个模拟自动取款机的程序,程序中的帐户数组有问题。帐户数组保存帐户号、密码和帐户余额。代码中的第一个函数允许用户使用他们的引脚和帐号登录,但是我在将用户输入与帐户数组进行比较时遇到了问题:

代码语言:javascript
复制
#include <iostream>
#include <string>
using namespace std;

class Account
{
 private: int accountNum;
          int accountPin;
          double accountBalance;
          int setPin();
          int setAccountNum(); 

 public: Account();
         Account(int, string, double);
         double setAccountBalance(int) ;
         int getAccountNum();
         int confirmPin(string) ;
         double updateBalance(double) ;
 };

 void confirmPin(string accountPin, int accountNum)
 {
  //confirm pin segment
  // returns true or false value, allows access to account balance information
 }



int main () {

  Account account[3] = 
  {
      {123, "abc123", 100.00}, {456, "def456", 50.00},{789, "ghi789", 500.63} 
  };
  int option;

  cout << "LOGIN\nEnter Account#: "<< endl;
  cin >> accountNum;
  cout << "Enter password";
  cin >> accountPin;
  //confirm pin function

我现在尽可能多地编码。我不知道从哪里开始比较输入和帐户信息。提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-13 18:47:07

下面是一些让你开始学习的例子。

过载相等比较

代码语言:javascript
复制
class Account
{
  //...
  public:
     bool operator==(const Account& a) const
     {
         if (accountNum != a.accountNum) return accountNum < a.accountNum;
         else
         {
            if (accountPin != a.accountPin) return accountPin < a.accountPin;
            else
            {
                 double difference = abs(accountBalance - a.accountBalance);
                 if (difference < 1.0E-6) return true;
         }
         return false;
     }
};

这允许您输入一个实例,并将其与另一个实例进行比较。

创建比较函数

向您的类中添加一个比较帐户号的方法:

代码语言:javascript
复制
class Account
{
  //...
  public:
      bool is_equal_account_number(const Account& a) const
      {
          return accountNum == a.accountNum;
      }
};

以上方法只允许您比较帐号。这可能是有用的,因为重复的帐号可能是不允许的。

按价值比较

另一个例子是编写一种将帐户号与给定帐号进行比较的方法。

代码语言:javascript
复制
class Account
{
  //...
  public:
    bool  same_account_number(const int acct_num) const
    {  return accountNum == acctnum);
};

以上是比较帐户的一些例子。还有其他的,比如使用getter函数和比较这些值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64341004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档