tc no sorusu

 avatar
unknown
c_cpp
a year ago
1.6 kB
2
Indexable
#include <stdio.h>

int rakam(char *tcNo);
int sifir(char *tcNo);
int basamak10(char *tcNo);
int basamak11(char *tcNo);

char tcNo[12];

int main()
{

    printf("bir tc numarası giriniz : ");
    scanf("%s", tcNo);
    
    int kontrol1 = rakam(tcNo);
    int kontrol2 = sifir(tcNo);
    int kontrol3 = basamak10(tcNo);
    int kontrol4 = basamak11(tcNo);
    
    FILE *tcno;
    tcno = fopen("tcno", "w");
    
    if(kontrol1 == 1 && kontrol2 == 1 && kontrol3 == 1 && kontrol4 == 1)
        printf("doğru la");
    else
        printf("yanlis");
    
    fclose(tcno);
    return 0;
}
int sayac = 0;
int kontrol1, kontrol2, kontrol3, kontrol4;
int rakam(char *tcNo)
{
    for(int i = 0; i<11; i++)
    {
        if(tcNo[i] % 1 == 0 || tcNo[i] == 0)
            sayac++;
    }
    if(sayac == 11)
        kontrol1 = 1;
    else
        kontrol1 = 0;
    
    return kontrol1;
}

int sifir(char *tcNo)
{
    if(tcNo[0] != 0)
        kontrol2 = 1;
    else
        kontrol2 = 0;
    
    return kontrol2;
}
int tekToplam, ciftToplam, genelToplam;

int basamak10(char *tcNo)
{
    for(int i = 0; i<11;i++)
    {
        if(tcNo[i] % 2 == 1)
            tcNo[i] += tekToplam;
        else if(tcNo[i] % 2 == 0)
            tcNo[i] += ciftToplam;
    }
    if( ((tekToplam * 7) - ciftToplam) % 10 == tcNo[9])
        kontrol3 = 1;
    else
        kontrol3 = 0;
    
    return kontrol3;
}

int basamak11(char *tcNo)
{
    for(int i = 0; i<11; i++)
        tcNo[i] += genelToplam;
    if(genelToplam % 10 == tcNo[10])
        kontrol4 = 1;
    else
        kontrol4 = 0;
    
    return kontrol4;
}

Leave a Comment