#include <iostream>
#include <windows.h>
#include <string>
using namespace std;
int main() {
system("Color 9");
string correct;
string pass;
string cor;
string rect;
correct = "Not this.";
string got;
string name;
cout << (" ____ _ _ __ _\n| __ ) _ _ _ __ __ _ | | __ | |/ / (_)_ __ __ _\n| _ \ | | | | | '__| / _` | | |/ / | ' / | | | '_ \ / _` |\n| |_) | | |_| | | | | (_| | | < | . \ | | | | | | | (_| |\n|____ / \__, _| |_ | \__, _| |_ | \_\ | _ | \_\ | _| |_| |_ | \__, |\n|___ /");
cout << "\n\n\nHello, please select one of the languages below!\n TR\n EN\n\n ";
cin >> got;
if ( got == "TR" ) {
system("Color 2");
cout << "\n USER INPUT >> " << got << "\n";
cor = "bu degil";
rect = "bu da degil";
cout << "\n Isminiz nedir? \n";
cin >> name;
cor = "yar2ak";
cout << "\n USER INPUT >> " << name << "\n";
cor = got + name;
system("Color 6");
cout << " Sifre nedir? \n";
cout << "\n Sifre, basta sectiginiz dillerden birini ve isminizi icermektedir !! \n";
rect = "3169haha";
cout << "\n\n sifreyi giriniz : ";
cin >> pass;
if (pass == cor + rect) {
system("Color 2");
cout << " \n Tebrikler!! Bu uygulamayi kirmayi basardiniz, eger yeni biriyseniz bu muthis birsey!! \n";
system("pause");
}
else {
system("Color 4");
cout << " \n Yanlis sifre )= Maybe next time! \n ";
system("pause");
}
} else if ( got == "EN" ) {
cout << "\n USER INPUT >> " << got << "\n";
system("Color 2");
cout << "\n What is your name? \n";
cin >> name;
cout << "\n USER INPUT >> " << name << "\n";
cor = got + name;
system("Color 6");
cout << " What is the password? \n";
cout << "\n Password includes the language you select and the name that you enter !!! \n";
cout << "\n\n Please enter the password : ";
cin >> pass;
rect = "3169haha";
if (pass == cor + rect) {
system("Color 2");
cout << " \n YES, U DID IT! IF YOU ARE BEGINNER THATS AWESOME! \n";
system("pause");
}
else {
system("Color 4");
cout << "\n Wrong Password )= Maybe next time!\n ";
system("pause");
}
}
else {
cout << "\n Please select one of the languages ( \"TR\" or \"EN\"\n";
}
system("pause");
}
"İsminiz nedir?" sorusundan sonra atanan değişkeni anlayamadım.
Selam dostum, ben yeni başlamadım bu dile sadece DLL uzantısından external yani konsol aplikasyonuna geçtim ancak tabiki de farklı syntaxlar olduğu için yeni sayılırım,Bende böyle bir dile başlamayı düşünüyorum. Fakat kendime güvenim 0. Ne önerirsiniz yeni başlayan biri olarak?
Hayır, yok öyle bir şey. Yanlış bilgi veriyorsun. Farklı kütüphaneler ve başlık dosyaları farklı işlevler ve yapılar sunabilir, ancak bu C++'ın syntax'ını değiştirmez. Syntax, dilin grameri, kelime yapıları ve operatörleri ile ilgilidir. Dolayısıyla, syntax'ları farklı demek yanlış bilgi vermekten öteye gitmiyor.Her library ( kütüphane dosyasının ) farklı syntax'ları ve kullanımları var mesela detours.h en yaygın kütüphanelerden biri Imgui vs için.
Hayır farklı syntaxlar söz konusu değil.tabiki de farklı syntaxlar olduğu için
Hayır dostum o anlamda demedim, mevcut olan syntaxlar değişmiyor, farklı kütüphaneleri include ettiğimizde farklı syntaxlar ekleniyor.Hayır, yok öyle bir şey. Yanlış bilgi veriyorsun. Farklı kütüphaneler ve başlık dosyaları farklı işlevler ve yapılar sunabilir, ancak bu C++'ın syntax'ını değiştirmez. Syntax, dilin grameri, kelime yapıları ve operatörleri ile ilgilidir. Dolayısıyla, syntax'ları farklı demek yanlış bilgi vermekten öteye gitmiyor.
Hayır farklı syntaxlar söz konusu değil.
Maalesef her bunu diyen insana bilgimin olduğunu kanıtlamaya çalışamam kusura bakmayın.
Geçmiş konularınıza da baktım. Bilmediğiniz şeyi biliyor gibi söylemeniz ayrı komik olmuş.
Kodu doğru öğrenmeden burada "C++ öğreniyorum" diye konu açmanız ayrı ilginç.
Ek olarak, yazdığım kodun kötü olmasının sebebini açıklar mısınız? Yani sizinle aynı şeyi düşünen çok fazla insan yok ve bende merak ettim haklı olarak çünki sebep sunmadan kötü diyorsunuz.Kodunuz yanlış anlamayın ama çok kötü.
Yani bu şekilde kendi kafanıza göre bir şeyler yaparak kodu öğrenemezsiniz.
Geçmiş konularınıza da baktım. Bilmediğiniz şeyi biliyor gibi söylemeniz ayrı komik olmuş.
Kodu doğru öğrenmeden burada "C++ öğreniyorum" diye konu açmanız ayrı ilginç.
Beğenmedim
Merhaba, sizde kodu yorumlar mısınız rica etsem?Hayır, yok öyle bir şey. Yanlış bilgi veriyorsun. Farklı kütüphaneler ve başlık dosyaları farklı işlevler ve yapılar sunabilir, ancak bu C++'ın syntax'ını değiştirmez. Syntax, dilin grameri, kelime yapıları ve operatörleri ile ilgilidir. Dolayısıyla, syntax'ları farklı demek yanlış bilgi vermekten öteye gitmiyor.
Hayır farklı syntaxlar söz konusu değil.
Hayır, farklı syntaxlarda eklenmiyor.Hayır dostum o anlamda demedim, mevcut olan syntaxlar değişmiyor, farklı kütüphaneleri include ettiğimizde farklı syntaxlar ekleniyor.
Çevrende kod yazan çok insan yok sanırım. Ben başlayayım;Ek olarak, yazdığım kodun kötü olmasının sebebini açıklar mısınız? Yani sizinle aynı şeyi düşünen çok fazla insan yok ve bende merak ettim haklı olarak çünki sebep sunmadan kötü diyorsunuz.
Bad practice. C++'ta using namespace literallerin olduğu namespace'i include etmek dışında bad practicedir. Bunun arkasındaki sebebi şurada bulabilirsin;using namespace std;
using namespace std;bad practicedir. Asıl kimse bunu istemiyor. Large codebaselere baktığında sabah akşam std:: görürsün. Çok, çok, çok, çok, çok, çok nadirenusing namespace std;kullanılır.
Arkasındaki sebep name collision önlemek. Standart library de, senin yazdığın program da günden güne büyüyecek. Eğer standart libraryde daha önce olmayan bir fonksiyonla aynı ismi kullandıysan, yeni versiyona geçtiğinde, eğerusing namespace std;yaptıysan çakışma yaşayacaksın.
Bak buna örnek şöyle olur;
C++:namespace A { class C {}; } namespace B { class C {}; } using namespace A; using namespace B; int main() { C c; return 0; }
Yukarıdaki kod aşağıdaki hatayı verecek. Bunun çözümü, hangi C'yi kullanmak istiyorsak, scope resolution operatörü (::) ile o scopetakine işaret etmek. Diyelim ki A'nın C'sini kullanacağım, o zaman yazmam gereken şey; A::C c;. A::C yazdıktan sonra using namespace A;'nin bir anlamı kalmıyor zaten. Gelecekte temizleme konusunda zorluk çıkaracak eğer geniş bir uygulamada çakışmalar yaşadıysak. Çünkü tek tek gidip hangi fonksiyonun, hangi namespace'ten çağrıldığı ayıklamam gerekecek. Bu yüzden de bad practice.
Eki Görüntüle 2257715
Aynı işi iki kere yapmana sebep olan bir dizayn var elinde. Kod tekrarı yapıyorsun. DRY diye bir ilke var. Do Not Repeat Yourself. Kendini tekrar etme. Çünkü diğer kodda yapacağın değişikliği bir daha, bir daha her yerde düzeltmen gerekecek. Onun yerine stringleri bir çeşit mapte tutarsan böylece sadece dil değiştirmiş olursun. Kodun tüm akışını değil.if ( got == "TR" ) {
Merhaba, yorumlamanız için teşşekkür ederimHayır, farklı syntaxlarda eklenmiyor.
Çevrende kod yazan çok insan yok sanırım. Ben başlayayım;
Bad practice. C++'ta using namespace literallerin olduğu namespace'i include etmek dışında bad practicedir. Bunun arkasındaki sebebi şurada bulabilirsin;
Aynı işi iki kere yapmana sebep olan bir dizayn var elinde. Kod tekrarı yapıyorsun. DRY diye bir ilke var. Do Not Repeat Yourself. Kendini tekrar etme. Çünkü diğer kodda yapacağın değişikliği bir daha, bir daha her yerde düzeltmen gerekecek. Onun yerine stringleri bir çeşit mapte tutarsan böylece sadece dil değiştirmiş olursun. Kodun tüm akışını değil.
Çok fazla if else var. Kodun okunuşunu mahvediyor. Değişken isimlendirmeleri berbat. Tamamen rastgele. Constant stringlerin debug yada release fark etmeksizin getirilebildiğini bilmiyorsun gibi. Crackme uygulaması için uygun değil. Karakterlerden oluşan bir vektör çooooooook daha sağlıklı bir seçenek olur işi zorlaştırmak adına.
Konu sahibinin özgüvenine hayranım dürüst olmak gerekirse. Yani ben programlama öğrenirken, berbat kodumu insanlarla paylaşmamak için elimden geleni yapıyordum. GitHub'da privateladığım yığınla proje var. Game engine'e featureset eklediğimde bile onunla ilgili konu açmadan önce kodun okunurluğundan, reusabilitysinden falan emin olmak için defalarca kez üstünden geçmiştim. Ona rağmen özgüvenli özgüvenli şunu bunu yaptım diye yazamıyorum hala sağda solda. Onları ilk defa yazarken ne kadar zorlandığımı, ne kadar araştırma yaptığımı hatırlıyorum da...Yani bu şekilde kendi kafanıza göre bir şeyler yaparak kodu öğrenemezsiniz.