C++ Dersleri-Genel Uygulamalar 2

Ör 1:

C++ dili kullanılarak matris ve fonksiyonlardan yararlanılarak bazı işlemler gerçekleştirilmek istenmektedir. Program çalıştığında kullanıcı menüsü ekrana gelmelidir. Gelen ekrandaki menüler Türkçe karakteri desteklemelidir.

Menu

ÖDEV KURALLARI:

–Kullanılacak matrisler 4×4’lük olmalıdır ve 0-4 arası rasgele sayılarla doldurulmalıdır.

–Menülerde istenilen kısımlar fonksiyon kullanılarak gerçekleştirilmelidir.

— İlk anda kullanılacak matrisler ana programda tanımlanmalı ve fonksiyona ana programdan gönderilmelidir. Yazdırma dahil tüm işlemler fonksiyon kullanılarak gerçekleştirilmelidir. Ana programda herhangi bir yazdırma işlemi yapılmayacaktır.

–İşlem gerçekleştirildiğinde menü otomatik olarak tekrar çağrılmalıdır. “Çıkış” menüsü seçilmedikçe her durumda menü çağrılacaktır.

–Ödevde kullanılacak fonksiyonların nasıl kullanılacağı aşağıda verilmiştir. Bu kullanıma göre yapmanız istenmektedir.

Okumaya devam edin C++ Dersleri-Genel Uygulamalar 2

C++ Dersleri 5 –Diziler

C++ Dersleri 5 –Diziler

Aynı tür veri tipleri bir arada tutan değişkenler kümesidir.
kullanımı :

  • veri_tipi dizi_adı[n]
  • veri_tipi dizi_adı[x][y]
  • veri_tipi dizi_adı[x][y][z]…
int matris[10];
double matris2[3][2];// 3 satır 2  sütun olan dizi

Ör: Matrisi yazdırma ve transpozunu yazırma //transpoz : satırlar sütun sütunlar satır olur

// TestCpp.cpp : Defines the entry point for the console application.
//forumkod.com && ibrahimkaya.net

#include "stdafx.h"
#include "iostream"
#include "clocale"
#include "ctime"
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(LC_ALL,"türkish");
	srand(time(NULL));

	int matris[3][2],trp[2][3];//trp : transpoz matris

	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 2; j++)
		{
			matris[i][j] = rand()%10;
			trp[j][i] = matris[i][j];
		}
	}

	cout<<"\nMatris"<<endl;
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 2; j++)
		{
			cout<<matris[i][j]<<"\t";
		}
		cout<<endl;
	}

	cout<<"\nTranspozu"<<endl;
	for (int i = 0; i < 2; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			cout<<trp[i][j]<<"\t";
		}
		cout<<endl;
	}

	system("pause");
	return 0;
}

C++ Dersleri 4 –Fonksiyonlar(Alt Programlar)

C++ Dersleri 4 –Fonksiyonlar(Alt Programlar)

C++ da fonksiyonlar kullanmadanda program yazılabilir ancak fonksiyon kullanırsa sadece gerekli olan(çağrılan) fonksiyon çalışacağından  daha verimli(performanslı) programlar yazılır.Program gereksiz yere çalışmaz.

Kullanım şekli :

Erişim_denetleyicisi  döndürdüğü_değer_tipi  fonksiyonun_ismi(para
                                                       metre_listesi)

{

komutlar;

return deger;// döndürdüğü deger tipi  void ise yazılmaz.
}

>>Erişim denetleyicisi

  1. Public : Tüm paket içlerinde ve dışlarında herhangi bir engel olmaksızın erişilebilir ve çağırılabilir(Genel).
  2. Private : Sadece tanımlandığı paket içindeki sınıf içinde erişilebilir ve kullanılabilir(Özel).
  3. protected : tanımlandığı class’ın içinde ve o class’tan türetilmiş diğer class’ların içinde erişilebilir.fakat farklı pakette erişim yoktur.
  4. Friendly : bulunduğu assembly’nin (Dll veya Exe dosyası) içinde erişilebilirdir.

cpperisimdenetleyiciler

>>Döndürdüğü Değer Tipi

  1. int :
  2. char :
  3. double :
  4. float :
  5. String
  6. vs. vs. deger tipleri …
  7. void : değer döndürmeyecekse kullanılır.

>>Prametre Listesi

Fonksiyonda kullanılan değişkenler yer alır.Eğer hiçbir değişken yer almayacaksa parametre boş bırakılabilir.

Foksiyonun işlevini gerçekleştirirken kullanacağı değerlerin fonksiyonu çağıran program kodu aracılığıyla

geçilebilmesi için tanımlanan bir arayüzdür. Bu arayüzde fonksiyona geçilecek parametreler tipleri ile sıralanır.

Altprogramı main fonksiyonundan sonra tanımlayacaksak ön bildirim yapmamız gerekir.

//function Ön bildirim kullanma
void func(sadece_parametrenin_veri_tipi);//ön bildirim

void main()//ana fonksiyon

{

     func();

}

void func(parametre)//function

{

     ;

}
//function Ön bildirim yapmadan kullanma

void func(parametre)
{
     ;
}

void main()
{
     func(parametre);
}

Ör: 

// TestCpp.cpp : Defines the entry point for the console application.
//forumkod.com && ibrahimkaya.net

#include "stdafx.h"
#include "iostream"
#include "clocale"//Türkçe karakter destek komutun kütüphanesi
using namespace std;

void Dogru()
{
	int boy;
	cout<>boy;
	for(int i=0; i<boy; i++)
		cout<<"*"<<endl;
}

void dikÜcgen()
{
	int a,b;
	cout<>a;

	for (int i = 0; i < a; i++)
	{
		for (int j = 0; j <= i; j++)
		{
			cout<<"*";
		}
		cout<<endl;
	}
}

void Dikdörtgen()
{
	int en,boy;
	cout<>en;
	cout<>boy;

	for(int i = 0; i < boy; i++)
	{
		for (int j = 0; j < en; j++)
		{
			cout<<"*";
		}
		cout<<endl;
	}
}

int Toplama()
{
	int sayi;
	
	int toplam = 0,sayac = 0;
	cout<>sayi;
	toplam += sayi;
	while(sayi != 0)
	{
		cin>>sayi;
		toplam += sayi;
		
		
		sayac++;
	}
	cout<<sayac<<"adet sayının toplamı"<<endl;
	return toplam;
}


int Cıkarma()
{
	int sayi;
	
	int fark = 0,sayac = 0;
	cout<>sayi;
	fark -= sayi;
	while(sayi != 0)
	{
		cin>>sayi;
		fark -= sayi;
		
		
		sayac++;
	}
	cout<<sayac<<"adet sayının Farkı"<<endl;
	return fark;
}

double Carpma(int sayi)
{
	
	
	int sayac = 0;
	double carp = 1;
	cout<>sayi;
	carp *= sayi;
	while(sayi != 0)
	{
		cin>>sayi;
		carp *= sayi;
		
		
		sayac++;
	}
	cout<<sayac<<"adet sayının Farkı"<<endl;
	return carp;
}


double Bölme(int);//Önizleme

int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(LC_ALL,"türkish");//Türkçe karakter destek komutu
	cout<<"~~~~Geometrik Çizimler~~~~\n1-Doğru\n2Dikdörtgen\n3-DikÜçgen\n";
	cout<<"\n\n\nveya";
	cout<<"\n\n\n~~~~Matematiksel işlemler\1-Toplama\n2-Çıkarma\n3-Çarpma\n4-Bölme~~~~\n";
	char secim;
	cout<>secim;

	while(secim == 'g')
	{
		cout<>devam;

		switch(devam)
		{

		case 1:
			Dogru();
			break;

		case 2:
			Dikdörtgen();
			break;

		case 3: 
			dikÜcgen();
			break;

		default:cout<<"nothing";
		}
	}


	while(secim == 'm')
	{
		cout<>devam;

		switch(devam)
		{

		case 1:
			cout<<Toplama();
			break;

		case 2:
			Cıkarma();
			break;

		case 3: 
                        int x;
			Carpma(x);//bu şekilde paremetreli olarak da yazılabilir.Parametresi -> x
			break;

		case 4: 
                        int y;
			Bölme(y);
			break;

		default:cout<<"nothing";
		}
	}


	system("pause");
	return 0;
}

double Bölme(int sayi)//Main ana fonksiyondan sonra kullandık

{
	int sayi;
	
	int sayac = 0;
	double böl = 1;
	cout<>sayi;
	böl /= sayi;
	while(sayi != 0)
	{
		cin>>sayi;
		böl /= sayi;
		
		
		sayac++;
	}
	cout<<sayac<<"adet sayının Farkı"<<endl;
	return böl;
}

C++ Dersleri – Genel Uygulamalar1

C++ Dersleri – Genel Uygulamalar1

 Ör 1: 

gu1

 Ör 2: 

gu2

 Ör 3: 

gu3

 Ör 4: 

gu4

 Ör 5: 

// ForumkodTestCp.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "iostream"
#include "clocale"
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	//Forumkod.com & ibrahimkaya.net
	//Kaç yaşınınızda olduğunu bulan program 

	setlocale(LC_ALL,"turkish");
	int bgun,bay,byıl;// b : bugün
	int gun,ay,yıl;
	cout<<"~~~~Bugünün tarihini Girin~~~~"<<endl;
	cout<>bgun;
	cout<>bay;
	cout<>byıl;

	cout<<"\n\n"<<endl;
	cout<<"~~~~Doğum tarihini Girin~~~~"<<endl;
	cout<>gun;
	cout<>ay;
	cout<>yıl;

	if(bgun>gun)
		gun = bgun-gun;
	else
	{
		gun = 30-(gun-bgun);
		bay--;
	}

	if(bay > ay)
		ay = bay-ay;
	else
	{
		ay = 12-(ay-bay);
		yıl--;
	}

	yıl = byıl-yıl;

	cout<<endl;
	cout<<yıl<<" yıl  "<<ay<<" ay  "<<gun<<" gün  "<<endl<<
                    "Mãsallah Nice Senelere ...."<<endl;

	system("pause");

}

YaşHesabı.exe Download

 

C++ Dersleri 3 – Karar ve Döngü Yapıları

C++ Dersleri 3 – Karar ve Döngü Yapıları

Her programlamada geçerli olan karar ve döngü yapıları göreceğiz.

  Karar yapıları

  • if
  • switch

Döngü yapıları

  • for
  • while
  • do while

        İf Kullanımı

Türkçe karşılığı eğer anlamında olan karar komutudur. elsede başka anlamındadır.bir programlamada başka bir ifade varsa else,ifadeler varsa else if kullanılır.

if(koşul)
     ifade;

if(koşul)
     ifade1;
else
     ifade2;

if(koşul1)
     ifade1;
else if(koşul2)
     ifade2;
...
...
...
else 
     ifadeN;

! Eğer  bir komut(if,switch,for,vb.) daha fazla komut barındırırsa süslü parantez içine yazılması gerekir
ör:

if(koşul)
{
 komut1;
 komut2;
}

     Switch Kullanımı

Türkçe karşılığı anahtar olan karar komutudur.switch içine bu yüzden sadece anahtar kelime olan koşul ifadesi yazmamız gerekir

switch(koşul)
{
 case1: ifade1; break;
 case1: ifade2; break;
 default: ifade3; break;
}

!Switch kullanımında caselerin sonuna break yazmazsak program çalışır fakat diğer caselere de bakar ve onları çalıştırır.

 

        For Kullanımı

Döngü komutudur.Başlangıç ve sonu bilene programlarda kullanılma tercihendir.Döngü kurulabilmesi için bir başlangıç ,sart ve  sonu olmalı ve ilerleyebilmesi için artım/eksi operatörü(++/–) kullanılmalıdır.

for(int i = 0; i< n; i++)
    ifade;

        While Kullanımı

Başlangıcı ve sonu bilinmeyen ancak bir koşul ifadesiyle döngülerde kullanılır.

 while(koşul)
 {
   ifade;
   artım;
 }

        do While Kullanımı

En az bir kere çalışan başlangıcı ve sonu bilinmeyen ancak bir koşul ifadesiyle döngülerde kullanılır.

 do
 {
   ifade;
   artım;
 }while(koşul)

C++ Dersleri 2 – Matematiksel ve Mantıksal İşlemler & Operatörler

C++ Dersleri 2 – Matematiksel ve Mantıksal İşlemler & Operatörler

C++ da matematiksel işlemler
toplama -> +
Çıkarma -> –
Çarpma -> *
Bölme -> /
Mod -> %

fk3

Mantıksal işlemler

ve(and) -> &
veya(or) -> |
değil(not) -> ~
özel veya(xor) -> ^

fk4

Operatörler genellikle karşılaştırma ifadelerinin(if deyimi) içine yazılır

mantıksal operatörler

eşittir : ==
eşit değil(not) : ! =
ve(and) : &&
veya(or) : | |
küçük : <
büyüktür : >

/*küçük eşittir : <=
büyük eşittir : >=
*/

if(sayi1 &amp;&amp; sayi2 == sayi1 || sayi2 )
ifade1;
else if((sayi1 &gt; sayi2) &lt;= (sayi1 &lt;= sayi2))
ifade2;
else
ifade3;
switch(devam == 'e')

for(int i =0 ;i&lt;a.lenght; i++)

while(secim == '1')