C# Goto komutu etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
C# Goto komutu etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

11 Nisan 2013 Perşembe

85 - String Metodlar... Büyük Küçük Harf Değişimleri...


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            // Girilen seçime göre harfleri büyük veya küçük yapacak olan program?
            Console.WriteLine("Metni giriniz.");
            string metin = Console.ReadLine();
            // Seçim hatalı ise tekrar giriş yaptırılacaktır... 
            Tekrar:
            Console.WriteLine("Seçimi giriniz (1-2)");
            string sec = Console.ReadLine();
            
            if ( sec == "1") // Seçim 1 ise büüyk harfe dönüştürüyor... 
            Console.WriteLine("Büyük Harf="+metin.ToUpper()); // Büyük harfe dönüştüren string metod...
            else if ( sec == "2")
                Console.WriteLine("Küçük harf ="+metin.ToLower()); // Küçük harfe dönüştüren string metod
            else
                { // Seçim yanlış ise çalışacak kısım... 
                Console.WriteLine("Seçim yanlış. Tekrar giriniz.");
                goto Tekrar;
                }

            Console.ReadKey();
        }
    }
}

2 Nisan 2013 Salı

59 - Goto... Pin Kodu Kontrolü



Aşağıdaki örneğimiz Goto ile farklı yerlere dallandığımız algoritması değişik olan bir program... Amacımız 3 hak vererek pin kodunun doğru girilmesini sağlamak... Pin kodu olarak 1234 ü belirledik... Random komutu kullanılarak farklı pin kodları verilebilir tabiiki...

Programın başında öncelikle pin kodunu girdiriyoruz... Ama hemen arkasından yanlış girişi mesajını da verdiriyoruz... Bu kısma tabiki kullanıcı yanlış girişi yaparsa gelinmesi lazım... Onun için bu satırı başlangıçta bir goto komutu kullanılarak atlatıyoruz... xyz etiketli goto komutunun amacı sadece programın ilk girişinde kullanıcıya hata mesajı verdirmemektir...

Pin kodunu bir if ile kontrol ettiriyoruz... Eğer kullanıcı yanlış girerse zaten başta hesapladığımız gibi giris etiketinin olduğu komut satırına geri gönderiyoruz... Tabii bunu yapmadan önce 3 hakkından bir tanesini indiriyoruz... Ama doğru girerse Pin kodu doğru deyip programı bitiriyoruz... Fark ettiyseniz pin kodunu doğru girdikten sonra aşağıda bir sürü kod satırı olmasına rağmen hiçbiri programın bitişine engel oluşturmuyor... 

Peki ya haklar dolarsa... Sonuçta sadece 3 hakkı var kullanıcının... Bu durumda da yine mesajı verdirip programı bitiriyoruz... 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            int hak = 3; // Pin kodu için 3 giriş hakkı veriyoruz... 
            Console.WriteLine("Pin kodunu giriniz =");
            goto xyz; // Aşağıdaki kodlar sadece yanlış olduğunda çalışabilmesi için burayı atlıyoruz... 
        giris:
            Console.WriteLine("Yanlış giriş. Tekrar giriniz.");
            xyz: // Yanlış kısmını atlayarak devam ediyoruz... 
            string x = Console.ReadLine();

            if (x == "1234") //Girilen pin kodu doğru ise mesajı verdirip programı bitiriyoruz... 
            {
                Console.WriteLine("Pin kodu doğru.");
                Console.ReadKey();
            }
            else
                { // Doğru değilse haklarından bir tanesini indiriyoruz... 
                hak = hak - 1;
                if (hak == 0)
                {
                    // Haklar bittiğinde programı bitiriyoruz... 
                    Console.WriteLine("3 kere yanlış girildi. Çıkış için Enter'e basınız.");
                    Console.ReadKey();
                }
                else // Haklar bitmedi ise giris etiketine geri dönderiyoruz... 
                    goto giris;
                }
        }
    }
}

58 - Goto... Yazılı Notlarının 0-100 Arası Girdirilmesi...


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {// 3 yazılı notu gir ortalamasını al... yazılı notları 1-100 arası girilmezse tekrar girdiriliyor...
            Console.WriteLine("LÜTFEN... Yazılı notlarını 1-100 arasında giriniz...:");
            Console.WriteLine();

        // goto komutları program içerisinde istenilen satıra tekrardan dönmek için kullanılan komutlardır... 
        // Türkçe karakter olması önemlidir...
        dön1:
             Console.Write("1. yazılı notunu giriniz...:");          
            int n1 = int.Parse(Console.ReadLine());                  
            if (n1 < 0 || n1 > 100) goto dön1; // 0 - 100 arası girilmediği sürece tekrar giriş yaptırılıyor...                     
        dön2: 
            Console.Write("2. yazılı notunu giriniz...:");         
            int n2 = int.Parse(Console.ReadLine());
            if (n2 < 0 || n2 > 100) goto dön2;
        dön3: 
            Console.Write("3. yazılı notunu giriniz...:");
            int n3 = int.Parse(Console.ReadLine());
            if (n3 < 0 || n3 > 100) goto dön3;

            int ort = (n1 + n2 + n3) / 3;
            Console.WriteLine("Ortalama notunuz: " + ort);
            Console.ReadKey();
        }
    }
}