wmaraci reklam
tr.link

C'de basit bir kullanıcı giriş ekranı yapma

2 Mesajlar 1.170 Okunma
acebozum
tr.link

Hakan Ayan Hakan Ayan WM Aracı Kullanıcı
  • Üyelik 27.05.2014
  • Yaş/Cinsiyet 31 / E
  • Meslek Öğrenci
  • Konum İstanbul Anadolu
  • Ad Soyad H** A**
  • Mesajlar 29
  • Beğeniler 3 / 7
  • Ticaret 2, (%100)
Merhaba arkadaşlar,

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.
 

 

googleasistan
reklam

Batuhan Batuhan Kendine webmaster Kullanıcı
  • Üyelik 08.05.2011
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum Ankara
  • Ad Soyad B** B**
  • Mesajlar 3455
  • Beğeniler 783 / 1009
  • Ticaret 1, (%100)
Hocam aklıma bir şey takıldı;

Yukarıda n karakteri yeni satıra geçirir demişsiniz ancak örneğin aşağıdaki örnekte bu durumun problem oluşturması gerekmez mi?

printf("nAhh. Ne yazik ki sifre yanlis. Kullanici adini dogrunngirmisken nasil boyle bir hata yaparsinnn");


Sadece n karakteri alt satıra geçmeye yetiyorsa üstteki çıktıda yaklaşık 8-9 kere cümleyi bölüp alt satıra geçmesi gerekiyor. C bilgim yok ama acaba alt satıra geçme olayı diğer dillerdeki gibi \n yazarak yapılıyor olabilir mi? Çünkü bu şekilde kabul edilemez.

Teşekkürler.
 

 

wmaraci
wmaraci
Konuyu toplam 2 kişi okuyor. (0 kullanıcı ve 2 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al