11 Ocak 2016 Pazartesi

C++ - Atama İşlemi ve Örnek Uygulama

Diğer makalede değişen tanımlamayı görmüştük. Bu yazıda ise tanımladığımız değişkenlerin içine değer atamayı göreceğiz. Ve daha sonra dışarıdan değişken alarak işlem yapan bir uygulama yazacağız.



Yazımıza Atama İşlemi ile devam edelim.
C++ dilinde atama işlemi " = " sembolü kullanılarak yapılır.
Fakat buradaki eşittir sembolü matematikte gördüğümüzden farklıdır.
Bu sembol iki değerin eşit olduğunu değil atama yapıldığını sembol eder.
Örneğin ,
int d; 

tanımlanmış ve bu değişkenin içine "10" sayı değeri atanmak isteniyor.
o halde atama şu şekilde yazılmalıdır.


d = 5;


burada eşitliğin sağ tarafındaki değer, eşitliğin sol tarafındaki değişkenin içine atanır.Ve bundan sonra "d" isimli int değişkenin içinde 10 sayı değeri saklanır.

C++ dilinde değişken tanımlanırken atama işlemi yapılabilir.

int d = 10; gibi...

Şimdi ise bu zamana kadar gördüğümüz kısımla bir örnek uygulama yazalım ve değişkenlerimiz değerleri dışarıdan alsın.

Örneğin dışarıdan istenen 3 sayının ortalamasını hesaplayan C++ uygulaması ;

Bu uygulama için öncelikle kütüphanelerimizi belirleyelim.

Dışarıdan sayı alacağımıza ve ekrana yazı yazdıracağımaza göre iostream kütüphanesini kullanmalıyız.Bunun dışında bir kütphaneye ihtiyacımız şuanda yok.
O halde kodları yazmaya geçelim

#inluce <iostream>
using namespace std;

kütüphanemizi ve stdleri ekliyoruz.

Şimdi ise gerekli olan değişkenleri tanımlayalım.
İhtiyacımız olan değişkenler 3 sayı, 1 toplam ve 1 ortalama saklıyan değişkenler olacak o halde ;
int tipini kullanarak


int sayi1;
int sayi2;
int sayi3;
int toplam;
int ortalama;

şeklinde tanımlayabiliriz.Fakat C++ dili tanımlama işlemi yaparken 
 
aynı satırda değişkeler arasına "," bırakarak tanımlama yapmamıza izin veriyor.Bu yüzden

int sayi1,sayi2,sayi3,toplam,ortalama;


gibi tek satırda tanımlamak daha mantıklı olacaktır.

Değişken tanımlama işleminden sonra main fonksiyonumuzu yazıyoruz.
ve içerisinde uygulamayı oluşturuyoruz.

int main(){


    cout << "Lutfen Ortlamasini almak istediginiz 3 sayiyi girin :"<< endl;

    cin >> sayi1 >> sayi2 >> sayi3;

    toplam = sayi1 + sayi2 + sayi3;

    ortalama = toplam / 3;

    cout << endl << endl << "Girdiginiz Sayilarin Ortalamasi :" << ortalama;

    cin >> sayi1; //program kapanmasın diye..


}

Not:" endl " bir alt satıra geçmek için kullanılır.
Not:Kod sonunda yeniden sayi1 isteme sebebim programın sayi1 girmemi beklediği için kapanmamasını sağlamaktır.


Yazdığımız kodlar incelendiğinde basit matematik işlemleriyle gerekli semboller kullanıldığı görülmektedir.


Şimdi ise bu kodları Visual Studio Ortamında çalıştıralım.








Eğer Proje Oluşturma Makalesini Okumadıysanız Bu Satırı Tıklayın...

Uygulamayı yazmaya proje oluşturarak başlıyoruz.

Daha sonra cpp dosyamıza kodlarımızı aktarıyoruz.





Build yaparak(Ctrl + Shift + B)kodda hata olup olmadığına bakıyoruz.

Eğer kodda hata bulunmuyorsa Debug(F5) işlemini uygulayıp programı çalıştırıyoruz.

Ve işte sonuç...

















C++ - Değişken Tanımlama

Değişken tanımlama ram üzerinde ayırdığımız alanlardır. Bu alanlar ihtiyaca göre ihtiyaç türünde tanımlanır. Değişken tanımlanırken öncelikle türü daha sonra ismi belirtilir.

int denemeDegisken;

int(Değişken Türü),denemeDegisken (Değişken İsmi)




Örneğin tam sayı saklayacak bir değişkene ihtiyacımız var bunun için bir tür seçmek istiyoruz.
Değişken türü seçimlerinde türü belirlerken ihtiyacımız kadar büyüklükteki türü seçmek önemlidir. Yazdığımız algoritmaların hızlı ve yüksek performanslı olması bu şekilde sağlanır.

Sayısal  Değişken Türleri;

- " byte " : Bu değişken türünün boyutu 1Byte dır. (0, ...255) arasında tam sayı saklar.


      Örnek kullanım:          byte d = 10;  

- " sbyte " : Bu türün boyutuda 1Byte dır ve (-128, ...,0,....127) arasında tam sayı saklar.


      Örnek kullanım:          sbyte d = 10;   

- " ushort " : Bu türün boyutu 2Byte dır ve (0,....65535) arasında değer tam sayı saklar.


      Örnek kullanım:          ushort d = 10;  

- " int " : Bu türün boyutu 4Byte dır ve (-2147483648, ...,0,....2147483647) arasında tam sayı saklar.


      Örnek kullanım:          int d = 10;  

- " uint " : Bu türün boyutuda 4Byte dır ve (0,....4294967295) arasında tam sayı saklar.


      Örnek kullanım:          uint d = 10;  

- " long " : Bu türün boyutu 8Byte dır ve (-9223372036854775808, ...,0,....9223372036854775808) arasında tam sayı saklar.


      Örnek kullanım:          long d = 10;  


- " ulong " : Bu türün boyutuda 8Byte dır ve (0,....18446744073709551615) arasında tam sayı saklar.


      Örnek kullanım:          uint d = 10;  




- " float " : Bu türün boyutu 4Byte dır ve

(±1.5*10-45, ..., ±3.4*1038) arasında reel sayı saklar.


      Örnek kullanım: float d = 10.5;


- " double " : Bu türün boyutuda 8Byte dır ve (±5.0*10-324, ..., ±1.7*10308) arasında reel sayı saklar.

      Örnek kullanım: double d = 10.5;


- " decimal " : Bu türün boyutu 16Byte dır ve (±1.5*10-28, ..., ±7.9*1028) arasında reel sayı saklar.


      Örnek kullanım: decimal d = 10.5;


3 Ocak 2016 Pazar

C++ - " Hello World "



 C++ üzerinde ilk uygulamamızı yazacağız.
Uygulama amacı her yazılım dilinde ilk uygulama adeti olan ekrana " Hello World " yazmak olacak :)

Visual Studio ortamından Önce Kodları Yazıp inceleyelim
________________________________________________________________________________

    #include <iostream>
     using namespace std;

     void main( ){

              cout<<" Hello World "<<endl<<endl;


              system("pause");


}

________________________________________________________________________________

Öncelikle Kütüphane ekliyoruz

     #include <iostream>

daha sonra std leri ekliyeceğiz. Bunu her seferinde tek tek eklemek yerine

      using namespace std;

satırı kullanarak tek seferde kullanıyoruz.
(namespace kavramına daha sonra tekrar detaylı değineceğiz.)

daha sonra " main " fonksiyonumuzu ekliyeceğiz.

main fonksiyonu özel bir isimdir. main ismi başka bir fonksiyonda kullanılmaz.

int, void veya dönüş türüne göre isimlendirilip main fonksiyonu çağrılır.

     void main ( ) {  }

uygulama main fonksiyonunun içine yazılır.


    cout<< " Hello World " << endl << endl ;cout fonksiyonunu daha önce iostream kütüphanesi ile anlatmıştık.
burada yazdıracağımız yazının "   " tırnak içinde olması gerektiği görülmektedir. Bu şekilde yazılmazsa bilgisayar bunun bir yazı olduğunu tanıyamaz.

" endl " bir alt satıra geçmesi için yazılmıştır endl<<endl şeklinde Hello World yazdırdıktan sonra iki alt satıra geçiyoruz.

      system("pause")

bu fonksiyon program sonunda sadece programın işlemi bitirince kapanmaması için eklenmiştir.
eğer bu eklenmezse bilgisayar ekrana Hello World yazar ve işini bitirdiği için kapanır.
ekranın altında



     Press any key to continue . . .
yazmasının sebebi bu fonksiyondur.
bunun yerine farklı fonksiyonlar veya yöntemlerde kullanılarak aynı işlev sağlanabilir.

Örneğin bir değişken tanımlanıp daha sonra istenirse bilgisayar kullanıcıdan bilgi bekleyeceği için ekran kapanmayacak ve Press any key to continue . . . yazısıda olmayacaktır.

Şimdi ise Kodları Visual Studio ortamında derleyelim ve çalıştıralım.

main üzerine kodlarımızı yazıyoruz.














daha sonra Build ediyourz















Build işleminden sonra eğer kodlarımızda bir hata varsa Visual Studio Bize bildiriyor.










burada 0 failed yazısı kodlarımızda hata olmadığını gösteriyor.
O halde program Debug işlemine hazır demektir.














Debug altından Star Debugging seçeneği ile program debug ediliyor ve uygulama penceresi ile karşılaşıyoruz.














İşte ilk uygulamamızı yazdık :)

C++ - Kütüphane Ekleme


 Visual Studio Ortamında proje oluşturduktan sonra C++ diline, Kütüphaneleri tanıyarak giriş yapıyoruz.

Kütüphane Nedir ?



 Kütüphaneler hazır fonksiyon içeren derlenmiş dosyalardır. Program içerisinde kullanıma hazır fonksiyonlar içerirler. İhtiyaç dahilinde eklenerek bu kütüphanelerden yararlanacağız.

Bazı C++ Kütüphaneleri ve işlevleri 


cassert : Makrolar ve programın hatalarının ayıklanmasına yardımcı olacak inceleme araçlarını eklemek için gerekli bilgileri içerir. Bu dosyanın eski adı assert.h idi.

cctpye : Karakterlerin bazı özelliklerini test eden fonksiyonların prototiplerini içerir. Ayrıca küçük harfleri büyük harflere çevirmek ya da bunun tam tersini yapmak için kullanılır. Eski adı ctype.h idi.

cfloat : Sistemin, float tipindeki sayılar için limitlerini içerir. Eski adı float.h idi.

climits : İntegral limitlerini içerir. limits.h yerine kullanılır.

cmath : Matematik kütüphane fonksiyonlarının prototiplerini içerir. math.h yerine kullanılır.

cstdio: Standart giriş/çıkış kütüphane fonksiyonlarının prototiplerini ve bu fonksiyonlar tarafından kullanılan bilgileri içerir. stdio.h yerine kullanılır.

cstdlib : Sayıları metne, metni sayılara çeviren, hafızada yer ayıran, rastgele sayılar üreten ve diğer çeşitli faydalı fonksiyonların prototiplerini içerir. stdlib.h yerine kullanılır.

cstring : C tarzı string işleme fonksiyonlarının prototiplerini içerir. string.h yerine kullanılır.

ctime : Zamanı ve tarihi yöneten fonksiyonların prototiplerini içerir. time.h yerine kullanılır.

iostream : Standart giriş/çıkış fonksiyonlarının prototiplerini içerir. iostream.h yerine kullanılır.

iomanip : Veri akışlarını biçimlendirme imkanı sağlayan, akış yönetim fonksiyonlarının prototiplerini içerir. iomanip.hyerine kullanılır.

fstream: Disk üzerindeki dosyalara giriş/çıkış işlemleri yapan fonksiyonların prototiplerini içerir. fstream.h yerine kullanılır.

utility : Bir çok standart kütüphane öncü dosyasının kullandığı sınıfları ve fonksiyonları içerir.

vector, list, deque, queue, stack, map, set, bitset, functional: Bu öncü dosyalar, standart kütüphane taşıyıcılarını sağlayan sınıfları içerir. Taşıyıcılar, programın çalışması sırasında verileri saklamak için kullanılır.

functional : Standart kütüphane algoritmaları tarafından kullanılan sınıf ve fonksiyonları içerir.

memory : Standart kütüphane taşıyıcılarına hafızada yer ayıran standart kütüphane tarafından kullanılan sınıfları içerir.

iterator : Standart kütüphane taşıyıcıları içindeki veriye ulaşmak için kullanılan sınıfları içerir.

algorithm : Standart kütüphane taşıyıcılarındaki bilgi üzerinde işlem yapan fonksiyonları içerir.

exception : İstisnai durumları işleyen sınıfları içeren öncü dosyalardır.

string : Standart kütüphanedeki string sınıfının tanımlanmasını içerir.

sstream : Hafızadan string girişi alan veya hafızaya string gönderen fonksiyonların prototiplerini içerir.

local: Farklı dillerin doğal hallerindeki bilgileri (para birimleri gibi) işlemek için kullanılan sınıf ve fonksiyonları içerir.

limits : Her bilgisayar platformu üzerindeki sayısal veri tiplerinin limitlerini belirleyen sınıfları içerir.

typeinfo : Çalışma anı tip yanıma yapmak için kullanılan sınıfları içerir (çalışma anındaki veri tiplerini belirler).



Peki Kütüphaneyi Nasıl Ekleyeceğiz ?

 Kod Düzeninde Kütüphaneyi ekleyeceğimiz kısma #include diyerek ekleyeceğimiz kütüphaneyi yazacağız.

 Örneğin iostream kütüphanesini eklemek için

         #include <iostream>

şeklinde yazmamız gerekiyor.
kütüphane başında ve sonunda kullanılan < , > sembolleri bu kütüphanenin C++ içerisindeki hazır kütüphane olduğunu gösteriyor.
daha sonra kendi ekliyeceğimiz kütüphanelerde " ," sembollerini kullanacağız.


iostream kütüphanesi
 

 iostream bazı giriş ve çıkış fonksiyonlarını içeren hazır bir kütüphanedir

 iostream kelimesinin başındaki i/o stream bunu temsil eder.

i - input        o - output

Giriş, kullanıcıdan yada dışarıdan istenen veriler için kullanılır.

Çıkış, bilgisayar ortamından ekrana yazdırılan verilen için kullanılır.

Giriş fonksiyonu olarak iostram ;

 " cin " yani C - İn fonksiyonunu

Çıkış fonksiyonu olarak ise

 " cout " yani C - out fonksiyonunu 
barındırır.

bu fonksiyonlar kullanırken

" cout << " , " cin >> " gibi 
operatörler kullanılır.
Kod ortamında çeşitli örneklerle bu fonksiyonları kullanacağız. 



2 Ocak 2016 Cumartesi

C++ - Proje Oluşturma

  C++ programa diline giriş yapmadan önce derleyici ekranını tanıyalım.
Visual Studio 2015 Üzerinde bir proje dosyası oluşturmak için aşşağıdaki adımlar izlenmelidir.
Öncelikle Visual Studio Açıldıktan sonra  Ctrl + Shift + N yada Start bölümünün altındaki New Project veya File/New/Project ile New Project penceresi açılır.



Pencere üzerindeki Templates altından Visual C++ / Win32 / Win32 Console Application seçilir.

Biz Console uygulamarı yazacağımız için bunu seçeceğiz ...


Daha sonra Alt Kısımdaki Name bölümünden Projemize isim veririz.


Daha sonra OK tıklanarak bir sonraki işleme geçiyoruz. Ve Next diyerek ilerliyoruz.

Karşımıza Çıkan pencerede


























Resimdeki gibi Console Application ve Empty project seçeneklerini işaretliyoruz.
Bu Console uygulamsı yapacağımızı ve boş bir proje oluşturmasını istediğimizi belirtmektir.
işlemden sonra Finish denilerek proje oluşturulur.





Artık projemiz oluşturuldu.
Şimdi ise kodları yazacağımız .cpp dosyasını ekleyeceğiz bunun için Source Files Üzerine Sağ Tıklayıp Add/ New item diyoruz..




Bu işlemden sonra 




C++ File (.cpp) seçeneğini seçiyoruz ve alt kısımdan bu dosyaya isim veriyoruz.

Daha sonra Add seçeneğini seçerek işlemi sonlandırıyoruz.

Bundan Sonra Karşımıza Çıkan .cpp belsi kodları yazacağımız pencere olacak.




Proje Oluşturma işlemi bu kadar ,Yapacağımız her yeni uygulamada bir proje dosyası oluşturacağız ve oluşabilecek düzensizliği bu şekilde engelleyip bizim için daha rahat bir çalışma ortamı sağlayacağız.
Bu sebeble Projelere uygun isimler belirlenmeli ve düzenli bir şekilde saklanmalıdır.



C++ - Başlangıç


 Merhaba,


C++ programlama dili üzerine ders notlarımı bu blog altında tutmaya karar verdim.

Bu blog sayfasındaki amaç öğrendiğim bilgileri kaydetmek ve yeni başlayan arkadaşlara yol göstermektir.

Programlama dilleri kullanım yapısına göre genel olarak üç seviyede incelenir.
 - Düşük Seviyeli Diller (makina ve assembly dilleri)

 - Orta Seviyeli Diller (C/C++ programlama dili)
 - Yüksek Seviyeli Diller (Basic, Fortan,Pasval vb.)


C++ Dili Hakkında


 C++ programlama dili hızın gerekli görüldüğü yerlerde, işlemci gücünün çoğunu donanıma bağlamak için mükemmel bir çözümdür.
Ayrıca bu dil C dilinin devamı niteliğinde olup günümüzde halen en popüler programlama dilleri arasındadır.
C sadece yapısal programlamaya izin verirken, C++ nesne yönelimli programlamaya imkan verir.

C++ dili makineye en yakın dil olarak görülmektedir.


Başlangıç

 Tüm blog boyunca Visual Studio 2015 Derleyicisi kullanacağım.
isteğe döre farklı bir derleyicide tercih edilebilir.(Dev C++,Turbo c++ vs..)

  - Visual Studio bu adresten indirilebilir.

İlginizi Çekebilir

        -  2015 yılında bilmeniz gereken 15 programa listesi ..