do
komut;
while(şart);
do
{
komutlar;
} while(şart);
Do While döngüsüne başlamadan önce “Döngü nedir?” sorusuna bir açıklık getirelim. Devamını Oku
1.BAŞLA
2.Sayı gir yaz
3.Sayı gir
4.Değişken 0′a eşit değilse döngüye gir
5.Sonucu yaz
6.DURDöngü işlemleri;
1.Sayı 2′ye bölünüyor mu?(2′ye bölümünden kalan sıfıra eşit mi?) e:2 h:4
2.cift değişkeninde biriktir
3.Döngü başına git
4.tek değişkeninde biriktir
1. başla
2. x’yı gir
3. (x>=100) ve (x<=999)? e:6 h:4
4. “üç basamaklı sayı gir” yaz
5. 2 ye git
6. Başarılı yaz
7. Dur
Akış diyagramı ve açıklamalarını ulaşmak için tıklayın.
#include<stdio.h>
#include<conio.h>
main()
{
int a;
do {
printf(“3 basamakli sayi girin: “); scanf(“%d”,&a);
if( (a>99) && (a<1000)) break;
else printf(“3 basamakli sayi girmediniz! \n”);
}
while(0==0);
// veya while((a<99) || (a>1000));
printf(“Basarili –> Devam ediyor…”);
getche();
}
Belirli tanımlamaları kullanacağımız için bize gerekli olan stdio.h kütüphanesini ilk olarak çağırdık. Daha sonra ise getch() fonksiyonunu kullanacağımız için conio.h kütüphanesini dosyamızı çağırdık. Ana program başlatmak için main() i yazıp süslü parantezlerimizi ( {… } ) koyduk. Süslü parantezlerden ilki C programı uygulamasına göre “başla” ikinci süslü parantez ise “dur” anlamına gelmektedir.
Daha sonra a adında tamsayı tipinde bir adet değişken tanımlayarak printf ile “Sayi gir” i ekrana yazdırıp scanf ile yazılan değeri “a” değişkenine atadık. Bu işlemin ardından if/else kontrol yapısına devreye soktuk.
Gel gelelim Do while döngüsüne. “Do while döngüsü ne işe yarar?” sorusunu ilk önce cevaplayıp mantığını anlamaya çalışalım.
Do while döngüsü ilk önce şu kodları çalıştır daha sonra while döngüsüne gir diyen döngü tipidir. While döngüsü nedir? öğrenmek için tıklayın.. Linkte daha önceki C uygulamalarında while döngüsünün ne işe yaradığı ve nasıl kullanıldığını anlattım.
Bu C uygulamasına baktığımızda ise ilk önce {.. } (süslü parantezler içerisinde bulunan kod blogu) içerisine while döngüsüne girmeden önceki çıkacak işlemleri yazdık. Aşamalandırsak;
İlk başta printf ile “3 basamakli sayi girin: ” ekrana yazdırıp scanf ile atanan değeri değişkeni eşitleyip ram’imizde değişkenin değerini hapsettik(depoladık – program kapanınca ramdeki değer otomatik silinir).
Daha sonra Eğer ki sayı 100 ila 999 arasındaysa döngüden çık dedik. Değilse printf ile “3 basamakli sayi girmediniz!” dedim yazı içerisinde kullandığım “\n” kodu ise C’de alt satıra geçmek için kullanıcağımız koddur.
While döngüsünü iki şekilde kullanabiliriz. Bunlardan ilki mutlak olarak döngüde kalması ki bunu örneğimizde kullandık 0==0 (sıfır sıfıra eşitse döngüye gir) ikinci yöntemdeyse girilen sayı 100′den küçük veya 1000′den büyük ise döngüye gir dedik.
Kodun devam etmesi için klavyeden herhangi bir tuşa basılmasını istedik ve programın bittiği için herhangi bir tuşa tıkladığımızda program kapandı. Bunun için Getch Fonksiyonunu kullandık.
Not: <1000 veya >99 dememizin sebebi eşittir kullanmadığımız müddetçe C’nin – Bilgisayarın 99 sayısını dahil etmemesidir. Eğer ki biz 5′den küçük demek istiyorsak 5′i dahil etmeyip “<5″ deriz. 5′e kadar demek istiyorsak “<=” deriz.
Proje halindeki dosyayı indir.
Uygulama halindaki dosyayı indir.
While döngüsünden farkı while döngü şartının sonunda yazılmasıdır. Bunun anlamı ise şartı yerine getirinceye kadar döngü kodlarını sadece bi kereliğine çalıştır demektir. Bir örnekle anlattığımızı pekiştirelim.
<?php do {çalıştıralacak kodlar} while() ?>
<?php
$a=5; do{echo $a. "<br>"; $a++;} while($a<=10)
?>
Ekran görüntüsü;
5 6 7 8 9 10