29 Ocak 2022 Cumartesi

TC kimlik no doğrula c programlama

 TC kimlik no doğrula c programlama örnek resim paylmasmadik. Detaylisi videoda (Alıntidir)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// TC KiMLiK NO DOGRULAMA
// 1. kural: ilk 10 rakamin toplaminin mod10 u 11. rakami verecek
// 2. kural: 1,3,5,7,9.  rakamlarinin toplaminin 7 kati ile 2,4,6,8. rakamlarinin 9 katinin toplaminin mod10 u 10. rakami verecek

// 3. kural: 1,3,5,7,9.   rakamlarinin toplaminin 8 katinin mod10 u 11. rakami verecek
int TcKimlikKontrol ( char * ptr  )
{
    // 1. kural
    int ilkOnRakamToplami= 0;
    int i=0;
    while( i< 10   )
    {
        ilkOnRakamToplami += ptr[i] - 48;
        i++;
    }
    ilkOnRakamToplami = ilkOnRakamToplami %10;
    int onbirinciRakam= ptr[10] -48;

    if( ilkOnRakamToplami != onbirinciRakam )
        return 0;

    // ikinci kural
    int tekRakamToplami= 0;
    i=0;
    while( i<9 )
    {
        tekRakamToplami += ptr[i] - 48 ;
        i+=2;
    }
    int temp= tekRakamToplami;

    tekRakamToplami = tekRakamToplami *7;

    int ciftRakamToplami= 0;
    i=1;
    while( i<8 )
    {
        ciftRakamToplami += ptr[i] - 48 ;
        i+=2;
    }
    ciftRakamToplami = ciftRakamToplami * 9;

    int ikinciKural =  ( tekRakamToplami + ciftRakamToplami ) %10;
    int onuncuRakam= ptr[9] - 48;
    if( ikinciKural != onuncuRakam  )
        return 0;

    // ucuncu kural

    int ucuncuKuralTekRakamToplami=  ( temp * 8 ) % 10 ;

    if( onbirinciRakam != ucuncuKuralTekRakamToplami )
        return 0;

    return 1;
}
int main()
{
    printf("KIMLIK DOGRULAMA UYGULAMASI \n\n");
    char tcNo[11];
    printf("TC Kimlok No : ");
    scanf("%[^\n]s", tcNo );

    int sonuc= TcKimlikKontrol(tcNo) ;

    if( sonuc== 1)
        printf("Kimlik Numarasi dogrulandi \n");
        else
            printf("Kimlik Numarasi Hatali \n");
            return 0;
        }



Hiç yorum yok:

Yorum Gönder

Her yorum bilgidir. Araştırmaya devam...