26 Aralık 2017 Salı

C Sharp uygulamalar TC no doğrulama





TC Kimlik numaraları 11 basamaktan oluşmaktadır.
İlk 9 basamak arasında kurulan bir algoritma bize 10. basamağı verir.
ilk 10 basamak arasında kurulan algoritma ise bize 11. basamağı verir.
* 11 hanelidir.
* Her hanesi rakamsal değer içerir.
* İlk hane 0 olamaz.
* 1. 3. 5. 7. ve 9. hanelerin toplamının 7 katından, 2. 4. 6. ve 8. hanelerin toplamı çıkartıldığında, elde edilen sonucun 10’a bölümünden kalan 10. haneyi verir.
* 1. 2. 3. 4. 5. 6. 7. 8. 9. ve 10. hanelerin toplamından elde edilen sonucun 10’a bölümünden kalan 11. haneyi verir.



        private void tcNo_dogrulama_Click(object sender, EventArgs e)
        {
            string tcNo = TCNo.Text.Trim();

            if (tcNo.Length != 11)
            {
                MessageBox.Show("TC No hatalıdır.", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            string rakam1 = TCNo.Text[0].ToString();
            string rakam10 = TCNo.Text[9].ToString();
            string rakam11 = TCNo.Text[10].ToString();
            int tekler = 0, ciftler = 0;
            if (rakam1 == "0")
            {
                MessageBox.Show("TC No hatalıdır.", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            else
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i % 2 == 1)
                        ciftler += int.Parse(tcNo[i].ToString());
                    else tekler += int.Parse(tcNo[i].ToString());
                }

                int sayi10 = ((tekler * 7) - ciftler) % 10;
                int sayi11 = (ciftler + tekler + sayi10) % 10;

                if (rakam10 != sayi10.ToString() || rakam11 != sayi11.ToString())
                    MessageBox.Show("TC No hatalıdır.","Hata",MessageBoxButtons.OK,MessageBoxIcon.Error);
                else
                    MessageBox.Show("TC No Doğrulandı.","Bilgi",MessageBoxButtons.OK,MessageBoxIcon.Information);
            }
        }

 

Hiç yorum yok :

Yorum Gönderme