הנה עכשיו זה גמור
עכשיו זמרתי את זה וזה עובד על בטוח, תודה על העזרה.
void CIDDlg::OnAnalyze() { // TODO: Add your control notification handler code here UpdateData(TRUE); if ((m_iID>99999999) || (m_iID<1)) MessageBox("Please enter a valid ID number", "Error"); else { m_iBikoret=getbik(m_iID); UpdateData(FALSE); } } int CIDDlg::getbik(int id) { int sum=0, temp=0, index=8-intlength(id), i=0; int ar[8]={1, 2, 1, 2, 1, 2, 1, 2}; for (i=1 ; i<=intlength(id); i++) { temp=ar[index+i-1]*sifra(id,i); if (temp>9) temp=temp-9; sum=sum+temp; } return(10-(sum%10)); } int CIDDlg::intlength(int num) { int i=0; for (i=1 ; num>9; i++) { num=num/10; } return i; } //DEL int CIDDlg::sifra(int num) //DEL { //DEL int numlen; //DEL numlen=intlength(num); //DEL //DEL } int CIDDlg::sifra(int num, int sif) //returns the specific digit in the int num { int numlen=intlength(num), i=0, res=0; for (i=1; i<=(numlen-sif); i++) num=num/10; res=num%10; return res; }
יש תקלה זמנית בנענע, אז לא הצלחתי להעלות את הקובץ Exe, אבל הפונקציות עובדות.