【问题标题】:C++ Checking for valid bank checksC++ 检查有效的银行支票
【发布时间】:2014-02-07 02:43:14
【问题描述】:

嘿,我正在为我的编程 1 课做作业,但遇到了困难。我们必须接受用户输入的支票号码,然后检查其是否有效。我们的教授说我们需要将支票号码作为字符串值,然后将其转换为我不明白的 int。这是我所知道的和一个例子。

 1  0  3  0  0  0  6  4  8     bank number
  7  3  9  7  3  9  7  3        multipliers
  7  0 27  0  0  0 42 12        products
  7  7 34 34 34 34 76 88        subtotals
  88                            sum
  8                             check digit

附加最后一位数字以确保和的模 10 和最后一位数字彼此相等。我有一个包含 {7,3,9,7,3,9,7,3} 的数组,但我不确定如何只使用长银行代码的一位数。帮助将不胜感激。

【问题讨论】:

  • 到目前为止你写了什么,你到底卡在哪里了?如果您能提供到目前为止所写的内容,那么帮助您会更容易,这样我们就可以看到您的位置。
  • 我认为我现在唯一需要帮助的就是使用我输入的字符串值。 103000648 并使用各个数字(1,0,3,0,0,0,6,4,8),以便我可以将它们乘以数组中的单位。所以我可以做一个循环,比如 for(i=0;i

标签: c++


【解决方案1】:

要从字符串编号中获取单个数字,请在从字符串中获取整数值后执行此操作

vector<int> digitstack;
while(number>0)
{                         
    digit = number % 10;
    number = number / 10;
    digitstack.push_bac(digit);
    sum = sum+digit; 
}

这将帮助您获取单个 nubers、ina 向量,然后您可以通过循环单独使用它们

for( int i = 0 ; i < digitstack.size() ; i++ )
{
   int number  = digitstack[i];
}

【讨论】:

    【解决方案2】:

    int iCheckNumber = atoi(stringCheckNumber);这会将字符串转换为整数( iCheckNumber )。您可以在此处使用此数字作为整数(我的意思是单个数字)。如果这是您所期望的,请告诉我

    【讨论】:

    • 这会让我使用转换后的整数中的单个数字吗?假设我使用字符串 500 并将其设为 int 我可以仅使用 0 位 (5) 来执行算术运算吗?
    • 我在下面为您提供了答案,但是您可以在将字符串转换为数字后使用自己的数学逻辑单独获取它们(上面已回答)。您可以检查其他逻辑以单独分隔数字
    • 非常感谢您的帮助
    • 谢谢你,伙计。祝一切顺利。请查看stackoverflow.com/questions/4207696/… 了解单独分隔数字的想法
    猜你喜欢
    • 2018-01-17
    • 1970-01-01
    • 2011-10-12
    • 2020-05-09
    • 1970-01-01
    • 2011-01-04
    • 2018-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多