Buradasınız

33-C# Do-While Döngüsü

c# dersleri

Do – While Döngüsü

Döngü işlemini en az bir kere yapan ve belirtilen koşul sağlandı sürece çalışan döngüdür. While döngüsünde koşul döngüye girerken kullanılıyor. Do-While’da ise koşul en sonda kullanılır.

Kullanımı

do 
{             
       // Yapılacaklar 
} 
while (koşul);

 

//While döngüsünde aşağıdaki gibiydi. 
while(koşul) 
{
             // Yapılacaklar 
}

 

Örnek: Ekrana 10 kere GOSB Tadım Jale Yücel EML yazdıran C# programını yazınız.

int i = 0; 
do   
{
    i++;
    Console.WriteLine( "GOSB Tadım Jale Yücel EML "); 
} 
while (i <10); 
//---------------------------------------------------------- 
//Bu örnek for ile yapılacak olsaydı. 
for (int x = 0; x < 10; x++)
    Console.WriteLine("GOSB Tadım Jale Yücel EML ");   

//Bu örnek while ile yapılacak olsaydı. 
int a = 0; 
while (a < 10) 
{             
     a++;
     Console.WriteLine("GOSB Tadım Jale Yücel EML "); 
} 
Console.ReadKey();

Örnek: 1 ile 100 arasında sayı üretelim, üretilen sayı 50 olana kadar sayıları ekrana yazdıran C# programını yazınız.

Random r = new Random(); 
int sayi; 
do
{
     sayi=r.Next(1,101); 
     Console.Write("{0} ",sayi); // sayi+" " 
} 
while(sayi!=50); 
//sayi 50 den farklı olduğu sürecek döngü devam eder. 
Console.ReadKey();

Bu örneği break komutu kullanarak yapacak olsaydık. aşağıdaki gibi yapılabilir.

Random r = new Random(); 
int sayi; 
do 
{ 
     sayi=r.Next(1,101); 
     Console.Write("{0} ",sayi); // sayi+" " 
     if (sayi==50) break; //sayi 50'ye eşit olduğunda break komutu çalışır ve döngü den çıkılır.
} 
while(true); //Sonsuz döngü 
Console.ReadKey();

 

 

Örnek: Klavyeden sayılar girilmesi istenerek girilen sayılar toplanacak tek sayı girdiğinde toplama işlemi bitirilip toplam değerini ekrana yazdıran programı yapınız.(do-while ile)

int sayi=0,toplam=0; 
do 
{
     Console.Write("Sayı Girin: ");
     sayi=int.Parse(Console.ReadLine());
     if (sayi%2==1) break;
     toplam += sayi; 
} 
while (true);//sayi%2==0 
Console.WriteLine("Sayıların toplamı:{0}",toplam); 
Console.ReadKey();

 

Örnek:  1 ile 100 arasında tutulan rastgele sayıyı bulma oyunu yapalım.

Random r = new Random();
int rs = 0;
int s;
rs = r.Next(1, 101);
do
{
    Console.Write("Sayı Giriniz: ");
    s = int.Parse(Console.ReadLine());

    if (s < rs)
        Console.WriteLine("Büyük sayı giriniz...");
    else if (s > rs)
        Console.WriteLine("Küçük sayı giriniz...");
    else
        Console.WriteLine("Tebrikler bildiniz...");
}
while (s != rs);
Console.ReadKey();

Örneğimize 10 hak  ekleyelim.
hak adında bir değişken oluşturup ilk değerini 10 atayalım. döngü içinde bir eksiltelim ve döngü koşuluna durumunu ekleyelim. hak 0 olduğunda ekrana hakkınız bitmiştir yazdıralım.
Eklenenler

Random r = new Random();
int rs = 0;
int s, hak = 10;
rs = r.Next(1, 101);
do
{
    Console.Write("Sayı Giriniz: ");
    s = int.Parse(Console.ReadLine());
    hak--;

    if (hak == 0)
        Console.WriteLine("Hakkınız bitmiştir...");
    else if (s < rs)
        Console.WriteLine("Büyük sayı giriniz... Kalan hakkınız {0}", hak);
    else if (s > rs)
        Console.WriteLine("Küçük sayı giriniz... Kalan hakkınız {0}", hak);
    else
        Console.WriteLine("Tebrikler bildiniz...");
}
while ((s != rs) && (hak != 0));
Console.ReadKey();

 Oyun bittiğinde yeniden oynamak için sorularak devam etme işlemi yapalım.


Random r = new Random();
int rs = 0;
int s, hak = 10;
rs = r.Next(1, 101);
do
{
    Console.Clear();
    do
    {

        Console.Write("Sayı Giriniz: ");
        s = int.Parse(Console.ReadLine());
        hak--;

        if (hak == 0)
            Console.WriteLine("Hakkınız bitmiştir...");
        else if (s < rs)
            Console.WriteLine("Büyük sayı giriniz... Kalan hakkınız {0}", hak);
        else if (s > rs)
            Console.WriteLine("Küçük sayı giriniz...Kalan hakkınız {0}", hak);
        else
            Console.WriteLine("Tebrikler bildiniz...");
    }
    while ((s != rs) && (hak != 0));
    Console.Write("Devam etmek istiyormusunuz?(e/h): ");
    char k = char.Parse(Console.ReadLine());
    if ((k != 'e') && (k != 'E')) break;
}
while (true);

Oyunu daha geliştirelim. Sayıyı bulduğunda yeni adıma geçmesini sağlayalım. Yeni Adımda sayı aralığı farklı olsun ve bulma hakkını arttıralım.


Random r = new Random();
int rs = 0;
int s, hak = 10, adim = 1;
int son_sayi = 0;
do
{
    Console.Clear();

    if (adim == 1) { son_sayi = 100; rs = r.Next(1, 101); hak = 10; }
    else if (adim == 2) { son_sayi = 250; rs = r.Next(1, 251); hak = 15; }
    else if (adim == 3) { son_sayi = 500; rs = r.Next(1, 501); hak = 20; }
    else if (adim == 4) { son_sayi = 750; rs = r.Next(1, 751); hak = 25; }
    else if (adim == 5) { son_sayi = 1000; rs = r.Next(1, 1001); hak = 30; }

    Console.WriteLine("{0 }. Adım, Hakkınız {1} defadır.", adim, hak);
    Console.WriteLine("1 ile {0} arasında tahmin ediniz", son_sayi);
    Console.WriteLine();

    do
    {
        Console.Write("Sayı Giriniz: ");
        s = int.Parse(Console.ReadLine());
        hak--;

        if (hak == 0)
            Console.WriteLine("Hakkınız bitmiştir...");
        else if (s < rs)
            Console.WriteLine("Büyük sayı giriniz... Kalan hakkınız {0}", hak);
        else if (s > rs)
            Console.WriteLine("Küçük sayı giriniz...Kalan hakkınız {0}", hak);
        else
        {
            Console.WriteLine("Tebrikler bildiniz...");
            adim++;
        }

    }
    while ((s != rs) && (hak != 0));
    Console.Write("Devam etmek istiyormusunuz?(e/h): ");
    char k = char.Parse(Console.ReadLine());
    if ((k != 'e') && (k != 'E')) break;

}
while (true);

Ödev: Klavyeden bir isim girilecek girilen ismin harflerini alt alta yazdıran C# programını yapınız.(do-while ile)

Ödev: Klavyeden iki sayı girilecek girilen sayılar arasında çift olanları ekrana yan yana yazdıran C# programını yapınız. (do-while ile)

Ödev: Klavyeden sayılar girilecek  girilen sayılar 100 ile 500 arasında ise tekleri kendi arasında çiftleri kendi arasında toplayarak , çiftlerin ve teklerin toplamı 1000 üzerinde olduğunda sayı girişi bitirilip tekler ve çiftler in toplamı ayrı ayrı ekrana yazdıran c# uygulamasını yapınız.

Ödev : 1 ile 1000 arasında rastgele sayılar tutulacak, her tutulan sayı ekrana yazdırılacak tutulan sayılardan çift olanları toplanacak ve tutulan rastgele sayı değeri 1000 olduğunda sayı tutma işlemi bitirilerek çiftlerin toplamı ekrana yazdıran c# uygulamasını yapınız.

Yorum ekle

Konuyla İlgili Yazılar

c# dersleri

8- C# -3 Değişkenler,Veri Tipleri,Read,ReadLine ve Sabitler

Değişkenler Program çalışma esnasında gerekli olan değerleri tutan ve gerektiğinde içeriği değiştirilen yapılara değişken denir.Değişkenler tipleri Tam... devamı...