Şimdi Ara

C# Sayıyı Yazıya Çevirme Hatası

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
827
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar merhaba C# FormApplication'da Sayıyı Yazıya çeviren bir program yapmak istiyorum.Yalnız iki basamaklı sayıyı yaptıktan sonra yüzler basamağını yaparken "Dizin, dizi sınırlarının dışındaydı." Hatasını alıyorum.Çok araştırdım bulamadım.Yardımcı olursanız sevinirim.Projenin kaynak kodları:

    private void button1_Click(object sender, EventArgs e)
    {
    int sayi, birler, onlar,yuzler;
    sayi = Convert.ToInt32(textBox1.Text);
    birler = sayi % 10;
    onlar = (sayi / 10);
    yuzler = sayi / 100;

    string[] birlik = { "", "Bir ", "İki ", "Üç ", "Dört ", "Beş ", "Altı ", "Yedi ", "Sekiz ", "Dokuz " };
    string[] onluk = { "", "On ", "Yirmi ", "Otuz ", "Kırk ", "Elli ", "Altmış ", "Yetmiş ", "Seksen ", "Doksan " };
    string[] yuzluk = { "", "Yüz ", "İkiyüz ", "Üçyüz ", "Dörtyüz ", "Beşyüz ", "Altıyz ", "Yediyüz ", " Sekizyüz ", "Dokuzyüz " };


    label1.Text = yuzluk[yuzler] + " " + onluk[onlar] + " " + birlik[birler] + " ";

    }







  • Sayı yerine 140 verdiğini düşün.

    onlar = sayi / 10
    yani
    onlar = 140 / 10
    yani
    onlar = 14
    sonra
    onluk[onlar] -> onluk[14] -> 14. eleman? -> öyle bir eleman yok. bu liste 10 elemanlı olarak tanımlanmış. bilgisayarcası: index out of bound. bilgisayarcasının türkçesi: dizi sınırları aşıldı.

    yüzlerin onlara karışmasını engellemen lazım.



    < Bu mesaj bu kişi tarafından değiştirildi KaramazovX -- 28 Mart 2017; 20:21:34 >
  • Uyarın için sağol çözüme ulaştım.Teşekkürler.
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.