Bu Blogda Ara

1 Mart 2011 Salı

C# Bazı Sınıfların Metodları (MinValue ,MaxValue)

C# da bazı sınıflar vardır.Bu sınıflardan bir kaçını burda sizlere sunacağım bir int değerin yada sadece o veri tipinin hangi aralıklarda en fazla ve en az ne kadar değer alabileceğini buradan göreceğiz.Önce bir windows form uygulaması açalım formun load kod bölümüne aşağıdaki gibi kod yazalım.

private void Form1_Load(object sender, EventArgs e)
        {
            string int64;
            string int32;
            int64 = "İnt64 ün alabileceği Max değer = "
            + Int64.MaxValue.ToString() + " Min Değer = "
            + Int64.MinValue.ToString();
            int32 = "İnt32 ün alabileceği Max değer = "
            + Int32.MaxValue.ToString() + " Min Değer = "
            + Int32.MinValue.ToString();
            MessageBox.Show(int64);
            MessageBox.Show(int32);

            //************************************************
           
            string cıkıs1;
            string cıkıs2;
            string cıkıs3;
            long deger1;
            long deger2;
            deger1 = 12;
            deger2 = 16;
            cıkıs1 = deger1.CompareTo(deger2).ToString();
            cıkıs2 = deger1.GetType().ToString();
            cıkıs3 = deger1.Equals(deger2).ToString();
            MessageBox.Show(cıkıs1);
            MessageBox.Show(cıkıs2);
            MessageBox.Show(cıkıs3);

            //************************************************

            string output;
            output = "";
            if (Boolean.Parse("True") == true)
                output = "Boolean da True değeri mevcut";
            if (Boolean.Parse("False") == false)
                output = "Boolean da False değeri mevcut";
            MessageBox.Show(output);
        }

Program çalıştırıldığında aşağıdaki gibi sonuç elde ediliyor.

25 Şubat 2011 Cuma

Genel uygulama Console bilgi alma dizilerde deger tutma ve bu degerleri rast gele listeleme

Evet başıkdan da anlaşılacağı gibi kullanıcıdan kişi sayısı isteniyor örneğin:3  değeri girdi yani dizide 3 elaman oluşturuldu sonra bu 3 elaman için sırayla isimler isteniyor kullanıcıdan.Kullanıcı bu 3 ismi giridikten sonra önce normal sıraya göre 3 elamanın isimleri listeleniyor.Sonra bu elamanların karışık listesi verilsin mi diye kullanıcıdan onay isteniyor.Onay evet ise sıra karıştırılıp veriliyor.Onay hayır ise uygulamadan çıkıyor.

C# Do While Döngüsü

Do while döngüsü şöyledir bir şart gerçekleşmedikçe do içerisindeki kodlar çalışır gerçekleşmiş ise döngüden çıkar.Bunu anlatmak yerine sizlere örnek yayınladım.Aşağıdaki uygulamada.kullanıcıdan yas bilgisi isteniyor.Kullanısının girmiş olduğu yaş bilgisi bir string değerde tutuluyor.ve do içerisinde yas değeri hangi aralıklarda ise bunu kullanıcıya yansıtıyor.Öyle ki 44 girildiğinde genç 55 girildiğinde yaşlı 5 girildiğinde küçüksünüz diyor.Eğer bu yaş değeri -1 girildiyse bunu while algılıyor ve döngüden çıkıyor.Zaten yas değeri yas != "-1") olmadıkça işlem yapmasını istiyoruz.
Kodlar aşağıdaki gibidir.Bir sonraki uygulamada bunu biraz daha geliştirerek uygulayacağız..Başarılar..

static void Main(string[] args)
        {
            /* 1.Döngüye gir;
             * 2.Yaş al
             * 3.genç yaşlı veya küçüksün.
             * 4.-1 girilmediyse 2 adımdan devam et
             * 5.bitir.
             */
            string yas;
            //Döngüye gir.

            do
            {
                Console.Write("Yaşınızı giriniz,Çıkmak için -1 girin : ");
                yas = Console.ReadLine();
                if (Int32.Parse(yas) >= 50)
                    Console.WriteLine("Yaşlısınız");
                else if (Int32.Parse(yas) >= 20)
                    Console.WriteLine("Gençsiniz");
                else if (Int32.Parse(yas) > 0 && Int32.Parse(yas)<20)
                    Console.WriteLine("Küçüksünüz");

            } while (yas != "-1");
        }

Ekran çıktısı aşağıdaki gibi.Resimden istenilen anlatım sunulmuştur.

24 Şubat 2011 Perşembe

C# Girilen Tarih Hangi Gün ? Konsol Uygulaması

Kullanıcıdan ilk gün isteniyor sonra ay sonrada yıl bilgileri isteniyor.Bu bilgiler sonra birleştiriliyor.Sonra yeni bir datetime oluşturuluyor.Bu bilgiler oraya değişkende tutulduğu için ekleniyor.Sonra zaten o datetime değişkeninden türeyen dayOfWeek metodunu kullanarak tarihin hangi güne denk geldi tespit edilip.Ekrana yazılıyor.

static void Main(string[] args)
        {
            int gun;
            int ay;
            int yıl;

            string tamTarih;
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("Gün Girin : ");
            Console.ForegroundColor = ConsoleColor.Blue;
            gun =Convert.ToInt32(Console.ReadLine());

            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("Ay Girin  : ");
            Console.ForegroundColor = ConsoleColor.Blue;
            ay = Convert.ToInt32(Console.ReadLine());

            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("Yıl Girin : ");
            Console.ForegroundColor = ConsoleColor.Blue;
            yıl = Convert.ToInt32(Console.ReadLine());
            Console.ForegroundColor = ConsoleColor.Green;
            DateTime tarih = new DateTime(yıl, ay, gun);
            tamTarih = Convert.ToString(gun) + "." + Convert.ToString(ay) + "." + Convert.ToString(yıl);
            Console.WriteLine(tamTarih+"==>"+tarih.DayOfWeek);
            Console.ReadLine();

        }

Ekran aşağıdaki gibidir.Umarım tarih uygulamaları işinize yarar.

Switch Kullanımı ve TL - YTL uygulaması

Bu uygulamada sizden bir seçim isteniyor bu seçim YTL yi TL ye ve TL yi YTL ye çevirme olmak üzere 2 seçenek.Hangisi seçilmişse switch ile o işlem yapılır.

static void Main(string[] args)
        {
            /* para 1.000.000 ,geriye kalan 2 haneli ykr;
             * 1.Menü (YTL-TL veya TL-YTL)
             * 2.Seçim al
             * eğer YTL-TL seçilmiş ise
             * ytl ve ykr değerlerini almak
             * paraTL=ytl*1.000.000+ykr*10.000
             * ekrana yaz
             * eğer tl-ytl seçilmişse
             * tl değerini al
             * ytl=paraTL/1.000.000
             * ykr=yuvarla((paraTL%1.000.000)/10000,2)
             * ekrana yaz
             * bitir.
             */

            int secim;
            short paraYkr;
            long paraTL, paraYTL;
            //Menü yaz

            Console.WriteLine("[1].TL den YTL ye");
            Console.WriteLine("[2].YTL den TL ye");
            Console.Write("Seçiminiz[1/2] : ");

            //Seçim al

            secim = Convert.ToInt32(Console.ReadLine());

            //Seçime göre işlem yap

            switch(secim)
            {
                case(1):

                    Console.Write("TL girin : ");
                    paraTL = Convert.ToInt64(Console.ReadLine());

                    paraYTL = paraTL / 1000000;
                    paraYkr = Convert.ToInt16(Math.Round((double)(paraTL % 1000000) / 10000, 2));
                    Console.WriteLine("{0} TL = {1} YTL ve {2} Ykr ",paraTL,paraYTL,paraYkr);
                    break;

                case (2):

                    Console.Write("Paranızın YTL kısmını girin : ");
                    paraYTL = Convert.ToInt64(Console.ReadLine());

                    Console.Write("Paranızın Ykr kısmını girin : ");
                    paraYkr = Int16.Parse(Console.ReadLine());

                    paraTL = paraYTL * 1000000 + paraYkr * 10000;
                    Console.WriteLine("{0} YTL {1} Ykr = {2} TL",paraYTL,paraYkr,paraTL);
                    break;
            }
        }
Uygula çalıştırıldığında her iki seçenek için nasıl sonuç verdiğini aşağıda resimlerini takip ederek öğrebilirsiniz.

C# Switch nedir? Kullanımı

Şimdi sizlere bu günün ne olduğunu ve aynı zamanda bunu switch döngüsünü kullanarak yapacağım.Burda bir değişkende gunun değerini datetime kütüphanesi altından string değeri olarak tutacağız.Sonra Bu değeri switch e sokacağız burda hangi değer çıkmış ise ingilizce olarak monday,tuesday vs ona göre gün vereceğiz.Şimdi başlayalım bir tane boş console uygulaması başlatalım.


 static void Main()
        {
            //Burada bu günün değerisini string olarak tuttum.
            //Öyleki bunu sistem dili olarak yani ingilizce tutuyor.
            /*switch metodu ile ingilizce karşılıkları hangisi ise yani
             * bu gün ise ekrana türkçelerini yazacak
             */
            string gun = DateTime.Now.DayOfWeek.ToString();

            switch (gun)
            {
                case ("Monday"):
                    Console.WriteLine("Pazartesi");
                    break;
                case ("Tuesday"):
                    Console.WriteLine("Salı");
                    break;
                case ("Wednesday"):
                    Console.WriteLine("Çarşamba");
                    break;
                case ("Thursday"):
                    Console.WriteLine("Perşembe");
                    break;
                case ("Friday"):
                    Console.WriteLine("Cuma");
                    break;
                case ("Saturday"):
                    Console.WriteLine("Cumartesi");
                    break;
                case ("Sunday"):
                    Console.WriteLine("Pazar");
                    break;
                default:
                    Console.WriteLine("Böyle bir gün yok");
                    break;
            }            
        }

Ekran çalıştırıldığında aşağıdaki gibi oluyor..

23 Şubat 2011 Çarşamba

For Kullanarak Konsol Ekranında Ev yapma

Burdan kullanıcıdan istenilen bir ölçü boyutuna göre konsol ekranında "* "işaretçisi ile nesneler yaratmak.burda for ve while döngüsünü kullanarak.bir ev yaptım.Yaklaşım 3 saatimi aldı. =) Şimdi kodları aşağıdaki gibi veriyorum ekran görüntüsüde kodun altında mevcut.İyi çalışmalar..

static void Main ( string[] args )

        {
            Console.ForegroundColor = ConsoleColor.White;
          Console.Write("ÖLÇÜ GİRİN (1=*) : " );
          int k = int.Parse( Console.ReadLine() );
          int yeni = 0;
          yeni = k-1;
          int sonsıra = yeni;
          int n = k - 1;
          int x = 2 * (k - 1) + 1;
           for ( int p = 0; p <= n; p++)
           {
               for (int j = k - 1; j  >= 0; j--)
               {
                   Console.Write(" ");
               }
               for ( int i = 0; i <= ( x - 2 * (k - 1) ); i++ )
               {
                   if (( i % 2 == 1 && i==1 ) || ( i % 2 == 1 && i==(x - 2 * (k - 1 ))) || ( i%2==1 && p==n ))
                   {
                       Console.Write("*");
                   }
                   else
                   {
                       Console.Write(" ");
                   }
               }
               Console.WriteLine();
               k--;
           }
           int exra = 0;
           int s;
           exra = yeni;
           int eksik = 0;
           int son=yeni;
           while(yeni>=0)
           {
               if (yeni != 0)
               {
                  
                   Console.Write("  ");
                   for (s = 0; s < exra; s++)
                   {
                       if (exra == s)
                       {
                           break;
                       }
                       else
                       {
                           eksik++;
                           Console.Write("* ");
                           Console.ForegroundColor = ConsoleColor.Green;
                           if (eksik ==exra)
                           {
                              
                               Console.ForegroundColor = ConsoleColor.White;
                               Console.Write("* ");
                           }
                       }
                   }
                   Console.Write("\n");
                   Console.ForegroundColor = ConsoleColor.White;
                   yeni--;
                   eksik = 0;
               }
               else
               {
                   break;
               }
           }
           Console.Write("  ");
           for (int sıra = 0; sıra <= sonsıra; sıra++)
           {
               Console.ForegroundColor = ConsoleColor.White;
               Console.Write("* ");
           }
               Console.ReadLine();
       }

Kodlar biraz karışık görünüyor.Tam yol izleyemediğim için uğraşa ğraşa başardım.Ve sizlerle paylaşıyorum.