Tam bölünenlerinin adedini bulmak

Türkiye'de programcılık okuyan bir öğrenci arkadaşın sınav sorusuna verdiğim cevabı paylaşmak istedim. "Kullanıcı tarafından girilen iki sayı arasındaki sayılar içersinden yine kullanıcı tarafından girilen sayıya tam bölünenlerinin adedini bulan programı yazınız."

Türkiye'de programcılık okuyan bir öğrenci arkadaşın sınav sorusuna verdiğim cevabı paylaşmak istedim. Soru şu:

"Kullanıcı tarafından girilen iki sayı arasındaki sayılar içersinden yine kullanıcı tarafından girilen sayıya tam bölünenlerinin adedini bulan programı yazınız."

Gerekli malzemeler;

3 adet TextBox,
1 adet ListBox,
1 adet Button,
1 adet Label

Programımızın resmi:



Eğer hiçbir değer girilmediyse verilecek hata mesajımızın resmi;




using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;



namespace Pro1

{

    public partial class FormPro : Form

    {

        public FormPro()

        {

            InitializeComponent();

        }



        private void btnFind_Click(object sender, EventArgs e)

        {

//öncelikle listBoxumuzu temizliyoruz. 

//Bunu tuşa her basıldığında sayıları ardarda eklememsi için yapıyoruz.

            listBoxCollectionNumb.Items.Clear();



//Eğer TextBoxlardan birisi dahi boşsa. 

//Boş olmamasını kullanıcıya bildirmek için bir bildirim mesajı.

            if (txtStart.Text.Length == 0 || txtEnd.Text.Length == 0 || txtDivide.Text.Length == 0)

            {

//Hata mesajımız.

                MessageBox.Show("Boşlukları doğru şekilde doldurduğunuzdan emin olun.", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

            }

            else

            {

//Kaç adet sayı olduğunu bulduğumuzda bir sayaça ihtiyacımız olacak.

                int counter = 0;

//Yazdığımız kodun çok uzamaması için nesnelermizi değişkenlere 

//atamakta fayda var.

                var _start = Convert.ToInt32(txtStart.Text.Trim());

                var _end = Convert.ToInt32(txtEnd.Text.Trim());

                var _divide = Convert.ToInt32(txtDivide.Text.Trim());



//Başlangıç değerşyle _start, bitiş değeri _end  arasındaki 

//sayı miktarınca dönüş yapılmasını sağlıyoruz.

                for (int i = Convert.ToInt32(_start.ToString()); i < Convert.ToInt32(_end.ToString()); i++)

                {

//Eğer i.eleman _divide yani bölen değişkenine tam bölünüyorsa counter 

//yani sayacı bir artır.Ve i.elemanı listBoxa ekle

                    if (i % _divide == 0)

                    {

                        counter++;

                        listBoxCollectionNumb.Items.Add(i);

                       

                    }

                }

//Ve sonucu ekrana yansıtmakta fayda var :)

// n bir satır aşağıya geçmenizi sağlar.

                label4.Text = _start+" ile " + _end+ " arasında " + _divide + " ile tam bölünenn " + counter+" adet sayı vardır.";

            }

        }

    }

}

  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Ders için teşekkürler. pek ii sayılmam C# da bende "listBoxCollectionNumb.Items.Clear();" bu olmuyor onun yerine "listBox1.Items.Clear();" boyle yaptım oldu bunun farkı nedir bilgi vereblirmisiniz tşkler.
Aslında herşeyi doğru yapmışsın. Ben ListBox'umu listBoxCollectionNumb olarak adlandırdım. Sen ise adlandırma yapmamışsın. Bütün olay bu.

Yukarı Git