#include <iostream>
#include <string>
using namespace std;
int main()
{
string numerKarty;
int sum(0),
a(0),
b(0),
c(0),
d(0);
cout << "Walidacja numeru karty platniczej " << endl;
do
{
cout << endl << "Wprowadz numer karty lub nacisnij w by wyjsc ";
cin >> numerKarty;
if (numerKarty == "w") break;
for (int pozycjaKarty=numerKarty.length(); pozycjaKarty>0; pozycjaKarty--)
{
if (pozycjaKarty%2 == 0)
{
d=(int)numerKarty[pozycjaKarty-1]-'0';
b=b+d;
}
else
{
d=((int)numerKarty[pozycjaKarty-1]-'0')*2;
c=c%10+c/10;
a=a + c;
}
}
sum=b+a;
cout << endl <<"Wprowadzony numer karty bankowej jest ";
if (sum%10==0)
cout << "poprawny" << endl;
else
cout << "niepoprawny" << endl;
}while (numerKarty != "n");
return 0;
Pyanie wygląda następująco, jakie wartości powinienem zmienić dla kart 16 cyfrowych, możecie spojrzeć na swoje karty bankowe i tam widnieją 16 cyfr a nie kilka mniej. Proszę o pomoc :)