印刷
カテゴリ: C++ Dersleri
参照数: 5702

C+++ bir programlama dili olduğuna göre mutlaka mantıksal operatörler kullanılarak programlama yapmamız gereklidir. Mantıksal operatörler kullanarak C++ derleyicisi programımızı derlediğinde kodumuz bilgisayarın anlayacağı dile dönecek ve bu operatörlerin kullanılış yerine göre bilgisayar işlemciside bulunan aritmetik birimlere bu komutlar aktarılacak ve bellekte ilgili işlemin yapılması sağlanacaktır. Şimdi bu oparatörlerin nasıl kullanıldığını inceleyelim ve kendimize switc case komutu kullanarak basit bir hesap makinası yapalım. Switch case yapısı kullanıcı tarafından belirlenen bir komut listesinden komut seçilip çalıştırılmasını sağlar. Aşşağıdaki örneğimizi inceleyelim.

#include <iostream>
//standart giriş çıkış kütüphanesi
#include <stdlib.h>
//stdlib komutu programın kapanmasını engelleyen pause komutunu çalıştıran sınıfları içerir
#include <math.h>
//karakök faktöriyel pi sayısı rastgele sayı gibi bazı matematik kütüphanesi
using namespace std;
int main(int argc, char **argv)

{
int n;//kullanıcıdan alınmak üzere tanımlanan n tamsayı değişkeni.
float a,b;//hesaplanmak için tanımlanan a ve b reel sayısı.
	cout<<"bir sayi giriniz"<<endl;//ekran çıktısıve bir satır atla
	cin>>a;//a sayısı cin komutu ile bekleniyor
	cout<<"bir sayi daha giriniz"<<endl;//ekran çıktısıve bir satır atla
	cin>>b;//b sayısı cin komutu ile bekleniyor
	cout<<"Bir islem seciniz:"<<endl<<endl;
	cout<<"1- TOPLAMA"<<endl;
	cout<<"2- CIKARMA"<<endl;
	cout<<"3- CARPMA"<<endl;
	cout<<"4- BOLME"<<endl<<endl;
	//coutlar hep ekran çıktısıdır. endl bir satır atlar.
	cin>>n;	//kullanıcıdan n değişkeni bekleniyor.
switch(n)	//switch komutu parametresi n değişkeni olduğu için 
			//klavyeden girilmiş olan seçim çalıştırılacak.
	{
		case 1:		cout<<"Sonuc="<< a+b <<endl;break;
		case 2:		cout<<"Sonuc="<< a-b <<endl;break;
		case 3:		cout<<"Sonuc="<< a*b <<endl;break;
		case 4:		cout<<"Sonuc="<< a/b <<endl;break;
		default:	cout << "HATALI SECIM"<< endl;
		//default beklenmeyen seceneklerde öntenımlı olarak çalıştırılır. 
	}
system("PAUSE"); //artık programın kapanmasını bu kodla bekletebiliriz.
}

Örneğimizde çok basit bir hesap makinası kaynak kodu var. kodun açıklamasız hali aşşağıdaki gibidir.

#include <iostream>
#include <stdlib.h>
#include <math.h>
using namespace std;
int main(int argc, char **argv)

{
int n;
float a,b;
	cout<<"bir sayi giriniz"<<endl;
	cin>>a;
	cout<<"bir sayi daha giriniz"<<endl;
	cin>>b;
	cout<<"Bir islem seciniz:"<<endl<<endl;
	cout<<"1- TOPLAMA"<<endl;
	cout<<"2- CIKARMA"<<endl;
	cout<<"3- CARPMA"<<endl;
	cout<<"4- BOLME"<<endl<<endl;
	cin>>n;
switch(n)
	{
		case 1:		cout<<"Sonuc="<< a+b <<endl;break;
		case 2:		cout<<"Sonuc="<< a-b <<endl;break;
		case 3:		cout<<"Sonuc="<< a*b <<endl;break;
		case 4:		cout<<"Sonuc="<< a/b <<endl;break;
		default:	cout << "HATALI SECIM"<< endl;
	}
system("PAUSE");
}

Biraz da alıştırma verelim her aşşağıdaki örnekte her satırın çıktısını veren bir kaynak kod mevcuttur kullandığınız C++ IDE sinde derleyip çalıştırın ve çıktıyı görüp denemeler yapın. C++ dilinde esnek hesaplama değişkene yeni değer verme kullanım şekilleri mevcuttur. Tabloda ise kullanımı aynı olan uzun kod yer alıyor.

expressionequivalent to...
y += x; y = y + x;
x -= 5; x = x - 5;
x /= y; x = x / y;
price *= units + 1; price = price * (units+1);
x++ or ++x x=x+1
x-- or --x x=x-1

 

#include <iostream>
#include <stdlib.h>
#include <math.h>
using namespace std;
int main(int argc, char **argv)
{
cout << "ALISTIRMALAR"	<< endl;
typedef float yenifloatadi; //float tpi adı değişti
typedef yenifloatadi reel; //tekrar değişti :D
reel x,y,z,sayia,sayib; // sayılara bellekte yer ayrıldı.
x=y=z=1;
sayia=sayib=2;
cout <<"x: "<<x<<" y: "<<y<<" z: "<< z <<" sayia: "<<sayia<<" sayib: "<<sayib<<endl;
y = 2 + (x = 5);
cout <<"x: "<<x<<" y: "<<y<<" z: "<< z <<" sayia: "<<sayia<<" sayib: "<<sayib<<endl;
x = 5;
cout <<"x: "<<x<<" y: "<<y<<" z: "<< z <<" sayia: "<<sayia<<" sayib: "<<sayib<<endl;
y = 2 + x;
cout <<"x: "<<x<<" y: "<<y<<" z: "<< z <<" sayia: "<<sayia<<" sayib: "<<sayib<<endl;
x = y = z = 5;
cout <<"x: "<<x<<" y: "<<y<<" z: "<< z <<" sayia: "<<sayia<<" sayib: "<<sayib<<endl;
x = 11 % 3;
cout <<"x: "<<x<<" y: "<<y<<" z: "<< z <<" sayia: "<<sayia<<" sayib: "<<sayib<<endl;
y += x;
cout <<"x: "<<x<<" y: "<<y<<" z: "<< z <<" sayia: "<<sayia<<" sayib: "<<sayib<<endl;
y = y + x;
cout <<"x: "<<x<<" y: "<<y<<" z: "<< z <<" sayia: "<<sayia<<" sayib: "<<sayib<<endl;
x -= 5;
cout <<"x: "<<x<<" y: "<<y<<" z: "<< z <<" sayia: "<<sayia<<" sayib: "<<sayib<<endl;
x = x - 5;
cout <<"x: "<<x<<" y: "<<y<<" z: "<< z <<" sayia: "<<sayia<<" sayib: "<<sayib<<endl;
x /= y;
cout <<"x: "<<x<<" y: "<<y<<" z: "<< z <<" sayia: "<<sayia<<" sayib: "<<sayib<<endl;
x = x / y;
cout <<"x: "<<x<<" y: "<<y<<" z: "<< z <<" sayia: "<<sayia<<" sayib: "<<sayib<<endl;
sayia *= sayib + 1;
cout <<"x: "<<x<<" y: "<<y<<" z: "<< z <<" sayia: "<<sayia<<" sayib: "<<sayib<<endl;
system("PAUSE");
}

Bu kod üzerinde alıştırma yapabilirsiniz iyi çalışmalar.