2014-02-07 4 views
-3

Эй, я работаю над заданием на мой класс программирования 1, и у меня возникают трудности. Мы должны ввести пользовательский ввод для номера чека, а затем проверить, действительно ли он. Наш профессор сказал, что нам нужно взять номер чека как строковое значение, а затем сначала преобразовать его в int, который я не понимаю. вот что я знаю и пример.C++ Проверка действительных банковских чеков

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}, но я не уверен, как использовать только одну цифру длинного банковского кода. Помощь была бы оценена.

+0

Что вы написали до сих пор и где именно вы застряли? Помочь вам будет проще, если вы сможете предоставить то, что вы написали, чтобы мы могли видеть, где вы находитесь. – nhgrif

+0

Я думаю, что единственное, что мне сейчас нужно, это использовать строковое значение, которое я ввожу в ex. 103000648 и используя индивидуальные номера (1,0,3,0,0,0,6,4,8), чтобы я мог умножить их на свои юниты в моем массиве. Поэтому я могу сделать цикл как для (i = 0; i Daedaluss

ответ

1

, чтобы получить отдельные номера из номера строки сделать это после получения целого значения из строки

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

это поможет вам в получении индивидуальных nubers, ина вектор, а затем вы можете использовать их индивидуально путем петли

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

. Большое вам спасибо – Daedaluss

0

int iCheckNumber = atoi (stringCheckNumber); Это преобразует строку в целое число (iCheckNumber). Вы можете использовать этот номер как целое число (одно значение, которое я имею в виду). пожалуйста, дайте мне знать, если это то, что вы ожидаете

+0

Будет ли это позволять мне использовать отдельные номера из преобразованный int? скажем, я использую строку 500 и делаю ее int, могу ли я использовать только цифру 0 (5) для выполнения арифметики? – Daedaluss

+0

У меня есть ответ для вас внизу, но вы можете использовать свою собственную математическую логику, чтобы получить их по отдельности после того, как вы превратили строку в число (на что ответили выше). Вы можете проверить другую логику, чтобы отдельно отнести номер – user2982029

+0

. Я очень ценю вашу помощь. – Daedaluss

Смежные вопросы