Bir güzel yazı da daha karşınızdayım. Bu sefer C programlama diline el atayım dedim ve eğlenceli bir program yazdım. If ve else'in mantığını anlamayanlar için güzel bir örnek olur umarım.
Bu programla noluyor? Güzel bir soru...
Kullanıcı adı 1 şifresi de 2 olan bir web sayfası düşünün. Bu web sayfasına girişi anlattım aslında programda. Önce kullanıcı adını giriyoruz. Yanlışsa iptal :) Doğruysa devam ediyor ve şifremizi soruyor. Şifre olarak 2 girersek doğru. Ama yanlış girersek yine giriş başarısız oluyor.
Önce baştaki if ile kullanıcı adımızın yanlış olmasını tanımladık. Yanlışsa bitiriyor nasıl olsa. Else ile de, aksini yani kullanıcı adımızın doğru olma durumunu döndürüyor. Eğer kullanıcı adımız doğruysa şifreyi soruyor. O da doğruysa "doğru"yanlışsa "yanlış" diye mesaj alıyoruz. Baştaki kullanıcı adımızın doğru olma ihtimalini else ile aksi durum olarak belirttiğimiz için bu döngüyü else içinde ayrı bir şekilde yazdık.
Bu kadar anlatım yeter herhalde arkadaşlar. Çünkü anlatımın bir kısmı da kodların arasında. Kodları kopyalayıp derleyiciye yapıştırın ve orada inceleyin. Burada incelemeye kalkarsanız kafanız karışabilir benden söylemesi :)
Bu kodlar if else mantığını bilenler için yazılmıştır. Lütfen yanlış anlamayın. Anlatımı zaten sitede olduğu için tekrarlamak istemiyorum.
Kodlardan ufak notlar:
n
ifadesi bir alt satıra geçirir. Ardı ardına iki defa yazarsak (aşağıdaki şekildeki gibi) iki alt satıra geçirir. Sınırı yok bunun.
nn
Mantık bu. Cümle aralarında nasıl kullanırsanız kullanın oradan cümleyi böler ve diğer kısmını alt satıra atar.
//açıklama satırı
Bu ifadeyi kodların arasına çokça göreceksiniz.
//
ifadesi derleyiciye "Bu satırı okuma kardeşim" der ve derleyici o satırı atlar. Biz de bu durumu açıklama satırı olarak değerlendiririz. :) Yani açıklama yapmak istediğimiz yerlerde kullanılır bu ifade.
Son olarak söylüyorum ki;Kodlarda hata yoktur. Kodlar hatalı diye yorum yapmayın diye. Ayrıca anlamadığnız yer olursa tekrar açıklamaya çalışırım. Ama az önceki ricamı tekrarlıyorum. Lütfen daha iyi anlamak için derleyici üzerinden bakın kodlara. Derleyici olarak DevC++ programını tavsiye ederim. Google'da arayın karşınıza çıkar. Zaten ufak tefek bir program :)
Bir dahaki yazıda görüşmek üzere. Selamlar...
//MSNerkiz tarafindan yazilmistir.
//info@msnerkiz.com
//web sayfasi giris kodlari
//kodlarimizda ikisi de sayidan olusan kullanici adi ve sifre belirledik
//kullanici adi:1
//sifre:2
//programi calistirdigimizda her durumu bize aciklayan ekran olacak
#include
//kutuphanemizi okuttuk
int main()
{
//genel olarak islemleri icine yazacagimiz suslu parantezi ustteki satirda actik
int k,s;
//k ve s diye kullanici adi ve sifre tanimladik. bas harfleriyle :)
printf("Kullanici login ekrani. Bu program Sanalkurs icin yazilmistir.nwww.msnerkiz.comnn");
printf("Kullanici adini gir ve Enter'a bas...nn");
//ilk bastaki mesajimizi boyle yazdirdik
scanf("%d",&k);
//ekrana girilen kullanici adini okumamizi saglayan kod
if(k!=1)
//k degiskeni yani kullanici adi 1 olarak girilmediyse asagidaki islemleri yapacak
//if'imizin suslu parantezini aciyoruz asagidaki satirda
{
printf("Kullanici adini bastan yanlis girdin hocam senn");
printf("nSonuc olarak giris basarisiz. Kusura bakman");
}
//bu if dongusuyle kullanici adini kontrol ettik en basta yanlissa bitirecek.
//mantik su: eger k degiskeni 1 degilse programi bitir. != ifadesi esit degilse yerine gecer.
//eger dogruysa diger adima gececek. simdi biz kullanici adinin yanlis girilme durumunu kontrol ettik
//asagideki else ile de yanlis olma durumunun degili olan dogru olma durumunu kontrol edecegiz
else {
//else'imizin suslu parantezini actik ust satirda
printf("Kullanici adi dogru ama sifreyi biliyor musun bakalim.nnSifreyi gir ve Enter'a bas...n");
//ekrana sifrenin girilmesini soyleyen kod
scanf("%d",&s);
//sifreyi okuma kodu
if(s!=2)
//eger sifre 2 olarak girilmediyse...
//if'imizin suslu parantezini aciyoruz asagidaki satirda
{
printf("nAhh. Ne yazik ki sifre yanlis. Kullanici adini dogrunngirmisken nasil boyle bir hata yaparsinnn");
printf("Kusura bakma ama giris basarisiz...nnSifreyi duzgun ogren oyle gelnn");
//bu ifadeleri yazdiriyoruz
}
if(s==2)
//eger sifre 2 olarak girildiyse
//if'imizin suslu parantezini aciyoruz asagidaki satirda
{
printf("Masallah sifreyi de dogru bildin...nn");
printf("Sonuc olarak giris basarili. Yonlendiriliyorsunnn");
//bu ifadeleri yazdiriyoruz
}
//if'in suslu parantezi ustteki satirda
}
//else'imizin suslu parantezini kapattik ust satirda
system("pause");
//programin isleyisi bittiginde duraklatiyoruz
return 0;
//programimizi bitirdigimizi belirtiyoruz
}
//genel olarak islemleri icine yazdigimiz suslu parantezi ustteki satirda kapattik
Bu Siteden Alıntıdır.