BİLGİSAYAR PROGRAMLAMA -I
DEV C++ DERS ÖRNEK NOTLARI
GÖKALP ÇINARER
Klavyeden girilen iki sayıyı toplayan ve gösteren C++ kodları :
#include <iostream>
using namespace std;
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
int s1,s2,toplam;
cout<<"1. Sayıyı Girin : ";
cin>>s1;
cout<<"2. Sayıyı : ";
cin>>s2;
toplam=s1+s2;
cout<<"Sayıların Toplamı : "<<toplam;
}
Klavyeden girilen 3 sayıyı toplayan ve ortalamasını alarak sonuçları ekrana yazdıran programın
algoritmasını ve akış diyagramını tasarlayınız.
Şimdi bu örneği çözmeden önce şöyle bir düşünelim. Bu problemin çözümü için öncelikle elimizde
verilerin olması gereklidir. yani 3 adet sayı girilmesi gerekli. sayılar girildikten sonra sayılar toplanacak
çıkan toplam 3 e bölünüp ortalaması bulunacak ve sonuçlar ekrana yazdırılacak. Şimdi bu
düşündüklerimizi uygulayalım…
1. Değişkenler
x=Birinci sayı
y=ikinci sayı
z=üçüncü sayı
top=sayıların toplamı
ort=sayıların ortalaması
Şimdi değişkenlerimizi yazdık. Artık adım adım kafamızda tasarladığımız basamakları algoritma içerisinde
yazalım.
Adım 1-Başla
Adım 2-Birinci sayıyı oku ve x ‘ e kaydet.
Adım 3-İkinci sayıyı oku ve y ‘ ye kaydet.
Adım 4-Üçüncü sayıyı oku ve z’ ye kaydet.
Adım 5-top=x+y+z işlemini yap.
Adım 6-ort=top/3 işlemini yap.
Adım 7-top ve ort değerlerini ekrana yazdır.
Adım 8-Bitir
Şimdide algoritmadaki adımları akış diyagramına aktaralım.
Bir kırtasiye de kalem defter ve silgi satışı yapılmaktadır. Birim fiyatları ve kaç adet alındığını klavyeden
girilerek bir müşterinin ne kadar ödemesi gerektiğini hesaplayan programın algoritmasını ve akış
diyagramını çiziniz.
Değişkenler
Ürünlerin Satış Fiyatı
Kalemin Fiyatı : k
Defterin Fiyatı: d
Silginin Fiyatı: s
Alınan Ürün Miktarları
Kalem Miktarı: k1
Defter Miktarı: d1
Silgi Miktarı: s1
Toplam Ücret: t
Algoritma
Adım 1. Başla
Adım 2. Kalemin Fiyatını giriniz. (k)
Adım 3. Defterin Fiyatını giriniz.(d)
Adım 4. Silginin Fiyatını giriniz.(s)
Adım 5. Alacağımız Kalem miktarı(k1)
Adım 6. Alacağımız Defter miktarı(d1)
Adım 7. Alacağımız Silgi miktarı(s1)
Adım 8. Ödenecek toplam ücreti hesapla t:=(k*k1)+(d*d1)+(s*s1)
Adım 9. t değerini ekrana yaz.
Adım [Link]
Akış Diyagramı
Klavyeden girilen vize notunun %40′ ını final notunun %60 ‘ ını alarak ortalama notu bulduran
programın algoritmasını ve akış diyagramını tasarlayınız.
Değişkenler
Vize notu: v
Final notu: f
Ortalaması : ort
Algoritma
adım 1. Başla
adım 2. Vize ve final notlarını klavyeden giriniz. (v,f)
adım 3. Ortalamayı hesapla ort=(v*0.4)+(f*0.6)
adım 4. Ort değerini ekrana yaz.
adım 5. Bitir
Akış Diyagramı
Klavyeden girilen 2 sayının ortalamasını hesaplayan C++ kodları :
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
int s1,s2,ort;
cout<<"1. Sayıyı Girin : ";
cin>>s1;
cout<<"2. Sayıyı : ";
cin>>s2;
ort=(s1+s2)/2;
cout<<"Sayıların Ortalaması : "<<ort;
Girilen 3 yazılı notunun ortalamasını hesaplayan ve gösteren C++ kodları :
#include <iostream>
using namespace std;
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
int y1,y2,y3;
double ort;
cout<<"1. Yazılıyı Girin : ";
cin>>y1;
cout<<"2. Yazılıyı Girin : ";
cin>>y2;
cout<<"3. Yazılıyı Girin : ";
cin>>y3;
ort=(double)(y1+y2+y3)/3;
cout<<"Ortalama : "<<ort;
Girilen yazılı ortalamasını hesaplayarak ortalama 50′ den küçükse Kaldı, değilse Geçti yazdıran C++
kodları:
#include <iostream>
using namespace std;
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
int y1,y2,y3;
double ort;
cout<<"1. Yazılıyı Girin : ";
cin>>y1;
cout<<"2. Yazılıyı Girin : ";
cin>>y2;
cout<<"3. Yazılıyı Girin : ";
cin>>y3;
ort=(double)(y1+y2+y3)/3;
cout<<"Ortalama : "<<ort<<endl;
if(ort<50)
cout<<"Kaldı";
}
else
cout<<"Geçti";
Girilen sayının Tek yada Çift olduğunu gösteren C++ kodları :
#include <iostream>
using namespace std;
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
int sayi;
cout<<"Sayıyı Girin : ";
cin>>sayi;
if(sayi%2==0)
cout<<"Girilen sayı çift";
else
cout<<"Girilen sayı tek";
}
C++ Girilen sayının 3′ e ve 5′ e tam bölünüp bülünmediğini gösteren C++ kodları :
#include <iostream>
using namespace std;
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
int sayi;
cout<<"Sayıyı Girin : ";
cin>>sayi;
if(sayi%3==0 && sayi%5==0)
cout<<"Girilen sayı 3' e ve 5'e tam bölünüyor.";
else
cout<<"Girilen sayı 3' e ve 5'e tam bölünmüyor.";
C++ Kullanıcının girdiği sayı 0-100 arasındaysa geçerli, 0-100 arasında değilse Geçersiz sayı yazdıran C++
Kodları .
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
int sayi;
cout<<"Sayıyı Girin : ";
cin>>sayi;
if(sayi%3>=0 && sayi<=100)
cout<<"Geçerli sayı";
else
cout<<"Geçersiz sayı.";
C++ For döngüsü ile 1-100 arası sayıları ekranda yazdıran C++ Kodları :
#include <iostream>
using namespace std;
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
for(int i=1;i<=100;i++)
cout<<i<<endl;
}
}
1-100 arası çift sayıları listeleyen C++ Kodları :
#include <iostream>
using namespace std;
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
for(int i=1;i<=100;i++)
if(i%2==0)
cout<<i<<endl;
For Döngüsü kullanarak kullanıcıdan 5 sayı isteyen ve girilen bu sayıların toplamını ekranda gösteren
C++ Kodları :
#include <iostream>
using namespace std;
int main()
{
int toplam=0;
int sayi;
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
for(int i=1;i<=5;i++)
cout<<i<<". Sayıyı Girin : ";
cin>>sayi;
toplam=toplam+sayi;
cout<<"Girilen 5 sayının toplamı : "<<toplam;
Kullanıcıdan 10 tane sayı alarak bu sayıların ortalamasını gösteren C++ Kodları :
#include <iostream>
using namespace std;
int main()
int toplam=0;
int sayi;
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
for(int i=1;i<=10;i++)
cout<<i<<". Sayıyı Girin : ";
cin>>sayi;
toplam=toplam+sayi;
cout<<"Girilen 5 sayının toplamı : "<<toplam/10;
While Döngüsü kullanarak Faktoriyel Hesaplama
#include<iostream>
using namespace std;
int main()
int a,i,toplam;
cout<<"****FAKTORIYEL HESAPLAMA****"<<endl;
cout<<endl;
cout<<"Faktoriyeli alinacak sayiyi giriniz: ";
cin>>a;
i=1;
toplam=1;
while(i<a)
i++;
toplam=toplam*i;
cout<<endl;
cout<<a<<"!= "<<toplam<<endl;
cout<<endl;
For Döngüsü kullanrak Faktoriyel Hesaplama Örneği:
#include<iostream>
using namespace std;
void main()
int a;
int i;
int toplam=1;
cout<<"****FAKTORIYEL PROGRAMI****"<<endl;
cout<<endl;
baslat:
cout<<"Faktoriyeli Alinacak Sayiyi Giriniz: ";
cin>>a;
cout<<endl;
if(a>=0)
for(i=1;i<=a;i++)
toplam=toplam*i;
else
cout<<"Negatif sayi girdiniz. Lutfen pozitif sayi giriniz."<<endl;
cout<<endl;
cout<<endl;
goto baslat;
cout<<endl;
cout<<a<<"!="<<toplam<<endl;
cout<<endl;
Switch kullanarak 4 işlem yapan basit bir hesap makinesi C++ Kodları :
#include <iostream>
using namespace std;
int main()
cout<<"******************************"<<endl;
cout<<"* *"<<endl;
cout<<"* HESAP MAKINESI *"<<endl;
cout<<"* *"<<endl;
cout<<"* Toplama Icin + kullaniniz *"<<endl;
cout<<"* Cikarma Icin - kullaniniz *"<<endl;
cout<<"* Carpma Icin * kullaniniz *"<<endl;
cout<<"* Bolme Icin / kullaniniz. *"<<endl;
cout<<"* *"<<endl;
cout<<"* *"<<endl;
cout<<"******************************"<<endl;
cout<<endl;
baslat:
double sayi1,sayi2,sonuc;
char islem;
cout<<"Birinci sayiyi giriniz: ";
cin>>sayi1;
cout<<endl;
cout<<"Islemi giriniz: ";
cin>>islem;
cout<<endl;
cout<<"Ikinci sayiyi giriniz: ";
cin>>sayi2;
cout<<endl;
switch (islem)
case '+':
sonuc = (sayi1+sayi2);
cout<<"Toplamanin sonucu: "<<sonuc<<endl; break;
case '-':
sonuc = (sayi1-sayi2);
cout<<"Cikarmanin sonucu: "<<sonuc<<endl; break;
case '*':
sonuc = (sayi1*sayi2);
cout<<"Carpmanin sonucu: "<<sonuc<<endl; break;
case '/':
sonuc = (sayi1/sayi2);
cout<<"Bolmenin sonucu: "<<sonuc<<endl; break;
1 ile Kullanıcının girdiği sayıya kadar olan sayılar içerisinde bulunan asal sayıları listeleyen C++ Kodları :
#include <iostream>
using namespace std;
int main()
int sayi;
cout << "Bir sayi girinizr: ";
cin >> sayi;
for (int sayac=2; sayac<=sayi; sayac++)
int asal, test;
test = sayac;
asal = 1;
while (test--> 2)
if ((sayac % test) == 0)
asal = 0;
if (asal == 1)
cout<< sayac << " bir asal sayidir!\n";
return 0;
Girilen sayının asal mı? Asal değil mi? bulan C++ Kodları :
#include<iostream>
using namespace std;
int main()
int sayi;
int sayac=0;
cout<<"BIR SAYI GIRINIZ:";
cin>>sayi;
if(sayi<=1){
cout<<"ASAL DEGILDIR."<<endl;
else{
for(int j=2; j<sayi; j++)
{
if(sayi % j == 0)
sayac++;
break;
if(sayac == 0)
cout<<"ASALDIR."<<endl;
else
cout<<"ASAL DEGILDIR."<<endl;
0-100 arası girilen puanı 0-5 arası nota çeviren C++ Kodları :
#include <iostream>
using namespace std;
//[Link]
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
int puan;
cout<<"Puanı Girin : ";
cin>>puan;
if(puan>100)
cout<<"Geçersiz.";
else if(puan>84)
cout<<"5";
else if(puan>69)
cout<<"4";//[Link]
else if(puan>59)
cout<<"3";
else if(puan>49)
cout<<"2";
else if(puan>=0)
cout<<"1";
else
{
cout<<"Geçersiz.";//[Link]
Klavyeden girilen fiyat değerine % 18 kdv ekleyip kdvli fiyatını bulan ve ekrana yazan program:
#include <iostream>
using namespace std;
int main()
float fiyat,kdv_fiyat;
cout<<"Fiyati Girin : ";
cin>>fiyat;
kdv_fiyat=fiyat+(fiyat*18/100); //kdv_fiyat=fiyat*1,18;
cout<<"KDV' li Fiyat : "<<kdv_fiyat;
Klavyeden girilen sayıya kadar olan sayılar içinde tek olanları yazdıran C++ kodları:
#include <iostream>
using namespace std;
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
for(int i=1;i<=100;i++)
if(i%2!=0)
cout<<i<<endl;
C++ klavyeden girilen fiyat değerine % 18 kdv ekleyip kdvli fiyatını bulan ve ekrana yazan program
#include <iostream>
using namespace std;
int main()
float fiyat,kdv_fiyat;
cout<<"Fiyati Girin : ";
cin>>fiyat;
kdv_fiyat=fiyat+(fiyat*18/100); //kdv_fiyat=fiyat*1,18;
cout<<"KDV' li Fiyat : "<<kdv_fiyat;
}
DİZİ ÖRNEKLERİ
10 elemanlı isimler isminde metin türünden bir dizi oluşturan C++ Kodları.
#include <iostream>
using namespace std;
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
string isimler[10];
10 elemanlı sayilar isminde bir dizi oluşturan C++ Kodları.
#include <iostream>
using namespace std;
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
string sayilar[10];
5 elemanlı isimler dizisine değer atayan C++ Kodları.
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
string isimler[5];
isimler[0]="Ali";
isimler*1+="Ayşe";
isimler[2]="Hasan";
isimler[3]="Kemal";
isimler[4]="Fatma";
Beş elemanlı isimler dizisine isimler ekleyerek 3 nolu elemanı ekranda görüntüleyen C++ Kodları.
#include <iostream>
using namespace std;
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
string isimler[5];
isimler[0]="Ali";
isimler*1+="Ayşe";
isimler[2]="Hasan";
isimler[3]="Kemal";
isimler[4]="Fatma";
cout<<isimler[2];
}
Beş elemanlı tamsayı türünde sayılar dizisi oluşturarak For Döngüsü yardımıyla kullanıcıdan sayı girişi
yapmasını sağlayan C++ Kodları.
#include <iostream>
using namespace std;
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
int sayilar[5];
for(int i=0;i<5;i++)
cout<<i+1<<". Sayı : ";
cin>>sayilar[i];
Eleman sayısını kullanıcının belirlediği n elemanlı sayısal bir dizi oluşturarak kullanıcıdan bu dizi içine
değer girmesini isteyen C++ Kodları.
#include <iostream>
using namespace std;
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
int n;
cout<<"Eleman Sayısını Gir : ";
cin>>n;
int sayilar[n];
for(int i=0;i<n;i++)
cout<<(i+1)<<". Sayı : ";
cin>>sayilar[i];
10 personele ait numara,isim,telefon ve email bilgileri ayrı ayrı dizilerde tutan ve aranan numaraya
göre ilgili kişinin bilgilerini ekranda gösteren C++ Kodları. (Arama For Döngüsünde yapıldı.) :
#include <iostream>
using namespace std;
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
string aranan;
int no=-1;
string ogrno[] = { "101", "102", "103", "104", "105", "106", "107", "108", "109", "110" };
string isim[] ={"Ali","Veli","Hasan","Kemal","Can","Ahmet","Mehmet","Enis","Bilal","Burak"};
string telefon[] = {"111","222","333","444","555","666","777","888","999","1000"};
string mail[] = { "aaaa@[Link]", "bbbbb@[Link]", "cccc@[Link]", "dddd@[Link]",
"eeee@[Link]", "ffff@[Link]", "gggg@[Link]", "hhhh@[Link]", "iiii@[Link]", "jj@[Link]" };
cout<<"Kişi No'yu girin: ";
cin>>aranan;
for(int i=0;i<(sizeof(ogrno)/sizeof(*ogrno));i++)
if(aranan==ogrno[i])
no=i;
break;
cout<<"========================================================================
==="<<endl;
if(no!=-1){
cout<<"Numara : "<<ogrno[no]<<endl<<"Ad : "<<isim[no]<<endl<<"Telefon :
"<<telefon[no]<<"mail : "<<mail[no];
else{
cout<<"Bulunamadı";
}
C++ ile dizi içindeki sayıların toplamını ve ortalamasını hesaplama örneği.
#include <iostream>
using namespace std;
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
float toplam=0,ortalama=0;
int sayilar[]={5,10,15,13,15,22,42};
int n = sizeof(sayilar) / sizeof(sayilar[0]);
for(int i = 0; i < n; i++)
toplam += sayilar[i];
ortalama = toplam / n;
cout<<"Dizi Ortalaması : "<<ortalama;
Dizi İçindeki En Büyük ve En Küçük Değerli sayıları bularak ekranda gösteren C++ Kodları.
#include <iostream>
using namespace std;
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
int sayilar[]={5,10,15,13,15,22,42};
int buyuk=sayilar[0];
int kucuk=sayilar[0];
int n = sizeof(sayilar) / sizeof(sayilar[0]);
for(int i = 0; i < n; i++)
if(sayilar[i]>buyuk);
buyuk=sayilar[i];
if(sayilar[i]<kucuk)
kucuk=sayilar[i];
cout<<"En Küçük Sayı : "<<kucuk<<endl;
cout<<"En Büyük Sayı : "<<buyuk;
Boyutunu kullanıcının belirleyeceği bir dizi oluşturarak bu dizi içine rastgele sayılar ekleyen C++
Kodları.
#include <iostream>
#include<stdlib.h>
using namespace std;
int main()
{
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
int n;
int toplam=0;
cout<< "Eleman sayisini girin : ";
cin>>n;
int sayilar[n];
for (int i=0;i<n;i++)
sayilar[i]=rand() %99+1;
toplam+=sayilar[i];
for(int i=0;i<n;i++)
cout<<sayilar[i]<<"\t";
cout<<endl<<"Sayilarin Toplami = "<<toplam;
10 elemanlı diziyi küçükten büyüğe sıralayan C++ Kodları.
#include <iostream>
#include<stdlib.h>
using namespace std;
int main()
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
int temp;
int dizi[]={5,10,15,13,15,22,42,21,99,4};
for(int i=0;i<10-1;i++)
for(int j=0;j<10-1;j++)
if(dizi[j]>dizi[j+1])
temp=dizi[j];
dizi[j]=dizi[j+1];
dizi[j+1]=temp;
for (int i=0;i<10;i++)
cout<<dizi[i]<<" ";