Son Haberler
Anasayfa / Yazılım / C# / C# Bilge Adam Introduction Ödevleri – Büyük Ünlü Uyumu

C# Bilge Adam Introduction Ödevleri – Büyük Ünlü Uyumu

C# intro seviyesini geçtikten sonra yaptığımız ödevlerden.. Büyük Ünlü Uyumu; Diğerleri de eklenecektir..

İstenen : Verilen bir kelimenin ünlü uyumuna uyup uymadığı kontrol edilecektir. Kelime büyük çük harf yazılabilir, dikkate alınacaktır.

Kodları kopyalamaktan ziyade, bir fikir edinmenizi öneririm. 🙂

Proje Açık kaynak kodlarını istiyor iseniz lütfen gursoyismail@yahoo.com adresine isteğinizi belirtir mail atınız.

Ya da aşağıdaki linkten indirebilirsiniz..

{filelink=4}

Visual Studio 2012 kullananlar aşağıdaki linki tercih etsinler.

Aşağıdaki kodları ve açıklamaları verilmiştir :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication13
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // Tanımlamalar yapıldı..


        string kalinharfler = "AIOUaıou" ;    
        string inceharfler = "EİÖÜeiöü";
        string rakamlar = "0123456789";
        string metin; 
        private void button1_Click(object sender, EventArgs e)
        {
            // Hatalı kelime girme durumlarını yakalama..

            if (textBox1.Text.Contains(" "))
            {
                MessageBox.Show("Lütfen Tek Kelime Giriniz");
                textBox1.Focus();
                textBox1.Clear();
                label1.Text = "";
            }
            else if (textBox1.Text == null)
            {
                MessageBox.Show("Lütfen Bir Kelime Giriniz");
                textBox1.Focus();
                textBox1.Clear();
                label1.Text = "";
            }
            else if (textBox1.Text == "")
            {
                MessageBox.Show("Lütfen Bir Kelime Giriniz");
                textBox1.Focus();
                textBox1.Clear();
                label1.Text = "";
            }
            else
            {
              kelimekontrol();  
            }                      
                     
        }
       // kelime kontrol methodum..

        void kelimekontrol()
            {            
            metin = textBox1.Text;

            // öncelikle false değeri atadım..

            bool varyok1 = false;
            bool varyok2 = false;
            bool varyok3 = false;


            foreach (char item in metin)

            {     
        // kalın harfleri arıyorum, eğer kalın harf var ise TRUE

                if (kalinharfler.IndexOf(item) != -1)
                {
                    varyok1 = true;
                }

                // ince harfleri arıyorum, eğer ince harf var ise TRUE

                if (inceharfler.IndexOf(item) != -1)
                {
                    varyok2 = true;
                }

                // Rakamları arıyorum eğer rakam var ise TRUE

                if (rakamlar.IndexOf(item) != -1)
                {
                    varyok3 = true;
                }
            }
                
 
            // eğer ikisi de true ise demekki kelime de hem ince hem kalın harf vardır, o halde Büyük Ünlü Uyumuna Uymaz..

                if (varyok1 == true && varyok2 == true)
                {

                    label1.Text = "Büyük Ünlü Uyumuna Uymuyor";
                }
                    // Eğer iki durum birbirinden farklı ise demek ki, kelime büyük ünlü uyumuna uyuyor.

                else if (varyok1 != varyok2)
                {
                    label1.Text = "Büyük Ünlü Uyumuna Uyuyor";

                }
                    // eğer varyok3 true ise demekki metin rakam içeriyor.

                else if (varyok3 == true)
                {
                    label1.Text = "Kelime lütfen rakam içermesin";
                }

                else if (varyok3 == true && (varyok1 == true || varyok1 == false || varyok2 == true || varyok2 == false))
                {
                    label1.Text = "Kelime Lütfen Rakam İçermesin";
                }
                    // eğer bu durumların haricinde ise kelime sesli harf içermez..

                else 
                {
                    label1.Text = "Kelime Sesli Harf İçermiyor";
                }

                
            }
        private void button2_Click(object sender, EventArgs e)
        {
            DialogResult sonuc;
            sonuc = MessageBox.Show("Çıkmak İstediğinizden Eminmisiniz?", "Uyarı", MessageBoxButtons.OKCancel);
            {
                if (sonuc == DialogResult.OK)
                {
                    Application.Exit();
                }
            }
        }
    }
}

18 yorum

  1. cok tesekkurler ilginc

  2. özellikle kodlarla birlikte verdiğin açıklamalar için teşekkürler..

  3. Ben teşekkür ederim. 🙂

  4. kodlar güzel açıklamalarda güzel ama eksiklikler var diye düşünüyorum, özellikle bilge adam da hata kontrolleri try cath özelliğinden yararlanılarak yapılıyor böylece fazla kod yazmak gereksizleşiyor ama sizin eklediğiniz kodlarda bunu hiç görmedim.

  5. yorumunuz için çok teşekkürler.. Kesinlikle dediğiniz gibi, try catch bloğu ile bazı noktaları tekrar edip çok daha rahatlıkla daha az kod ile hatta bir çok yerde method kullanarak bunu daha da az kodla tamamlayabiliriz.. Burdaki mümkün olduğunca C#’a giriş seviyesinde olan, method vs bilmeyen arkadaşlarımız için oluşturulmuş örnekler. Tekrardan teşekkürler. 🙂

  6. kelime kontrollerinde -1 kullanılmasının sebebini tam anlayamadım..0 kullanınca ikinci kelimde hata veriyor..ama yine de tam anlayamadım.

  7. -1 kullanılmasının sebebi şu orada, kullanmış olduğum metot IndexOf ile arama.. IndexOf kontrolü bir String ifade içinde herhangi bir karakteri ya da bir ifadeyi arar. Aranan karakter yada ifadenin ilk karakteri bulunduğunda geriye buranın indeks numarasını döner. Eğer arama işlemi sonuçsuz ise geriye -1 döner. Benim yapmış olduğum yöntemde ise şunu diyorum aslında if bloğumda. Aradığım harf burada bunu item değişkenine bağlıyorum tabi, eğer aradığım harf yani, item ilgili dizi içinde değil ise (kalin harfler, inceharfler gibi) yani geriye IndexOf ile Item’ın dizi indeks numarası dönüyor isevaryok1 değişkenimi true yapıyorum. Eğer dönmüyor ise zaten otomatikmen IndexOf sonucum -1 dönecek, çünkü ilgili değeri dizi içinde bulamadığından geriye indeks numarası yerine -1 dönecek.

    String metotlar için şu yazıma göz atabilirsiniz..

    http://www.ismailgursoy.com.tr/string-sinifi-metotlari/

  8. teşekkürler…

  9. İyi günler.Öncelikle yaptığınız çalışmaları bizimle paylaştığınız için teşekkür ederim.
    Büyük ünlü uyumunda yaptığınız çalışmada 1 kelime kontrolü yapılabiliyor.Bizden istenen 1 yada 2 kelime kontrolü.Kontrollleride 2 kelimeyi 2 ayrı labellarda göstermemiz gerekiyor.Acaba bu konuda yardımcı olurmusunuz?

  10. tebrikler ismail bey mükemmel bir kod dizimi yapmıssınız!!!

  11. Teşekkürler İsmail Bey..

  12. İsmail bey açık kaynak kodlarını alabilirmiyim size zahmet. Emeğinize sağlık şimdiden.

  13. Emircan Bey adresinize intro ödevlerini yolladım, iyi çalışmalar.

  14. program çalışıyor ancak şöyle bi durum var mesela deneme24 ya da 78den3me de yazssam büyük ünlü uyumuna uyuyor diyor rakam içermesine rağmen

  15. 98. satırdan itibaren şöyle yazarak sorunu çözdüm kendimce önce rakam kontrolü yaptırdım böylece eger rakam içeriyorsa büyük küçük ünlü uygunluğu aramasını engelledim. daha yeniyim c# da inşallah yaptığım şey işe yarar güzel bi düşüncedir 🙂

    if(varyok3==true)
    Lbl.Text=”Kelime Rakam İçermemeli!!”;

    else
    {
    if (varyok1 == true && varyok2 == true)
    Lbl.Text = “Büyük Ünlü Uyumuna Uymuyor”;
    else if (varyok1 != varyok2)
    Lbl.Text = “Büyük Ünlü Uyumuna Uyuyor”;

    else
    Lbl.Text = “Kelime Sesli Harf İçermiyor!!!”;
    }

  16. Onur Bey dediğiniz gibi rakam durumunda da içeriyor. Bu eğitimi alırken bizden rakam durumunun kontrolünü istememişlerdi. O zaman eklememiştim. Sizin bu yazdığınızı da diğer arkadaşlar ekleyebilirler. Emeğinize sağlık, teşekkürler 🙂

  17. thanks for efforts and time..

  18. ARKADAŞLAR KÜÇÜK ÜNLÜ UYUMUNU YAPABİLEN VARMI acill lazım

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir