Witam prosze o podpopwiedzi co zmienic/zostawic jak uproscic moglbym kod ktory napisalem dla algorytmu luhna - wersja robocza ma sprawdzic poprawnosc nr karty bankomatowej. pozdro
0
1
Sam oceń:
#include <iostream>
#include <string>
using namespace std;
int sumdig(int add) { return add-9*(add>9); }
bool CheckLuhn(const string &chrs)
{
int mul=1&chrs.size(),sum=0;
for(char ch:chrs)
{
sum+=sumdig(((mul^=1)+1)*(ch-'0'));
cout<<ch<<" => "<<sum<<endl;
}
return !(sum%10);
}
int main()
{
static const char *msg[]={"nie",""};
cout<<"Podaj nr do sprawdzenia: ";
string chrs;
cin>>chrs;
cout<<"Numer "<<msg[CheckLuhn(chrs)]<<"porawny"<<endl;
return 0;
}