Son kullanma tarihi geçmiş, bayatlamış bir tarayıcı kullanıyorsanız, Mercedes kullanmak yerine tosbağaya binmek gibi... Web sitelerini düzgün görüntüleyemiyorsanız eh, bi' zahmet tarayıcınızı güncelleyiniz. Modern Web standartlarını karşılayan bir tarayıcı alternatifine göz atın.
Arkadaşlar class kullanarak bir kütüphane uygulaması yazacağım. Ancak admine önceden .h uzantılıda şifre ve kullanıcı adı belirleyip. yurutucu.cpp de bunu çalıştırmak istiyorum. Yani kişi kullanıcı adı ve şifre girecek doğruysa sistem onaylayıp devam edecek ama bu hataları alıyorum, yardımcı olur musunuz?
Dolusuyla hata var, hangi birisinden başlasam ki.
İlki Visual Studio'yu Türkçe kullanmak. Aldığınız hataları ne siz, ne onu çeviren kişi, ne de benim anladığımı sanmıyorum. Türk herhangi birinin de hepsini güzelce anlayabildiğini sanmıyorum.
cstring eklemek. Gerçekten onu kullanacağınız bir şey olduğunu da sanmıyorum.
Sınıflarda namespace kullanmamanızı tavsiye ederim. Kimlerin onu include edeceği belli değil. Adam bir anda bildiği bir namespace'i kullanmaya başlamış olabilir.
Ufak bir şeyler yaptım. Çalışıyor olması lazım. Genel mantığı anlamışsınızdır.
İsterseniz salt okunur bir dosya hazırlayıp oradan da okuyabilirsiniz.
Dolusuyla hata var, hangi birisinden başlasam ki.
İlki Visual Studio'yu Türkçe kullanmak. Aldığınız hataları ne siz, ne onu çeviren kişi, ne de benim anladığımı sanmıyorum. Türk herhangi birinin de hepsini güzelce anlayabildiğini sanmıyorum.
Cstring eklemek. Gerçekten onu kullanacağınız bir şey olduğunu da sanmıyorum.
Sınıflarda namespace kullanmamanızı tavsiye ederim. Kimlerin onu include edeceği belli değil. Adam bir anda bildiği bir Namespace'i kullanmaya başlamış olabilir.
Ufak bir şeyler yaptım. Çalışıyor olması lazım. Genel mantığı anlamışsınızdır.
İsterseniz salt okunur bir dosya hazırlayıp oradan da okuyabilirsiniz.
Benim bildiğim öyle değil. Nereden öğrendiniz bu bilgiyi?
Benim yaptığım şekilde yapınca ilk nesne oluştuğunda ilklendirme yapılıyor olması lazım.
Kod:
#pragma once.
#include <iostream>
#include <string>
class Admin {
public:
Admin();
Admin(std::string username, int password);
void show();
int getAdminPassword();
std::string getAdminUsername();
private:
const int ADMIN_PASSWORD = 1234;
int adminPassword;
const std::string ADMIN_USERNAME = "admin";
std::string adminUsername;
};
Kod:
#include "Admin.h"
Admin::Admin() {
}
Admin::Admin(std::string username, int password) :adminUsername{ username }, adminPassword{ password } {
}
void Admin::show() {
std::cout << "Kullanici adi girin: ";
std::cin >> adminUsername;
if (ADMIN_USERNAME == adminUsername) {
std::cout << "Kullanici adi dogru. Giris basarili." << std::endl;
}
else {
std::cout << "Kullanici adi yanlis. Lutfen tekrar deneyiniz." << std::endl;
}
}
int Admin::getAdminPassword() {
return adminPassword;
}
std::string Admin::getAdminUsername() {
return adminUsername;
}
Teşekkür ederim projem olduğu için hocanın kısıtladığı şekilde yapabiliyorum. Türkçe olmasının sebebi İngilizce anlamayıp anlık olarak Türkçe'ye çevirdim. Genel bir kütüphane uygulaması yazmaya çalışıyorum. Admin üye ekleyip üye siliyor kitap ekleyip çıkarıyor üyeler kitap ödünç alıp geri bırakıyor karmaşık bir şey.
Demek istediğim herhangi bir class üyesine bu şekilde "=" operatörü ile veri aktarılamaz.(Modern C++ da varsayılan değer tanımlaması olarak "{ değer }" şeklinde aktarılabilir ancak orası ayrı konu). Sizin yapmış olduğunuz şey class üzerinde "sabit" bir değişken açmak, sonradan değiştirilen bir class üyesi değil.
Sanırım const olmasıyla alakalı sandınız. Konu sahibi sabit bir şey istediği için const yaptım. Hatta isterseniz onu constexpr yapmaya çalışabilirsiniz. Yapamayacağınızı fark edeceksiniz. Const olmasıyla alakasız. İlk değer .h dosyasında verilebilir. Ama o değer sınıfın ilk nesnesi oluştuğunda atanacaktır. Ondan önce erişilmeye çalışılırsa hata alınır.
Özelden yardım kurallara aykırı. Bu yüzden bu konuda burada bir adres paylaşamam. Çok dert ediyorsanız çaba gösterip bana ulaşmanın bir yolunu bulabilirsiniz.
Size ödev verildiyse bir şekilde yapabilecek kadar anlatılmıştır. Kendiniz yapmaya çalışın. İnternetten ve dokümantasyondan yararlanın.