Textboxlardaki değerleri toplayarak sonucu string olarak yazdırma

image

  • İki textboxtaki değerleri toplama işlemi nasıl yapılır?
  • İki textboxtaki değerlerin karelerini alıp toplama işlemi nasıl yapılır?
  • Buttonun zemin rengini radioButtonlara göre nasıl değiştirebilirim?
  • Rastgele sayılarla dizi oluşturma ve listbox’a yazdırma işlemi nasıl yapılır?
  • Listbox’taki sayıların en büyüğünü ve en küçüğünü nasıl bulabilirim?
  • Listbox’taki sayıları büyükten küçüğe nasıl sıralayabilirim?
  • Listbox’taki sayıları küçükten büyüğe nasıl sıralayabilirim?
  • Bir yazının belirli kısımlarını nasıl alabilirim?
  • Doğru ve yanlış cevapları değerlendirme ve puanlama işlemi nasıl yapılır?
  • Bir şiirden belirli bir kıtayı veya bölümü nasıl mesaj kutusunda yazdırabilirim?
         private void button1_Click(object sender, EventArgs e)
        {    // textBox1 de yazan değerle textBox2 de yazan değeri integer yaparak toplayıp 
            // sonucu String olarak label1'e yazdırınız
        }
        private void button2_Click(object sender, EventArgs e)
        {   // textBox3 de yazan değer ve textBox4 de yazan değeri integer yaparak  
            // her ikisinin de karesini alıp toplayarak sonucu String olarak label2'ye yazdırınız
        }
        private void button3_Click(object sender, EventArgs e)
        {  //button3'ün zemin rengini
            //radioButton1 seçiliyse kırmızı
            //radioButton2 seçiliyse mavi
            //radioButton3 seçiliyse sarı
            //radioButton4 seçiliyse yeşil yapınız.
        }
        private void button4_Click(object sender, EventArgs e)
        {   //textBox1'de yazan değerle textBox2'de yazan değerler arasından
            //textBox3'de yazan değer kadar rastgele sayı oluşturup
            //bir diziye aktararak sayıları listbox1'e yazdırınız.
        }
        private void button5_Click(object sender, EventArgs e)
        {   //button4 ile oluşturduğunuz listBox1 içerisindeki sayıların
            //en büyüğünü label3'e, en küçüğünü label4'e yazdırınız
        }
        private void button6_Click(object sender, EventArgs e)
        {    // button4 ile oluşturduğunuz listBox1 içerisindeki sayıları büyükten küçüğe sıralayınız
        }
        private void button7_Click(object sender, EventArgs e)
        {    // button4 ile oluşturduğunuz listBox1 içerisindeki sayıları küçükten büyüğe sıralayınız
        }
        private void button8_Click(object sender, EventArgs e)
        {   // textBox1 içerisine yazılan 20 karakterlik bir yazının
            //ilk 5 karakterini label5'e, 5-10 arasını label6'ya,
            //10-20 arasını label7'ye yazdırınız.
        }
        private void button9_Click(object sender, EventArgs e)
        {   //textBox1 cevap anahtarı, textBox2 öğrenci cevapları girildiğinde
            //doğru sayısını label8'e, yanlış sayısını label9'a,
            //puanı ise doğru sayısını 5 ile çarparak label10'a yazdırınız.
        }
        private void button10_Click(object sender, EventArgs e)
        {  // Bu butona basıldığında ise hoşunuza giden herhangi bir şiirden 1 kıtayı veya bölümü mesaj kutusu olarak yazdırınız.
            // MessageBox kullanımında şiirin satırlarını alt alta yazdırmayı unutmayın.
         }

Soru 1:

Hedef: textBox1’de yazan değerle textBox2’de yazan değeri integer yaparak toplayıp sonucu String olarak label1’e yazdırmak.

Çözüm:

private void button1_Click(object sender, EventArgs e)
{
    int sayi1 = Convert.ToInt32(textBox1.Text);
    int sayi2 = Convert.ToInt32(textBox2.Text);
    int toplam = sayi1 + sayi2;
    label1.Text = toplam.ToString();
}

Bu çözümde, textBox1 ve textBox2’deki değerler int veri tipine dönüştürülerek sayi1 ve sayi2 değişkenlerine atanır. Ardından bu değerler toplanarak toplam değişkenine atanır. Son olarak, toplam değişkeni ToString() metodu ile String veri tipine dönüştürülerek label1’e yazdırılır.

Soru 2:

Hedef: textBox3 de yazan değer ve textBox4 de yazan değeri integer yaparak her ikisinin de karesini alıp toplayarak sonucu String olarak label2’ye yazdırmak.

Çözüm:

private void button2_Click(object sender, EventArgs e)
{
    int sayi3 = Convert.ToInt32(textBox3.Text);
    int sayi4 = Convert.ToInt32(textBox4.Text);
    int kareToplam = (sayi3 * sayi3) + (sayi4 * sayi4);
    label2.Text = kareToplam.ToString();
}

Bu çözümde, textBox3 ve textBox4’teki değerler int veri tipine dönüştürülerek sayi3 ve sayi4 değişkenlerine atanır. Ardından her iki sayının karesi alınır ve toplamı kareToplam değişkenine atanır. Son olarak, kareToplam değişkeni ToString() metodu ile String veri tipine dönüştürülerek label2’ye yazdırılır.

Soru 3:

Hedef: button3’ün zemin rengini radioButton’ların seçimine göre değiştirmek.

Çözüm:

private void button3_Click(object sender, EventArgs e)
{
    if (radioButton1.Checked)
    {
        button3.BackColor = Color.Red;
    }
    else if (radioButton2.Checked)
    {
        button3.BackColor = Color.Blue;
    }
    else if (radioButton3.Checked)
    {
        button3.BackColor = Color.Yellow;
    }
    else if (radioButton4.Checked)
    {
        button3.BackColor = Color.Green;
    }
}

Bu çözümde, if-else if yapısı kullanılır. Her else if bloğunda, ilgili radioButton’ın kontrolü Checked özelliği ile kontrol edilir. Eğer seçiliyse, button3’ün arka plan rengi ilgili renge atanır. Bu sayede, radioButton’ların seçimi değiştikçe button3’ün zemin rengi de değişir.

Soru 4:

Hedef: textBox1’de yazan değerle textBox2’de yazan değerler arasından textBox3’de yazan değere kadar rastgele sayı oluşturup bir diziye aktarıarak sayıları listBox1’e yazdırmak.

Çözüm:

private void button4_Click(object sender, EventArgs e)
{
    int sayi1 = Convert.ToInt32(textBox1.Text);
    int sayi2 = Convert.ToInt32(textBox2.Text);
    int sayi3 = Convert.ToInt32(textBox3.Text);
    
    Random random = new Random();
    int[] sayilar = new int[sayi3];

    for (int i = 0; i < sayi3; i++)
    {
        sayilar[i] = random.Next(sayi1, sayi2);
        listBox1.Items.Add(sayilar[i]);
    }
}

Bu çözümde, textBox1 ve textBox2’deki değerler int veri tipine dönüştürülerek sayi1 ve sayi2 değişkenlerine atanır. textBox3’teki değer de int veri tipine dönüştürülerek sayi3 değişkenine atanır.

Sonrasında, rastgele sayı üretmek için Random sınıfı kullanılır ve sayilar adında bir dizi oluşturulur. for döngüsü kullanılarak, sayi3 değeri kadar rastgele sayı üretilir ve dizideki ilgili indeksine atanır. Aynı zamanda, bu sayılar listBox1’e eklenir.

Soru 5:

Hedef: button4 ile oluşturulan listBox1 içerisindeki sayıların en büyüğünü label3’e, en küçüğünü label4’e yazdırmak.

Çözüm:

private void button5_Click(object sender, EventArgs e)
{
    List<int> sayilar = new List<int>();

    foreach (int sayi in listBox1.Items)
    {
        sayilar.Add(sayi);
    }

    int enBuyuk = sayilar.Max();
    int enKucuk = sayilar.Min();

    label3.Text = enBuyuk.ToString();
    label4.Text = enKucuk.ToString();
}

Bu çözümde, List<int> tipinde bir liste olan sayilar oluşturulur. foreach döngüsü kullanılarak, listBox1 içerisindeki her bir sayı sayilar listesine eklenir.

Daha sonra Max() ve Min() metodları ile sayilar listesindeki en büyük ve en küçük sayılar bulunur. Bu sayılar enBuyuk ve enKucuk değişkenlerine atanır. Son olarak, bu değerler ToString() metodu ile String veri tipine dönüştürülerek ilgili label’lara yazdırılır.

Soru 6:

Hedef: button4 ile oluşturulan listBox1 içerisindeki sayıları büyükten küçüğe sıralamak.

Çözüm:

private void button6_Click(object sender, EventArgs e)
{
    List<int> sayilar = new List<int>();

    foreach (int sayi in listBox1.Items)
    {
        sayilar.Add(sayi);
    }

    sayilar.Sort();
    sayilar.Reverse();

    listBox1.Items.Clear();

    foreach (int sayi in sayilar)
    {
        listBox1.Items.Add(sayi);
    }
}

Bu çözümde, List<int> tipinde bir liste olan sayilar oluşturulur. foreach döngüsü kullanılarak, listBox1 içerisindeki her bir sayı sayilar listesine eklenir.

Daha sonra Sort() metodu ile sayilar listesi küçükten büyüğe sıralanır. Ancak, bu durum istenen büyükten küçüğe sıralamanın tam tersidir. Bu yüzden Reverse() metodu ile sıralama ters çevrilir.

Sonrasında, listBox1’i boşaltmak için listBox1.Items.Clear() metodu kullanılır. Ardından, sıralanmış sayılar foreach döngüsü ile listBox1’e eklenir.

Soru 7:

Hedef: button4 ile oluşturulan listBox1 içerisindeki sayıları küçükten büyüğe sıralamak.

Çözüm:

private void button7_Click(object sender, EventArgs e)
{
    List<int> sayilar = new List<int>();

    foreach (int sayi in listBox1.Items)
    {
        sayilar.Add(sayi);
    }

    sayilar.Sort();

    listBox1.Items.Clear();

    foreach (int sayi in sayilar)
    {
        listBox1.Items.Add(sayi);
    }
}

Bu çözümde, List<int> tipinde bir liste olan sayilar oluşturulur. foreach döngüsü kullanılarak, listBox1 içerisindeki her bir sayı sayilar listesine eklenir.

Daha sonra Sort() metodu ile sayilar listesi küçükten büyüğe sıralanır.

Sonrasında, listBox1’i boşaltmak için listBox1.Items.Clear() metodu kullanılır. Ardından, sıralanmış sayılar foreach döngüsü ile listBox1’e eklenir.

Soru 8:

Hedef: textBox1 içerisine yazılan 20 karakterlik bir yazının ilk 5 karakterini label5’e, 5-10 arasını label6’ya, 10-20 arasını label7’ye yazdırmak.

Çözüm:

private void button8_Click(object sender, EventArgs e)
{
    string metin = textBox1.Text;

    string baslangic = metin.Substring(0, 5);
    string orta = metin.Substring(5, 5);
    string son = metin.Substring(10);

    label5.Text = baslangic;
    label6.Text = orta;
    label7.Text = son;
}

Bu çözümde, textBox1’deki metin string veri tipine atanır. Ardından, Substring() metodu ile belirlenen aralıklarda metin parçaları alınır.

baslangic değişkeni, metinin başından itibaren 0. indeksten başlayarak 5 karakter alır. orta değişkeni, metinin 5. indeksten başlayarak 5 karakter alır. son değişkeni ise, metinin 10. indeksten sonuna kadar olan kısmını alır.

Son olarak, bu metin parçaları ilgili label’lara atanır.

Soru 9:

Hedef: textBox1 cevap anahtarı, textBox2 öğrenci cevapları girildiğinde doğru sayısını label8’e, yanlış sayısını label9’a, puanı ise doğru sayısını 5 ile çarparak label10’a yazdırmak.

Çözüm:

private void button9_Click(object sender, EventArgs e)
{
    string cevapAnahtari = textBox1.Text;
    string ogrenciCevaplari = textBox2.Text;

    int dogruSayisi = 0;
    int yanlisSayisi = 0;

    for (int i = 0; i < cevapAnahtari.Length; i++)
    {
        if (cevapAnahtari[i] == ogrenciCevaplari[i])
        {
            dogruSayisi++;
        }
        else
        {
            yanlisSayisi++;
        }
    }

    int puan = dogruSayisi * 5;

    label8.Text = dogruSayisi.ToString();
    label9.Text = yanlisSayisi.ToString();
    label10.Text = puan.ToString();
}

Bu çözümde, textBox1’deki cevap anahtarı ve textBox2’deki öğrenci cevapları string veri tipine atanır.

dogruSayisi ve yanlisSayisi adında iki adet int değişkeni oluşturulur ve başlangıç değerleri 0 olarak atanır.

for döngüsü kullanılarak, her karakter için cevap anahtarı ile öğrenci cevapları karşılaştırılır ve doğru/yanlış sayıları güncellenir.

Sonrasında, doğru sayısı ile 5 çarpılarak puan hesaplanır.

Son olarak, her bir değer ilgili label’lara yazdırılır.

Soru 10:

Hedef: Hoşunuza giden herhangi bir şiirden 1 kıtayı veya bölümü mesaj kutusu olarak yazdırmak.

Çözüm:

private void button10_Click(object sender, EventArgs e)
{
    string siir = "Bir yanım rüzgar, derin sessizlik   \nBir yanım sonsuz bir dip  \nBir yanım yanar, bir yanım ısı ..." +
        "\n\n- Orhan Veli Kanık";

    MessageBox.Show(siir, "Hoşuma Giden Şiir");
}

Bu çözümde, string veri tipinde siir adında bir değişken oluşturulur ve içerisine hoşunuza giden bir şiirin kıtası veya bölümü yazılır.

Sonrasında, MessageBox.Show() metodu kullanılarak mesaj kutusu açılır ve içeriği siir değişkeni olarak belirlenir. Ayrıca, mesaj kutusunun başlığı da belirlenir.

1 Beğeni