Textboxa girilen 11 haneli sayının son basamağındaki sayıyı alıp kontrol etme ?

Bu konuyu okuyanlar

takabilisim

Öğrenci
textboxa girilen sayıının son basmagındakı sayıyı alıp nasıl kontrol edebilirim sayıya gore arttırma yapıcam yardımcı olursanız sevinirim
 
Günaydınlar bunun kolay bir yolu var aslında. Herhangi bir sayının mod10 u o sayının son basamağını verir.

Hangi dil ile yapıyorsunuz bilemiyorum ama C# da göstermek gerekir ise:

int sayi = 11111111112; // 11 Basamaklı sayın
int sonBasamak;

sonBasamak = sayi % 10 // Bu işlem sana 2 değerini döndürecek.

sonra da nerede arttırma yapmak istiyorsan degiskenIsmi += sonBasamak; tarzı kullanırsın.
 

takabilisim

Öğrenci
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
long say1;
say1 = Convert.ToInt32(textBox1);
long toplam;

long sayi = 11111111112;
long sonBasamak;
sonBasamak = sayi % 10;
if (sonBasamak == 0)
{



sayi++;
sayi++;
toplam = say1 + sayi;
MessageBox.Show("TC den sonra gelen asal sayı" + toplam);



}
 
Kodun ne hata verdiğini yazmamışsın ama gözüme çarpan iki hata var:
  • say1 değişkenini long tanımlayıp içine 32 bit integer'a çevrilmiş değer atamaya çalışıyorsun. Convert.ToInt64 yapman lazım aksi taktirde hata alırsın.
  • Ayrıca içinden veri çekebilmek için sadece textBox1 değil textBox1.Text yazman gerekir.
Data Type Ranges bu linkten değişken tiplerinin limitlerini inceleyebilirsin.

Düzeltilmiş hali -> say1 = Convert.ToInt64(textBox1.Text);

Ek olarak:
  • sayi 2 defa neden arttırılıyor anlamış değilim. Burada amacın 11 haneli sayının son basamağı kadar attırmak ise sayi = sayi + sonBasamak yapabilirsin.
  • Programın işlevini bilmediğimden çok yorum yapamıyorum ama üstte yazdığım kodu kullanabilirsin.
Edit: Fark ettim de ben de ilk mesajımda int diyip 11 basamaklı numara yazmışım, dikkatsizlik :)
 
Son düzenleme:

takabilisim

Öğrenci
usta olay şu şöyle anlatıyım tc kimlik numarasından sonra gelen asal sayıyı ekrana yazdırma yani atıyorum senin tc kimlik numaranı programa yazdıgımızda ondan sonra gelen asal sayıyı ekrana yazdırıcak ben kendime son rakamı kontrol edip onu asal sayı yapma peşindeyim
 
Tamamdır. O zaman benim sayi dediğim değişken senin Tc numaran. Yani benim sayi değişkenini silip direk textboxtan çektiğin değeri kullanman lazım. Sonra o değerin mod %10 unu alıp son basamağını bulacaksın. Sonrası sende bir şey olursa gene yardımcı olurum, iyi çalışmalar :)
 

takabilisim

Öğrenci
başkan burda nasıl bi hata var if else değimini unutmusum ufak bişi var ama anlamadım
 

Ekli dosyalar

  • Adsız.png
    Adsız.png
    155.9 KB · Görüntüleme: 507
Her if - else ve else if koşuluna başlarken süslü parantez açıp kapaman lazım.
if (____)
{
KOD
}
else
{
KOD
}
else if (____)
{
KOD
}

Detaylı bilgi için buraya bakabilirsin.
 

takabilisim

Öğrenci
usta program çalısıyo fakat mesela bırıncı tcyı gırdıgınde sorun yok asal sayıyı buluyo 2. ye gırdıgınde calısmıyo programı kapatıp acmak gerekıyo neden acaba
 
Bunun birkaç nedeni olabilir kodu görsem daha yararlı olur. Aklıma gelen ilk neden ise program ilk çalıştığında textbox boş sen değeri girince doluyor ve ikinciyi üzerine yazmaya çalışıyor. Yeni bir tc aramadan önce textbox.Clear() yaptın mı ? Ya da kodun resmini yolla öyle bakalım.
 

SDN Son Haberler

Son mesajlar

Üst