do while döngüsü kullanımı; for ve while döngülerinden farklı olarak kontrol işlemini döngünün sonunda yapmaktadır.
Bir do while döngüsü while döngüsüne benzer şekilde çalışır. while kısmındaki şart doğru olduğu sürece do while arasındaki ifadeler yürütülür.
Dikkat edilmesi gereken en önemli nokta ise do while döngüsünde komutlar en az 1 sefer yürütülmektedir.(kontrol sonda olduğu için)
Yazım Kuralı
1 2 3 4 5 |
do { ifadeler; } while( şart); |
do while Örnekleri
Örnek: do while örneği ile basit dört işlem yapımı
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
class Program { static void Main(string[] args) { int s1, s2; char opt,devam; do { Console.Write("Sayı 1 girin:"); s1 = Convert.ToInt32(Console.ReadLine()); Console.Write("Sayı 1 girin:"); s2 = Convert.ToInt32(Console.ReadLine()); Console.Write("İşlem Seçin(+,-,*,/):"); opt = Convert.ToChar(Console.ReadLine()); switch(opt) { case '+':Console.WriteLine("İşlem Sonucu:{0}",s1+s2); break; case '-': Console.WriteLine("İşlem Sonucu:{0}", s1 - s2); break; case '*': Console.WriteLine("İşlem Sonucu:{0}", s1 * s2); break; case '/': Console.WriteLine("İşlem Sonucu:{0}", s1 / s2); break; default:Console.WriteLine("Hatalı işlem"); break; } Console.Write("Devam için E/e"); devam= Convert.ToChar(Console.ReadLine()); } while (devam == 'E' || devam == 'e') ; Console.ReadLine(); } } |
Örnek: 0 -100 arasındaki sayıları do while ile yazdırma
1 2 3 4 5 6 7 8 9 10 11 12 13 |
int toplam = 0; int sayac = 0; do { sayac++; toplam += sayac; } while (sayac < 100); Console.WriteLine("Toplam: " + toplam.ToString() + ",Sayaç: " + sayac.ToString()); |
Örnek: 0-10 arasında rastgele sayı üretip, üretilen sayı 3 olmadığı sürece üretilen sayıyı ekrana yazdıran program
1 2 3 4 5 6 7 8 9 10 11 |
Random rnd = new Random(); int sayi; do { sayi=rnd.Next(0,10); Console.Write("{0} ",sayi); // sayi+" " } while(sayi!=3); Console.ReadKey(); |
Örnek: 1 ile 100 arasında tutulan rastgele sayıyı bulan program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
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(); |
Örnek: 0 girene kadar girilen sayıları toplayan program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
class Program { static void Main(string[] args) { int sayi,sonuc=0; do { Console.Write("Bir sayı girin: "); sayi = Convert.ToInt32(Console.ReadLine()); sonuc += sayi; } while (sayi!=0); Console.WriteLine("Girdiğin sayıların toplamı:{0}", sonuc); Console.ReadLine(); } } |
Örnek: Kullanıcı tarafından girilen sayının faktöriyelini hesaplayan program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
class Program { static void Main(string[] args) { int sayi,sonuc=1; Console.Write("Bir sayı girin: "); sayi = Convert.ToInt32(Console.ReadLine()); do { sonuc *= sayi; sayi--; } while (sayi > 0); Console.WriteLine("Girdiğin sayıların toplamı:{0}", sonuc); Console.ReadLine(); } } |
Add Comment