BOOL CheckISSN( CString szISSN)
{
BOOL bReturn = FALSE;
int nCyfra;
int nSuma = 0;
int nMod = 0;
int nCheck;
int i;
if (szISSN.GetLength()==9) {
if (szISSN.GetAt(4)=='-') {
for (i=0 ;i<8 ; i++)
{
if (i!=4) {
nCyfra = stoi (szISSN.GetAt(i));
if ((nCyfra<0)||(nCyfra>9)) return FALSE;
}
}
if (szISSN.GetAt(8)!='X') {
nCyfra = stoi (szISSN.GetAt(8));
if ((nCyfra<0)||(nCyfra>9)) return FALSE;
nCheck = nCyfra;
} else nCheck = 10;
nCyfra = stoi (szISSN.GetAt(0));
nSuma += nCyfra*8;
nCyfra = stoi (szISSN.GetAt(1));
nSuma += nCyfra*7;
nCyfra = stoi (szISSN.GetAt(2));
nSuma += nCyfra*6;
nCyfra = stoi (szISSN.GetAt(3));
nSuma += nCyfra*5;
nCyfra = stoi (szISSN.GetAt(5));
nSuma += nCyfra*4;
nCyfra = stoi (szISSN.GetAt(6));
nSuma += nCyfra*3;
nCyfra = stoi (szISSN.GetAt(7));
nSuma += nCyfra*2;
nMod = nSuma % 11;
if ( (11 - nMod) == nCheck ) bReturn = TRUE;
}
}
return bReturn;
}
Programowanie c++/c#/delphi/javas/php/installscript/nativescript
Przykłady - przydatne funkcje
środa, 28 października 2009
Sprawdzenie poprawności numeru ISSN
Etykiety:
MFC - funkcje
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz