Det var ju roligt att börja med C++ igen efter några månader utan, svårt var det också att kom in i det :)
Men tillslut så gick det och här är resultatet, provat med 2 riktiga och många felaktiga personnummer och då fungerar den,
void CPnrDlg::OnBnClickedButton1()
{
if(checkPnr("7505051234"))
{
MessageBox("Korrekt personnummer");
}
else
{
MessageBox("Felaktigt personnummer");
}
}
bool CPnrDlg::checkPnr(char* pnr)
{
if(strlen(pnr)==10)
{
int n(2);
int tmp(0);
int sum(0);
char ch;
for(int i=0;i<9;i++)
{
ch=pnr[i];
tmp=atoi((char*)&ch)*n;
tmp>9?sum+=1+(tmp%10):sum+=tmp;
n==2?n=1:n=2;
}
return!((sum + atoi(&pnr[9]))% 10);
}
return false;
}
/Viktor
