- Mesaj
- 1.384
- Çözümler
- 36
- Beğeni
- 1.000
- Puan
- 1.370
- Ticaret Puanı
- 2
Merhaba arkadaşlar,
Daha öncesinde 2 konu paylaşmıştım. İf else ve else if olarak. Şimdi pekiştirmek adına 1 örnek yapalım.
Basit düzey de kullanıcı girişi yapan kodları yazalım.
Öncelikle bilmeniz gereken goto kullanımı,
goto daha öncesinde belirlediğiniz etikete gider ve kodlar oradan çalışmaya devam eder.
Kodların açıklaması :
Not: Baştan sona en basit haliyle bu şekildeydi. İsterseniz özelleştirebilirsiniz. İlerleyen konularda döngüye alacağız daha sonradan oopye ( Nesne yönelimli ) geçtiğimiz zaman ise görselleştireceğiz.
Compilerden çıktı görüntüsü :
Not : Olası hata bildirimleri, iletişim veya gelişmelerden erken haber almak için discord kanalıma gelebilirsiniz.
Daha öncesinde 2 konu paylaşmıştım. İf else ve else if olarak. Şimdi pekiştirmek adına 1 örnek yapalım.
Basit düzey de kullanıcı girişi yapan kodları yazalım.
C++:
#include <iostream>
#include <string>
using namespace std;
int main() {
string kullaniciAdi, sifre;
string DefaultKullaniciAdi = "admin";
string DefaultSifre = "12345";
geri: // Etiket
cout << "Kullanıcı Adı: ";
cin >> kullaniciAdi;
cout << "Şifre: ";
cin >> sifre;
if (kullaniciAdi == DefaultKullaniciAdi && sifre == DefaultSifre) {
cout << "Giriş başarılı. Hoş geldiniz!" << endl;
} else {
if (kullaniciAdi != DefaultKullaniciAdi && sifre == DefaultSifre) {
cout << "Kullanıcı adı hatalı!" << endl;
} else if (kullaniciAdi == DefaultKullaniciAdi && sifre != DefaultSifre) {
cout << "Şifre hatalı!" << endl;
} else {
cout << "Kullanıcı adı ve şifre hatalı!" << endl;
}
cout << "Lütfen tekrar deneyin.\n" << endl;
goto geri; // Etikete dön
}
return 0;
}
Öncelikle bilmeniz gereken goto kullanımı,
goto daha öncesinde belirlediğiniz etikete gider ve kodlar oradan çalışmaya devam eder.
Şeklinde kullanılır. Yukarıdaki örnekte görebilirsiniz. Goto güncel kodlarda pek önerilmez. Onun yerine daha işlevsel döngüler kullanılır. Ancak henüz paylaşmadığım için goto kullanmayı tercih ettim.etiket:
goto etiket;
Kodların açıklaması :
1.Kütüphane ve namespace Kullanımı
C++:
#include <iostream>
#include <string>
using namespace std;
- #include <iostream>: Ekrana yazı yazmak (cout) ve klavyeden veri almak (cin) için gerekli standart giriş/çıkış kütüphanesini ekler.
- #include <string>: string veri türünü kullanabilmek için gerekli olan kütüphaneyi ekler.
- using namespace std;: std isim alanını kullanarak her yerde std:: yazmak zorunda kalmaktan kurtarır. Örneğin, std::cout yerine doğrudan cout yazabiliriz.
2. Değişken Tanımlamaları
C++:
string kullaniciAdi, sifre;
string DefaultKullaniciAdi = "admin";
string DefaultSifre = "12345";
- kullaniciAdi ve sifre: Kullanıcıdan alınacak verileri saklamak için tanımlanmıştır.
- DefaultKullaniciAdi ve DefaultSifre: Doğru kabul edilen kullanıcı adı ve şifreyi tutar. Bu değerlerle karşılaştırma yapılır. Değerler default olarak yani bilerek böyle verilmiştir. İsterseniz kullanıcıya girdirebilirsiniz. İlerleyen konularda sql öğrendiğimizde bilgiler veritabanından gelecektir.
3. Giriş Etiketi ve Kullanıcı Girdisi
C++:
geri: // Etiket
cout << "Kullanıcı Adı: ";
cin >> kullaniciAdi;
cout << "Şifre: ";
cin >> sifre;
- Etiket (geri): Programın belirli bir satırına tekrar dönebilmek için tanımlanmıştır. Bu etikete goto komutuyla dönülebilir.
- Kullanıcıdan önce kullanıcı adı istenir (cin >> kullaniciAdi;), ardından şifre istenir (cin >> sifre;).
4. Giriş Kontrolü
C++:
if (kullaniciAdi == DefaultKullaniciAdi && sifre == DefaultSifre) {
cout << "Giriş başarılı. Hoş geldiniz!" << endl;
} else {
- Kullanıcı adı ve şifre doğruysa:
- Kullanıcıya "Giriş başarılı. Hoş geldiniz!" mesajı verilir.
- Aksi halde, program else bloğuna girer ve hataları kontrol eder.
5. Hata Kontrolü
C++:
if (kullaniciAdi != DefaultKullaniciAdi && sifre == DefaultSifre) {
cout << "Kullanıcı adı hatalı!" << endl;
} else if (kullaniciAdi == DefaultKullaniciAdi && sifre != DefaultSifre) {
cout << "Şifre hatalı!" << endl;
} else {
cout << "Kullanıcı adı ve şifre hatalı!" << endl;
}
- Kullanıcı adı hatalıysa(şifre doğru):
- kullaniciAdi != DefaultKullaniciAdi && sifre == DefaultSifre
- Kullanıcıya "Kullanıcı adı hatalı!" mesajı gösterilir.
- Şifre hatalıysa(kullanıcı adı doğru):
- kullaniciAdi == DefaultKullaniciAdi && sifre != DefaultSifre
- Kullanıcıya "Şifre hatalı!" mesajı gösterilir.
- Hem kullanıcı adı hem şifre hatalıysa:
- kullaniciAdi != DefaultKullaniciAdi && sifre != DefaultSifre
- Kullanıcıya "Kullanıcı adı ve şifre hatalı!" mesajı gösterilir.
6. Hata Sonrası Yeniden Giriş
C++:
cout << "Lütfen tekrar deneyin.\n" << endl;
goto geri; // Etikete dön
- Kullanıcı yanlış bilgi girdiğinde, "Lütfen tekrar deneyin." mesajı gösterilir.
- goto geri;: Program, geri etiketine döner ve kullanıcı adı/şifre girişini tekrar başlatır.
7. Başarılı Çıkış
C++:
return 0;
- Eğer kullanıcı doğru bilgileri girerse, program "Giriş başarılı. Hoş geldiniz!" mesajını verir ve return 0; ile sona erer.
Not: Baştan sona en basit haliyle bu şekildeydi. İsterseniz özelleştirebilirsiniz. İlerleyen konularda döngüye alacağız daha sonradan oopye ( Nesne yönelimli ) geçtiğimiz zaman ise görselleştireceğiz.
Compilerden çıktı görüntüsü :
Not : Olası hata bildirimleri, iletişim veya gelişmelerden erken haber almak için discord kanalıma gelebilirsiniz.
Linkleri görebilmek için
giriş yap veya kayıt ol.
Önemli not: Bu konu ve açacağım diğer konular tamamen kendime ait konular herhangi bir yerden alıntı değildir.
Mmotutkunlarına özel içeriktir.
Lütfen alacaksanız bile kaynak gösteriniz.
Sevgilerle.
Mmotutkunlarına özel içeriktir.
Lütfen alacaksanız bile kaynak gösteriniz.
Sevgilerle.
Son düzenleme: