Diziler ve Sözcükler (strings)
C++ da sözcükler için farkli bir tip yoktur. Sözcükler ile ilgili islemler diziler yardimi ile kolaylikla yapilabilir. Dikkat edilmesi gereken bir kural vardir. Sözcüklerin (strings) son elemanlari "\0" degerini alir (null terminator). Burdan da anlayacagimiz gibi son karakter bos dizgiyi belirtiyorsa stringtir. Suna da dikkat edilmelidir ki string sabitlerinin sonuna "\0" koymamiza gerek yoktur. Derleyici bunu otomatik olarak yapacaktir.
Char sozcuk[7]="Deneme";
Char sozcuk[7]=''D'', ''e'', ''n'', ''e'', ''m'', ''e'', ''\0''};
Bu dizilerin içerikleri tamamen aynidir. Hazir söz gelmisken suna da deginelim. ''\n'', ''\t'', ''\0'' v.s, bunlar birer karakter olarak okunur. Ben önceleri iki diye okurdum:)
#include <stdlib.h>#include <iostream> #include <string> using namespace std; int main(){ string Cevap = ""; cout << "Hazirmisin?";cin >> Cevap; if( ( Cevap == "evet" ) || ( Cevap == "Evet" )){ cout << "Ee Tamam... ne gec ti eline?:) " << endl; }else{ cout << "Zorlamaya devam et!" << endl;} cout << "Hazirmisin? " << endl;cin >> Cevap; if( ( Cevap[0] == ''e'' ) || ( Cevap[0] == ''E'' ) ){ cout << "Ee Tamam... ne geçti eline?:)" <<endl;}else { cout << "Zorlamaya devam et!" << endl;}system("pause");return 0;}
Bu, sanirim bu konudaki en zor örnegimiz. Simdi örnek üzerinde biraz konuyu konusmaya devam edelim. Zaten diger if, else bloklarindan ve cout, cin gibi komutlardan bahsetmeyecegim. string Cevap = ""; bir sabitimizle isleme basladik. if( ( Cevap[0] == ''e'' ) || ( Cevap[0] == ''E'' ) ) burasi sanirim tanidik geldi:) Evet simdi burda Cevap[1] i çagirmis olsaydik ''v'' veya ''V'' degerlerini alicaktik. Tabi burada index degerinin yani dizideki ilk degerin 0 ile basladigini bir daha gördük. Simdi bu örnekle alakali olarak da Diziler ve Fonksiyonlar konusuna geçelim....
Hiç yorum yok:
Yorum Gönder
Teşekkürler