You are on page 1of 43

C

++

Not: Ders notunda yazılan programlar Borland C++ derleyicisinde çalıştırılmıştır. Dev C+
+ 4.0 derleyicisi veya .NET platformu ile çalışılacaksa, <stdlib.h> kütüphanesi ile birlikte
system(“PAUSE”) deyimi ekran görüntülenmesinde kullanılabilir.

C++ programlama dili eğitimde ve profesyonel olarak geniş ölçüde kullanılmaktadır. C++
modern programlama dillerinin bütün özelliklerini taşımaktadır.

C++ programı 3 kısımdan oluşur. Başlangıçta, programda kullanılacak başlangıç dosyaları
tanımlanır. Bu dosyalar “.h” uzantılı olup, program içinde kullanılacak deyimlerin birlikte
çalıştığı dosyalardır. Başlangıç dosyaları, ‘# include <dosya adı.h>’ olarak tanımlanır ve
BIN dizini içinde INCLUDE dizininde yer alır. Programcı tarafından yazılan başlangıç
dosyaları ise ’ #include “dosya adı.h” ’ tanımlanır ve INCLUDE dizininde yer alır. Başka bir
dizin içinde ise, dosya adından önce dizin yolu da dosya adı ile birlikte belirtilmelidir
(#include “sürücü:\dizin adı\dosya adı.h”).

İkinci kısımda sabit ve değişkenler tanımlanır. Sabitler ‘const’ başlığı altında toplanır ve
sabitlerin değeri programın akışı boyuca değişmez. Sabitlerden sonra değişkenler
tanımlanır. Değişkenler tamsayı, ondalık sayı veya karakter olabilir. Değişkenler
programın bu kısmında tanımlandıkları gibi, program akışı boyunca programın istenildiği
kısmında tanımlanabilir. Bu kısımda tanımlanan değişkenler programın ana fonksiyonu ve
diğer tüm fonksiyonlar içinde tanınırlar. Aksi durumda her değişken tanımlandığı
fonksiyon veya blok içinde tanınır, programın diğer kısımlarında tanınmazlar.

Son kısımda C++ deyimlerinden meydana gelen ana program tanımlanır. Her bir C++
programı bir ana program fonksiyondan ibarettir. Ana programdan önce varsa diğer
fonksiyonlar da yazılabilir. Fonksiyonlar ana program bittikten sonra da yazılabilirler. Bu
durumda fonksiyonların isim ve parametreleri ana programdan önce deklere edilmelidir.

Programlamada 3 kontrol yapısı mevcuttur. Bu 3 ana yapı bütün programlama dilleri için
geçerlidir. Kontrol yapılarının isimleri ve fonksiyonları aşağıda verilmiştir:

Sıralı yapı: Program satırları birbirlerini takip ederek mantıksal bir sırada çalışırlar.
Alternatifler arasından seçim yapısı:
yapısı Belirli bir şarta göre alternatif komutların aktif
hale geldiği yapıdır.
Tekrarlı yapı: Belirli satırlar veya programın bir parçası, istenildiği kadar veya belirli bir
şart sağlanılıncaya kadar tekrar edilir.

Problem: Klavyeden bilgisayara iki sayı giren, bunları toplayan ve ekranda gösteren bir
C++ programı yazınız?

Algoritmanın Kurulması:

Program yazılmadan önce bir algoritma düşünülmelidir. Bu program için algoritma şöyle
olabilir:

Programın girdileri iki sayı olacaktır.
Programın işlemi girilen bu 2 sayıyı toplamak olacaktır.
Programın sonucu toplama yapılması ve ekranda gösterilmesidir.

Değişkenler ve değişken isimleri:

Bu programda bilgisayarın hafızasında saklanacak 3 değer mevcut olacaktır. Bunlar
klavyeden bilgisayara girilecek 2 adet sayı ve bunların toplamını saklayacak olan bir
hafıza alanı.

Bu alanlar program içinde değişken olarak adlandırılırlar. Çünkü değişkenler her türlü
değeri alabilirler.

Bir programda kullanılan bütün değişkenlere bir isim verilmelidir. Bu isim, değişken ismi
veya tanımlayıcı isim olarak adlandırılır.

Bu değişkenler program yazılmaya başlanmadan önce tanımlanmalıdır. Girdi ve çıktıların
isimlerinin ve türlerin belirlenmesi Veri Nesneleri başlığı altında toplanır.

Veri Nesneleri:
Değişken ismi – veriyi tanımlayabilecek, anlamlı ve kısaltılmış bir isim,
Değişken ismi olarak, harfle başlayan bütün isimler kullanılabilir. Değişken ismi sayı ile
başlamamalıdır. Değişkenlere anlamlı isimler verilmelidir. Değişken ismi bir
kelimeden fazla ise, kelimeler arası boşluk bırakılmamalıdır. Bu durumda ya ikinci
kelimenin ilk harfi büyük olarak yazılır, ya da iki kelime alt çizgi ile birleştirilir.
Değişken isimlerinde Türkçe’de kullanılan (ğ, ü, ş, ç, ı, ö) gibi harfler
kullanılmamalıdır. Örnek: öğrenciismi ve ogrenci ismi ve 1ogrenci_ismi -> yanlış
değişken isimleri
OgrenciIsmi ve ogrenci_ismi -> doğru değişken isimleri

Açıklama – değişkenin neyi ifade ettiğini gösteren kısa açıklama,
Tip – değişkenin tamsayı, ondalık sayı, veya karakter veya mantıksal değişkenler
hangisine ait olduğu gösterilmelidir.

Programa ait Veri Nesneleri

İsim Açıklama Tip
sayi1 girilen ilk sayi tamsayı
sayi2 girilen ikinci sayi tamsayı
sonuc iki sayının toplamı tam sayı

Programlamadaki Mantıksal Sıra:

Girdi: Veri girişi daima önce yapılmalıdır.
İşlem: Veriler girildiği zaman sonucu elde etmek için yapılan işlemler.
Çıktı: Program içinde yapılan işlemler sonucu elde edilen bilgiler çıktı olarak kabul edilir.

Algoritmanın Yazılması:

Girdiler için, gir veya oku deyimleri kullanılır.
Verilerin girilmesi gerektiğinde kullanıcının hangi verileri gireceği ekranda bir mesaj
halinde görülmelidir.
Bu programın algoritmasında “iki sayıyı bilgisayara giriniz” şeklinde bir mesaj ekranda
görülmelidir.
Programın çıktısında ise, çıktının ne olduğu hakkında bir mesaj ekranda görülmelidir. Bu
örnek için “iki sayının toplamı :” şeklinde mesaj kullanıcıya sunulmalıdır.

İşlemler Listesi:
Program yapılmadan önceki algoritmada, programda kullanılacak işlemler belirlenmelidir.
Burada yapılacak işlemleri açıklamak için 4 işlem ve değişken isimleri ve açıklamalar
kullanılır.
Bilgisayara girilen iki tamsayı değişken toplanarak toplam değişkenine atanır.
sonuc = sayi1 + sayi2 formülü, sayi1 ve sayi2 olarak bilgisayara girilen 2 adet değer
toplanarak toplam değişkenine atanmış ve burada saklanmaktadır.

Yukarıdaki algoritma ortaya çıkarıldıktan sonra, istenilen programlama dilinde program
yazılabilir. Değişik dillerde program yazmak için, o dillere ait deyimleri ve operatörleri
kullanmak gerekecektir.

Bu algoritmanın C++ dilindeki programı aşağıdaki gibidir:

#include <iostream.h>
# include <conio>

void main()
{
int sayi1, sayi2, sonuc;
sonuc=0;
cout<<"bir sayi giriniz : "<<endl;
cin>>sayi1;
cout<<"ikinci sayiyi giriniz : "<<endl;
cin>>sayi2;

sonuc = sayi1 + sayi2;

cout<<" iki sayinin toplami :"<<sonuc;
getch();
}

program çalıştırıldıktan sonra ekran çıktısı şöyle olacaktır :

bir sayi giriniz :
90
ikinci sayiyi giriniz :
50
iki sayinin toplami : 140

Programda kullanılan cin (character input) ve cout (character output) deyimleri
<iostream.h> dosyası ile birlikte çalışmaktadır. << ve >> operatörleri ise sırasıyla cout
ve cin deyimleriyle birlikte kullanılır.

getch() fonksiyonu ise <conio.h> dosyası ile birlikte çalışır ve herhangi bir tuşa
basılıncaya kadar sonuç ekranının kullanıcı tarafında görülmesini sağlar.

Problem: Klavyeden bilgisayara, çalışanın numarası, çalıştığı saat ve saatlik ücreti
girildiğinde, toplam ücreti hesaplayıp, girilen bütün verilerle birlikte ekranda gösteren bir
C++ programı yazınız?

/* Bu program çalisanin ucretini hesaplar.

Input: calisanin numarasi, calistigi saat ve saat ucreti

Output: calisan no, calistigi saat, saat ucreti ve toplam ucret
--------------------------------------------------------------------*/

#include <iostream.h>
#include <conio.h>

int main(void)
{
cout << "calisanin numarasini giriniz: ";

int
calisanNo; // calisanin numarasi girildi

cin >> calisanNo;

cout << "calistigi saati ve saatlik ucreti giriniz: "<<endl;

double
saat, // calistigi saat
saatUcreti; // calisanin saat ucreti

cin >> saat >> saatUcreti;
cout<<endl;

double
toplamUcret = saat * saatUcreti; // calisanin toplam ucreti

cout << "calisan No: " << calisanNo <<endl
<< "calistigi saat : " << saat <<endl
<< " saat ucreti: " << saatUcreti <<endl
<< " toplam ucret: " << toplamUcret <<endl
<< endl;

getch();
}

Problem: Bir şehrin 3 farklı noktasında kirlilik ölçümleri yapılmaktadır.
Bu değerleri bilgisayara giren, ortalama kirlilik seviyesini hesaplayan ve bu değeri bir eşik
değeri ile karşılaştırarak, ortalama bu değerin üzerinde ise " hava kirli" aksi taktirde "
hava temiz" mesaji yazdıran bir C++ programı yazınız?

/* Bu program bir sehrin 3 farkli noktasinda ölçülen kirlilik seviyelerini
bilgisayara girer, ortalama kirlilik seviyesini hesaplar ve bir esik degeri
ile karsilastirarak, ortalama bu degerin uzerinde ise " hava kirli" aksi
taktirde " hava temiz" mesaji yazdirir.

Input: 3 kirlilik seviyesi ve bir esik degeri
Output: ortalama kirlilik seviyesi ve bu seviye esik degerinin
uzerinde ise ekrana " hava kirli", altinda ise "hava temiz " mesaji
------------------------------------------------------------------*/

#include <iostream.h>
#include <conio.h>

int main(void)
{
cout << " bu program hava kirlilik seviyesini hesaplar." <<endl;

const int
esikDegeri = 50; // hava kirlilik siniri

int
olcum1, olcum2, olcum3; // 3 adet olcum degeri

cout << " 3 adet kirlilik olcumu giriniz : "<<endl;
cin >> olcum1 >> olcum2 >> olcum3;

int
ortalama = (olcum1 + olcum2 + olcum3) / 3;

getch().main() fonksiyonu. cout<<endl.h> main() { cout<<" furkan dundar "<<endl. getch(). C++’da kullanılan deyimler değişik kütüphanelere bağlıdır (kütüphaneler header file olarak ta adlandırılır). } ------------------------- #include<iostream.h> #include<conio. } Bir C++ Programının Yapısı: Bir C++ programı 3 kısımdan meydana gelir: 1 . Derleyici(compiler) program çalıştırıldığında main() fonksiyonunu arar.h> #include<conio. 2. } ------------------------------- . Kütüphaneler tanımlanmadan program içerisinde kullanılan deyimler çalıştırılamaz. --------------------------------------------------------------------------- #include<iostream. cout<<"060112025". main() fonksiyonu içine programın kodları yazılır." <<endl.//mesaj ve değişkenin değerini ekrana yazar.h> main() { cout<<"furkan dundar"<<endl.h> #include<conio.Değişken ve sabitlerin tanımı (deklerasyonu). <<" G990102063"<<endl. getch(). if (ortalama < esikDegeri) cout << "hava temiz. else cout << "hava kirli!". getch(). cout<<" G990102063"<<endl. } // blok sonu #include<iostream. // enter’a basılıncaya kadar çıktı ekranını tutar. bir C++ programı en az bir main() fonksiyondan meydana gelir.h> main() { // blok başlangıcı cout<<"Semra Kara".Kütüphaneler deklere edilir (tanımlanır). 3 . cout << " kirlilik ortalamasi = " << ortalama << ": ".

Ondalık sayılar için float ve double değişken türü kullanılır. char isim[15]. // char karakter değişkenleri gösterir. Veri sözlüğü(Data Dictionary) 3 adet veriye ihtiyaç var. (prompt and read yapısı) mesaj ve veri girişi yapısı: bir programlama yapısıdır. Örnek: cin>>sayi1. float ortalama.h> . => Sayı bir tamsayılı değişkene karşılık gelir. // sayi1 ve sayi2 değişkenleri aynı anda girilir. cin değimi >> operatörüyle kullanılır. int sayi. sayi1=15 ve sayi2=20 ise Program #include<iostream. Bu sayı tamsayı olduğu için -32768 ile +32767 arasında değer alacaktır. Değişken ve Sabit isimleri açıklama tür Sayı1 birinci sayı tamsayı(int) Sayı2 ikinci sayı int Toplam iki sayının toplamı int sayi1 ve sayi2 input ve toplam programın output’udur. veri girilmeden önce veri açıklayan bir mesaj ekranda gözükmeli. Derleyici kullanıcıdan veri girmesini bekler. Klavyeden bilgisayara veri girişi cin deyimi kullanılır. Değişkenin bir ismi bir de türü olmalıdır. değişebilen bilgiler içeren veri tipi değişken olarak tanımlanır.DEĞİŞKENLER VE SABİTLER Değişkenler (variables) Program içinde kullanılan bütün verilerin tanımlanması ve veri tiplerinin belirlenmesi gerekir. İsim değişkeninin uzunluğu 15 harf(byte) olmalıdır. cin>> sayi1>>sayi2. Programın akışı boyunca. double hesap. isim değişkeni 15 byte uzunluğundadır. Örnek: Klavyeden bilgisayara girilen iki sayıyı toplayan ve sonucu ekranda gösteren bir C++ programı yazınız.

sonuc=sayi1 * sayi2.fark=0. } Örnek: #include<iostream.h> #include<conio.sonuc=0.sayi2 . fark=sayi1-sayi2.sayi2. sonuc=sayi1 + sayi2. cout<<”sayıyıgiriniz”<<endl. cin>>sayi1>>sayi2. getch(). cout<<”çarpımın değeri”<<carpim<<endl. cout<<”toplamın değeri”<<toplam<<endl.carpim=0.h> main( ) { int sayi1. cout<<"toplamin degeri "<<toplam.#include<conio. cin>>sayi1>>sayi2.toplam=0. cin>>sayi1>>sayi2. getch(). cout<<"toplamin degeri "<<sonuc.h> main() { int sayi1 .h> #include<conio. carpim=sayi1*sayi2. cout<<”bölümün değeri”<<bolum<<endl. bolum=sayi1/sayi2. getch().toplam=0.sayi2 .h> int sayi1 . toplam=sayi1+sayi2. } Örnek: Bilgisayara girilen 2 sayının dört işlem yapan program yazınız? #include<iostream. sonuc=sayi1 / sayi2.sayi2. sonuc=sayi1 . cout<<"sayi 1 ve sayi 2 'yi giriniz"<<endl.bolum=0. cout<<”farkın değeri”<<fark<<endl. . cout<<"carpimin degeri "<<sonuc. toplam=sayi1 + sayi2. main() { cout<<"sayi 1 ve sayi 2 'yi giriniz"<<endl. cout<<"cikarma degeri "<<sonuc.

Örnek: Tersi = ((x == 0) ? 0 : 1/x). Yukarıdaki program kodu şu şekilde de yazılabilir: cout << “\nKirlilik degeri = “ << Deger << “: “ << ((Deger < Limit) ? “Guvenli durum.\n”. Eğer (Ortalama >= SinirDeger) şartı doğru (1) ise ekrana şunu yazacaktır: Gecer Eğer (Ortalama >= SinirDeger) şartı yanlış (0) ise ekrana şunu yazacaktır: Kalir Örnek: cout << “\nKirlilik degeri = “ << Deger << “: “. if (Deger < Limit) cout << “Guvenli durum. } --------------------------------------------------------------------------- ŞARTLI DEYİM Form: şart ? deyim1 : deyim2 şart. cout<<"bolumun degeri "<<sonuc.\n” : “Zararli durum!\n”. else cout << “Zararli durum!\n”. . Örnek: cout << ((Ortalama >= SinirDeger) ? “Gecer” : “Kalir”. getch(). mantıksal bir deyim Davranış: Eğer şart değeri doğru ise (sıfır değilse) sonuç olarak deyim1 verilir. eğer şart değeri yanlış ise (sıfırsa) sonuç olarak deyim2 verilir.

h> #define max(x. b=9.h> #include <conio. Buyuk. int c = max(a.X değeri 0 olduğunda 1/x hesaplanamayacağından yukardaki ifade güvenlidir. Örnek: İki sayıdan büyüğünü bulan program. else cout <<”kaldi”. Deger2. y) (x>y) ? x : y void main() { int a=7. yanlış ise deyim #2 aktif hale gelir. getch(). veya int Deger1. Koşul doğru ise deyim #1 aktif hale gelir. Buyuk = ( (Deger1 > Deger2) ? Deger1 : Deger2 ). if (ortalama >= 50 && ortalama <= 65) cout <<” CC aldi” . Deger2. else Buyuk = Deger2. cout << c. Buyuk. } ALTERNATİFLER ARASINDAN SEÇİM DEYİMLERİ IF DEYİMİ: Koşula bağlı olarak programın bir parçasını aktif hale getirir. Örnek: int Deger1. Formatı: if (koşul) deyim #1. if (Deger1 > Deger2) Buyuk = Deger1. Örnek: if (ortalama >= 65) cout << “ gecti”.b). else deyim #2. #include <iostream. dolayısıyla “divide-by-zero” hatasına neden olmaz.

getch().000 – 15. } Örnek: Aynı soru için aşağıdaki notlara karşılığı ekrana yazdıran programı yaz.4*vize)+(0. cout<<"ortalama= "<<ortalama<<endl.000 %25 15. #include <iostream. cout<<"vizeyi girin= ".000 %35 30.000 TL ye kadar %18 10. başarı notu 50 ve üzerinde ise ekrana geçti.final. else cout<<"kaldi". vizenin %40 ını.h> #include <conio. cin>>final.6*final). cin>>vize. .000 + %45 vergi ve net ücreti bulunuz. cout<<"finali girin= ".000 – 30. ortalama=(0.000 – 20. finalin %60 ını alan. vize ve final notları giren.ortalama. if (ortalama>=50)cout<<" gecti". aksi halde kaldı yazan program yaz.000 %30 20.h> main() { int vize. 0-49 FF 50-55 DD 56-60 DC 61-65 CC 66-70 CB 71-85 BB 86-90 BA 90-100 AA Örnek: HIZLAR CEZA ÜCRETİ 120 km normal 121-130 km 100 milyon 131-140 km 150 milyon 141-150 200 milyon 151+ 300 milyon Örnek: 10.Örnek: Klavyeden bilgisayara isim.

cin >>GunB. cin>>GunK. Cout<<”AyFark” <<”ay.Örnek: Gün. YilB=YilB-1. int GunFark. AyB=AyB-1.YilK. cin >>AyB. cout<<”Kucuk Tarihin Yili:”. cout<<”Buyuk Tarihin Gunu:”. cin>>YilK. cin >>yilB.”. getch ( ). cout<<”Buyuk Tarihin Yili:”. cout<<”Kucuk Tarihin Ayi:”.YilB.AyFark. cout<<”Buyuk Tarihin Ayi:”. } SWITCH DEYİMİ Form: switch ( değişken) { . cin>>AyK.AyK. Cout<<”Aradaki fark” <<GunFark<<”gun.h> void main ( ) { int GunB. ay ve yıl olarak girilen iki tarih arasındaki farkı yine gün. } if (YilB<=YilK) { GunFark=GunB-GunK.”<<YilFark<<”y ld r…”. AyFark=AyB-AyK. } else cout<<Bu fark hesaplanmaz…”. if (GunB<GunK) { GunB=GunB+30. } if (AyB<AyK) { AyB=AyB+12.h> #include<conio. #include<iostream.AyB. int GunK.YilFark. clrscr ( ). cout<<”Kucuk Tarihin Gunu:”. ay ve yıl olarak hesaplayan program. YilFark=YilB-YilK.

tamsayı veya tamsayı uyumlu bir değer default. komutlar dizisi Amaç: switch deyimi çalıştırıldığında değişken değerlendirilir. break deyimine. default: KomutListesin+1 } değişken. break. case 3: cout<<"Mart". Örnek: /* Herhangi bir ayin numarasi girildiginde (1-12) o ayin adini yazan program. değişken’in değeri case listesinde varsa KomutListesii. case Sabitn : KomutListesin break. case Sabit1 : KomutListesi1 break. */ #include <iostream. return deyimine veya switch deyimi sonuna kadar çalıştırılır. . break. cout<<"Kacinci ay: ". seçeneğe bağlı (olması zorunlu değil) KomutListesii. switch (AyNo) { case 1: cout<<"Ocak". cin>>AyNo. break. değişken’in değeri case listesinde yoksa default deyimindeki KomutListesin+1 çalıştırılır. case 2: cout<<"Subat". . . case 4: cout<<"Nisan".h> void main() { int AyNo. . default deyimi bulunmuyorsa çalıştırma işlemi switch bloğundan sonra devam eder.h> #include <conio. tamsayı veya tamsayı uyumlu değişken Sabiti. break. case Sabit2 : KomutListesi2 break.

. case 8: cout<<"Agustos". break.h> #include <conio. break. cin>>Ort. break.. char HarfNot. case 12: cout<<"Aralik". } getch(). case 6: cout<<"Haziran". case 5: cout<<"Mayis". break.h> void main() { float Ort. break. case 10: cout<<"Ekim". break. break. Ortalama Harf --------------. cout<<"Ortalama not: ". . case 11: cout<<"Kasim". default: cout<<"Yanlis giris!.". switch ( int (Ort/10) ) // Sonucu int yapmak icin { case 10: case 9: HarfNot = 'A'. } Örnek: /* Ogrencinin ortalama notu (0-100) girildiginde harf cinsinden karsilik gelen notunu bulup yazan program. case 9: cout<<"Eylul". case 7: cout<<"Temmuz". break.------ Ort>=90 A 80<=Ort<90 B 70<=Ort<80 C 60<=Ort<70 D Ort<60 F */ #include <iostream.

case 7: HarfNot = 'C'. } cout<<"Harf not: "<<HarfNot. break. break. Not: (switch kullanılacak ve aşağıdaki ekran çıktısı görümüne sahipolacak). Fahrenheit’tan Kelvin’e. Kelvin’den Fahrenheit’e. break. Ekran: Dönüştürmek istediğiniz sıcaklık değeri: 212 Seçenekler: A. case 6: HarfNot = 'D'. Celsius’tan Kelvine’e veya kelvin’den Celsius’a sıcaklık dönüşümü yapan bir program yazınız.Fahrenheit’tan Celsius’a B. } Örnek: Fahrenheit’ten Celsius’a.Fahrenheit’tan Kelvin’e D.8 C = K – 273. break.Celsius’tan Fahrenheit’a C.Kelvin’den Fahrenheit’a E. default: HarfNot = 'F'. getch(). Celsius’tan Kelvine’e Seçiminiz: a Dönüştürülen sıcaklık: 100 Dönüşümler: C = (F-32) / 1. Celsius’tan Fahrenheit’a. Kelvin’den Celsius’a F. . case 8: HarfNot = 'B'.

sayac<11. for (sayac=0. Kullanımı: for (sayac=alt limit . // toplam = toplam + sayac.FOR DEYİMİ for deyimi bir alt limitten. bir üst limite kadar programın belirli bir parçasını tekrar eder.do while deyimi 1. sayac < üst limit .while deyimi 3. yukarıdaki program parçasının ekran çıktısı : ADAMYO ADAMYO ADAMYO Bilgisayar Teknolojileri for (sayac=0. C programlamada 3 adet döngü deyimi mevcuttur. cout<<”Bilgisayar Teknolojileri”. } Örnek : for (sayac=0. sayac++) cout<<” ADAMYO ”. sayac++) cout<<” ADAMYO ”. Bu tekrar etme işlemi döngü deyimleri kullanılarak yapılır. for deyiminin kapsama alanı bir satırdır. sayac<3. sayac++) { toplam +=sayac. sayac<3. Tekrar edilecek deyim sayısı birden fazla ise blok açılması gereklidir. for deyiminde sayaç artış oranı da verilmelidir. sayac<11.for deyimi 2. 1. sayac<3. yukarıdaki program parçasının ekran çıktısı : ADAMYO ADAMYO ADAMYO for (sayac=0. sayac++) . // toplam = toplam + sayac. sayaç artış oranı) { //for bloğu başlangıcı //for blogu (compound) deyimler. sayac++) toplam +=sayac.8 + 273 DÖNGÜ DEYİMLERİ(LOOPS): Programın belirli bir kısmı istenildiği kadar tekrar edilir. } //for blogu sonu Örnek: for (sayac=0.K = (F-32)/1.

// kullanicinin girecegi notlar cout<<endl. } yukarıdaki program parçasının ekran çıktısı : ADAMYO Bilgisayar Teknolojileri ADAMYO Bilgisayar Teknolojileri ADAMYO Bilgisayar Teknolojileri Örnek: Klavyeden bilgisayara 10 adet sayı giren ve bu sayıları toplayıp. clrscr (). int sayac. toplam += (saat * notlar).h> #include <conio. toplam=0. cin >> saat." <<endl. toplamı ekranda gösteren bir program yazınız? #include<iostream. float notlar. toplam = 0.h> #include<conio.sayi. } #include <iostream. sayac++) { // for dongu blogu cout<<sayac<<" inci sayiyi giriniz :"<<endl. } // for dongu blogu sonu cout<<"sayilarin toplami : "<<toplam<<endl. sayac ++) { cout << " ogrenci not girin : "<<endl. toplam += sayi. . for (sayac=0. sayac<10. cin >> notlar. // 10 dersin notlari main() { cout << " bu program notlarinizin ortalamasini hesaplar. saat.8. cout<<endl. cout<<”Bilgisayar Teknolojileri”.h> main() { int sayac. cout << " ders saati girin"<<endl.h> const float gecmeOrt = 1.{ cout<<” ADAMYO ”. cout<<endl. sayac<N. cin>>sayi. } float ortalama = toplam / N. getch ( ).// geçme ortalamasi const int N=10. for(sayac=0.

for (i=0. cout<<endl. --) { for (j=1. getch(). clrscr().h> #include<conio.h> void main() { int i. } Örnek: #include<iostream. i>=1.j. j++) cout<<”Universitesi”<<endl. ++) cout<<” * ”.h> #include<conio. i<10. } Örnek: #include<iostream. j++) cout<<i<<” “ <<j<<endl. } getch(). j<4. } Örnek: #include<iostream. clrscr ( ).h> void main() { int i. i<3 i++) for(j=1. j<=1.j. getch().h> void main() { int i.j.". i++) cout<<”Sakarya”<<endl. if (ortalama < gecmeOrt) cout << "kaldin. clrscr ( ).h> #include<conio. j<10." <<endl. . else cout << "gectin. for(i=0. cout << " ortalama = " << ortalama << ": ". for (j=0. for (i=10.

getch().h> #include<stdlib. for (sayac<0. Koşul while deyimi ile birlikte ifade edilir. cout<<” toplam : “ <<toplam. sayac ++.h> #include<stdlib. 3. sayac=0. sayac.WHİLE DEYİMİ Bir sayaca veya kontrol değişkenine bağlı olarak. sayac++) toplam +=sayac. } 2. while deyiminin blogunu tekrar eder. cout<<i<<” “<<j. system (“PAUSE”). sayac=0. while (sayac<11) { toplam +=sayac. main() { // sifirdan ona kadar olan sayilarin //toplami . Örnek: 0 dan 10’a kadar olan sayıların toplamını for döngüsüyle hesaplayan programı yazınız? #include<iostream. sayac<11. sayac++.h> int sayac. do döngüsü while döngüsündeki şarta bağlı olarak { } bloğunu tekrar eder. } while (sayac<10). do { toplam +=sayac.h> main() { int toplam=0. } while döngüsü şarta bağlı olarak while bloğunu tekrar eder. toplam=0.DO WHİLE DEYİMİ while deyimindeki koşul sağlanıncaya kadar do bloğu tekrar edilir. } Bir başka şekilde aynı programın kodlanması: #include<iostream.

} Örnek : Klavyeden bilgisayara girilen 3 sayının for. while (sayac<11) { toplam =toplam+sayac. } cout<<"sayilarin toplami: "<<toplam. . main() { // sifirdan ona kadar olan sayilarin //toplami for (sayac=0. for (i=0.h> #include<stdlib. sayac=sayac+1.h> int sayac. } cout<<"sayilarin toplami: "<<toplam.h> #include<conio. sayac++) { toplam +=sayac. cout<<endl.i<3. //toplam = toplam + sayac. system("PAUSE").h> main( ) { int toplam=0.top=0. system("PAUSE"). sayac<11. } cout<<toplam. toplam=0. cout<<endl.h> main() { int sayi. } Örnek: Sıfırdan 10’a kadar olan sayıların toplamını while döngüsüyle hesaplayan programı yazın. } #include<iostream. sayac<11. #include<iostream.i++) { cout<<"sayi giriniz". getch( ). sayac++) { toplam +=sayac.cin>>sayi.i. sayac=0. //toplam = toplam + sayac. while ve do while döngüleri kullanarak toplamını hesaplayan bir C++ programı yazınız? #include <iostream> #include <conio. for (sayac=0.

Bunlara lokal değişkenler ve sabitler denir ve sadece o fonksiyonda geçerlidirler. } cout<<" for toplam :"<<top<<endl. cout<<”calisan aylik ucret : “<<ucret<<endl. i=0. 5. cin>>yevmiye. 2. top=top+sayi. top=0. ucret = yevmiye * 22. (function call) 4. top=0. cin>>sayi. .Her bir fonksiyonun { } bloğu(compound) mevcuttur. i=i+1. } cout<<" while toplam :"<<top<<endl.Fonksiyonların kendi değişkenleri ve sabitleri olabilir. Fonksiyon Örneği: #include <iostream> #include <conio. top=top+sayi. yevmiye. top=top+sayi. } while(i<3). getch(). } FONKSİYONLAR(FUNCTIONS) 1. cin>>sayi. do { cout<<"sayi giriniz". Örnek Void toplamaIslemi() 3. } //fonksiyon sonu main() { UcretHesabi(). Diğer fonksiyonlar ve main() fonksiyonu tarafından tanınmazlar.Her bir fonksiyonun bir ismi vardır.h> void UcretHesabi() { // fonksiyon baslangici int ucret. Buna parçala ve böl yöntemi denir. getch(). while(i<3) { cout<<"sayi giriniz". i=i+1. cout<<" do toplam :"<<top<<endl. i=0.Fonksiyonlar isimleri ile çağrılırlar. getch().Program küçük parçalara bölünür. getch(). // lokal degiskenler cout<<”calisan yevmiyesini giriniz “<<endl.

carpim.//ekrani temizle cout<<"sayi1 ve sayi2 yi verin"<<endl. cout<<"farkin degeri="<<fark<<endl. } void cikarma() { fark=sayi1-sayi2. } main() { veriGirisi(). getch(). } void bolme() { bolum=sayi1/sayi2. void veriGirisi() { clrscr(). getch(). sayi2. } Örnek: #include <iostream> #include <conio.} Örnek: Dört işlem yapan bir programın fonksiyon kullanılarak kodlanması: #include<iostream. bolum.h> int sayi1.h> . cout<<"carpimin degeri="<<carpim. cout<<"toplamin degeri="<<toplam<<endl. getch(). getch(). toplama(). bolme(). getch().h> #include<conio. fark. cikarma(). } void carpma() { carpim=sayi1*sayi2. } void toplama() { toplam=sayi1+sayi2. cout<<"bolumun degeri="<<bolum<<endl. toplam=0. carpma(). getch(). cin>>sayi1>>sayi2.

cout<<carp. cout<<bol. cout<<endl. Dönüşüm: C = ( F . cin>>sayi1. bolme(). sayi1.int cik. bol. cout<<endl. sayi2. } void toplama() { top=sayi1+sayi2. } void carpma() { carp=sayi1*sayi2. carp. carpma(). } void bolme() { bol=sayi1/sayi2. cout<<top. } Formül İle Hesaplama Örnek: Sıcaklık dönüşümü Fahrenheit cinsinden girilen sıcaklık değerinin Celsius cinsinden karşılığını bulan program. } void cikarma() { cik=sayi1-sayi2. void sayilar() { cout<<"sayi giriniz". toplama().32 ) / 1.8 . cout<<endl. cout<<cik. cikarma(). } main() { sayilar(). cin>>sayi2. cout<<"sayi giriniz". top. getch(). cout<<endl.

\n\n”.\n\n"..#include <iostream. getch().”. void Donustur() { C = ( F ..8. double C = ( F – 32 ) / 1.32 ) / 1. } Fonksiyon İle Hesaplama Örnek: Sıcaklık dönüşümü Fahrenheit cinsinden girilen sıcaklık değerinin Celsius cinsinden karşılığını bulan program..h> #include <conio. double F. cin >> F. cout << “\n” << F << “ Fahrenheit = “ << C << “ Celsius. cout << “Fahrenheit cinsinden sicaklik gir: “. getch().". Dönüşüm: C = ( F .. } void main() { cout << "Bu program Fahrenheit'ten Celsius'a" << " sicaklik donusumu yapar.8.h> double F.h> #include <conio.8 #include <iostream... Donustur(). cout << "Fahrenheit cinsinden sicaklik gir: ".32 ) / 1. cout << "\n" << F << " Fahrenheit = " << C << " Celsius. C. cin >> F. } Veya .h> void main() { cout << “Bu program Fahrenheit’ten Celsius’a” << “ sicaklik donusumu yapar.

\n\n".#include <iostream.". } Fonksiyona değer gönderip alarak #include <iostream.32 ) / 1.. cout << "Fahrenheit cinsinden sicaklik gir: ".h> double Donustur(double x) { return ( x . void main() { cout << "Bu program Fahrenheit'ten Celsius'a" << " sicaklik donusumu yapar.h> #include <conio. } void Donustur() { C = ( F . getch(). C.h> double F. void Donustur(void).32 ) / 1. Donustur().". getch(). } Veya . cin >> F..8. double C = Donustur(F). } void main() { cout << "Bu program Fahrenheit'ten Celsius'a" << " sicaklik donusumu yapar. cout << "\n" << F << " Fahrenheit = " << C << " Celsius..8. cout << "Fahrenheit cinsinden sicaklik gir: ". cout << "\n" << F << " Fahrenheit = " << C << " Celsius..h> #include <conio.. double F.. cin >> F.\n\n".

void main() { cout << "Bu program Fahrenheit'ten Celsius'a" << " sicaklik donusumu yapar.". double C = Donustur(F). } .h> double Donustur(double x). cin >> F. double F. } double Donustur(double x) { return ( x ..h> #include <conio. cout << "Fahrenheit cinsinden sicaklik gir: ".. getch().32 ) / 1.. cout << "\n" << F << " Fahrenheit = " << C << " Celsius.#include <iostream.8.\n\n".

. } .. 7 8 1 } 4 6 Double Donustur ( double x ) { 5 Return ( x – 32 ) / 1.. 3 2 Double C = Donustur( F ).8..void main() { 1 ..

#include <iostream. } void main() { cout << Carp(2) << ' ' << Topla(2) << '\n' << Topla(Carp(3)) << ' ' .. } double Donustur(double x) { return ( x . return x. } void main() { cout << "Bu program Fahrenheit'ten Celsius'a" << " sicaklik donusumu yapar. double F = FOku(). veya neden hata olur açıklayın. } void SonucYaz(double x.h> int Carp(int x) { return 3 * x. SonucYaz(F. 27 Veya #include <iostream.". } int Topla(int x) { return 3 + x. cout << "Fahrenheit cinsinden sicaklik gir: ". double y) { cout << "\n" << x << " Fahrenheit = " << y << " Celsius..h> #include <conio. } Örnek: Aşağıdaki programın ekran çıkısı nedir.8. cin >> x. double C = Donustur(F).h> double FOku() { double x. getch(). C).h> #include <conio..\n\n".32 ) / 1.

h> void Mutlak(int& a) { if (a<0) a = -a.h> #include <conio. cin >> x. } . getch(). cout << "Mutlak x: " << x.h> #include <conio. #include <iostream. getch(). Num=3. 28 << Carp(Topla(3)) << '\n'. } 65 12 18 Örnek: Aşağıdaki programın ekran çıkısı nedir. Mutlak(x).. getch().h> void P(int Num) { Num *= 2. cout << “ x: “ << x. cout << i << ' ' << Num << '\n' << P(i) << ' ' << P(Num) << '\n'. } void main() { int i=1. #include <iostream. } void main() { int x. } Örnek: Girilen bir tamsayının mutlak değerini bulan fonksiyon. return Num. veya neden hata olur açıklayın. cout << "Bir tamsayi gir: ".

Cout << “Isik hizinda “ << Gun << “gunde “ << Km << “ km gidilir. Bir dairenin yarıçapı verildiğinde. BirYaz(). | --. karakter dizilerin ise dizi uzunluğu ile beraber veri uzunluğu da deklare edilir. 7. İki tamsayı verildiğinde iki sayı arasındaki mutlak farkı hesaplayan Aralik() fonksiyonu yazınız. UcYaz() ve DortYaz() adlı “çizgi rakam” yazan 4 fonksiyon yazınız. . Program tekrar çalıştırıldığı ya da derleyiciden çıkıldığı veya bilgisayar kapatıldığı zaman veriler kaybedilir. 5. Dizi kullanılarak hafızada saklanan veriler burada geçici olarak tutulurlar. 2 ve 3 şöyle görünmeli: --. 1. --- | | | | | --. cin >> Gun. 4. --- 2. b) Alanını bulan bir fonksiyon yazınız. Işık hızıyla gidilen gün sayısı girildiğinde kat edilen mesafeyim km cinsinden bulan programı yazınız. 29 Örnekler: 1. Km = GundenKmye(Gun).997925E8 metre/saniye main() { double Gun. Basit değişkenlerde bir t zamanında bir adet veri saklanabilirken. Hafızadaki veriye erişim son derece hızlıdır. Sayı dizilerin uzunluğu. } DİZİLER (ARRAYS) 1. dizilerde dizi uzunluğu kadar veri saklanır. 8. 0. 3. Veriler hafızaya yerleştirilirken numaralandırılır. IkiYaz(). Hafızada saklanan veriler numaraları ile çağırılırlar. --- | | | | | | | | --. cout << “Gun sayisi: “. a) Çevresini bulan bir fonksiyon yazınız. 6.”. 3. | --. 2. Veriler geçici olarak hafızada(memory ya da RAM) tutulur(saklanır). Işık hızı = 2. 4. Km.

main() { for (sayac=0. //her biri 15 byte uzunluğunda (15 harf) 10 adet isim depolayacak isim dizisi Kullanımı: int sayi[10]. char isim [10][20]. main() .sayac<10. ortalama[10]. } Örnek: 10 kişilik bir sınıftaki öğrencilerin isimlerini vize ve final notlarını bilg. 30 Dizi deklerasyonu int sayi [10].h> #include<conio. for (sayac=0. #include<iostream. sayac<10. sayac. girip vizenin %40 ve finalin %60 ‘ını hesaplayan ve daha sonra öğrenci ismi. sayac<10.h> #include<iomanip.h> #include<iomanip. cin>>sayi[sayac]. for (sayac=0. sayac++) { cout <<sayac<<” inci sayıyı giriniz”<<endl. cout<<"toplam : "<<toplam<<endl. } Örnek: Klavyeden bilgisayara girilen 10 adet sayıyı toplayan ve toplamı sayıları ekranda listeleyen bir program yazınız? #include<iostream.sayac++) { cout<<sayac<<" inci sayiyi giriniz"<<setw(3)<<endl. a. final[10]. getch(). cin>>sayi[sayac].h> int vize [10]. //10 adet tamsayı depolayacak sayı isimli dizi char isim[10][15]. } cout<<endl<<endl. vize ve final notlarını listeleyen programı yazın. toplam=0. sayac ++) cout<<sayac<<" inci sayi : "<<sayi[sayac]<<endl. cout<<" hafizadaki verilerin ekrana listelenmesi"<<endl.h> //setw() deyiminin bagli oldugu //kutuphane int sayi[10]. toplam += sayi[sayac].h> #include<conio.

.h> #include <conio. cin>>vize[a]. 31 { for(a=0..". int i. } getch(). cin>>vize[i]. cout<<vize[i]<<endl.h> #include <iomanip. } Aynı programın bir sabit deklerasyon ile kodlanması: #include <iostream. } for(a=0.final[N].ort[N].. } for(i=0.60))..a++) { cout<<”isim:”<<isim[a]<<setw(4)<<”vize:”<<vize[a]<<” “ <<”final:”<<” “<<final[a]<<” “ <<” başari notu: “<<ortalama[a]<<endl. cout<<ort[i]<<endl. cin>>isim[a]. cout<<final[i]<<endl.".. i++) { ort[i]=0. main() { for(i=0..h> const N=10. cout<<a<<”inci final not”<<endl.4)+(final*0.a<10.a++) { cout<<a<<”inci ismi girin”<<endl.6).". cin>>final[i].. cout<<isim[i]<<" isimli ogrencinin vize notunu giriniz.vize[N]. } .40)+(final[i]*0. ort[i]=((vize[i]*0. cin>>isim[i]. } getch(). cout<<a<<”inci vize not”<<endl. cout<<isim[i]<<" isimli ogrencinin final notunu giriniz. i++) { cout<<isim[i]<<endl. cout<<endl. cin>>final[a].a<10... ortalama[a]=(vize[a]*0. char isim[N][15]. i<N. i<N. cout<<"isim giriniz.

N=2. cout<<"Fiyat giriniz:"<<endl.marka[i])==0) { cout<<marka[i]<<"-"<<fiyat[i]<<endl.h> #include<string. for (i=0. void fiyatAra(). i++) { cout<<"marka ismi girin:"<<endl. getch().h> char marka [20][25]. cin>>aranan. kontrol=0. i++) if (strcmp (aranan. void veriGirisi(). } void veriGirisi() { for (i=0. i++) if (aranan==fiyat[i]) cout<<"Aradiginiz fiyattaki marka:"<<marka[i] <<" "<<"fiyat="<<fiyat[i]<<endl. } void markaAra() { char aranan [25]. cin>>marka[i]. . void menu(). secim=0. for (i=0. cout<<"Aranan fiyati gir"<<endl.h> #include<conio. fiyat ve markaya göre arama yapan ve dizideki bütün bilgileri ekrana listeleyen yapan bir program yazınız? #include<iostream. void markaAra(). cin>>fiyat[i]. 32 Örnek: Bilgisayar model ve fiyatlarını iki farklı diziye giren. } void fiyatAra() { float aranan. cin>>aranan. float fiyat [20]. int i. main() { menu(). } getch(). cout<<"Aranan markayi girin:"<<endl. i<N. } getch(). i<N. i<N.

veri girisi " <<endl.h> #include<string. cout<<"Aranan markayi girin:"<<endl. cout<<"[3] . i<N. void veriGirisi() { for (i=0. if(secim==2) markaAra().fiyat arama " <<endl. cin>>aranan. 33 getch(). int i.h> char marka [20][25]. float fiyat [20]. cout<<"[2] . } void menu() { int secim. cout<<"[4] . if(secim==3) fiyatAra(). } void markaAra() { char aranan [25]. cout<<"Seciminiz:"<<endl. } getch(). secim=0. } getch().marka arama " <<endl. } } Aynı programın bir başka yazılım versiyonu: #include<iostream. kontrol=0. else menu(). i<N. i++) if (strcmp (aranan. while(kontrol==0) { cout<<"[1] . clrscr(). cin>>secim.h> #include<conio. cin>>fiyat[i]. if(secim==4) kontrol=1. if(secim==1) veriGirisi(). } .Cikis " <<endl. for (i=0. N=2. i++) { cout<<"marka ismi girin:"<<endl. cout<<"Fiyat giriniz:"<<endl.marka[i])==0) { cout<<marka[i]<<"-"<<fiyat[i]<<endl. cin>>marka[i].

} } main() { menu(). cout<<"Aranan fiyati gir"<<endl.veri girisi " <<endl. } Yukarıdaki programa ek olarak şöyle bir eklentide yapılabilir. for (i=0. i++) if (aranan==fiyat[i]) cout<<"Aradiginiz fiyattaki marka:"<<marka[i] <<" "<<"fiyat="<<fiyat[i]<<endl. i<N. if(secim==4) kontrol=1.Cikis " <<endl. for (i=0. cout<<"[3] . cin>>secim. cin>>aranan. } . getch(). 34 void fiyatAra() { float aranan. getch(). clrscr(). i<N. if(secim==1) veriGirisi().fiyat arama " <<endl. } getch(). } void menu() { int secim. if(secim==3) fiyatAra(). void bindolar ( ) { cout<<”Bin doların üstündeki markalar ve fiyatları=”<<endl. cout<<"[2] . i++) { if (fiyat [i]<=1000) { cout<<marka[i]<<”=” <<fiyat[i] <<endl. 1000 $’lık ve altındaki bilgisayar listelenmesi kısmı. cout<<"[4] . cout<<"Seciminiz:"<<endl. if(secim==2) markaAra(). else menu(). while(kontrol==0) { cout<<"[1] .marka arama " <<endl.

markaara”<<endl. program kullanıcı kontrollü olmuş olur: void menu ( ) { while (secim<6) { cout <<“1. } Farklı bir dizi örnek programı: #include <iostream. if (secim==6) secim=10. cin>>secim. . cout <<“4. bindolar().h> #include <conio. if (secim==3) fiyatara().h> #include <string. for (i=0. verigirisi”<<endl. } Yukardaki main() kaldırılıp aşağıdaki menu() fonksiyonu ve main() yazılırsa. fiyatara(). if (secim==1) vergirisi(). markaara(). fiyatara”<<endl. cout <<“2. bindolar”<<endl. } main() { verigirisi(). } main() { menu(). i++) { cout<<marka[i]<<”=”fiyat[i]<<endl. if (secim==5) liste(). if (secim==2) markaara(). cout <<“5. liste”<<endl. if (secim==4) bindolar(). cout <<“3. } getch(). çıkış”<<endl. cout <<“6. 35 void liste() { cout<<”markalar ve fiyatları”<<endl. liste(). else menu(). } getch(). i<N. cout<<”seçiminiz nedir?”<<endl.h> const //programda kullanilacak olan sabitler int toplamKayit=2.

int sayac....ISIM[sayac])==0) // ad ve ISIMdeki verileri // karsilastirir { cout<< "isim. cout<< "TELEFON NO GiRiNiZ... cout<< "SOYAD GiRiNiZ.. sayac<max....... if (strcmp(AD.. for (sayac=0.. // dizi uzunlugunu hesap eder cout<< "dizi uzunlugu : "<<diziUzunlugu<<endl. // ekrani temizler cout<< ("telefonu aranan kisinin ismini giriniz... sayac<diziUzunlugu + ilaveKayit. cout<< "TEL NO.... cin>>TELNO[sayac].. getch(). char TELNO[100][10]..:"). sayac++) { cout<< "ismi giriniz... while (strlen(ISIM[sayac])>0) { cout<<endl<<endl..:". cout<< "kac kayit ilave edilecek ?.. sayac++) { cout<< "ismi giriniz. } } void ARAMA() { clrscr()..:".... sayac++ ) if (strlen(ISIM[sayac])>0) { diziUzunlugu++ . for (sayac=diziUzunlugu.. } getch()..diziUzunlugu. sayac=0.:"<<TELNO[sayac]<<endl.....:". cin>>TELNO[sayac].. } .... diziUzunlugu =0 ...SECIM. cin>>SOYAD[sayac].:"<<endl..:". 36 int max=100...:"<<ISIM[sayac]<<endl.. char ISIM[100][20].. /* ilk index maksimum dizi limiti */ /* ikinci index ISIM degiskeninin uzunlugu */ char SOYAD[100][20]..... } } void KAYITILAVE() { int ilaveKayit.. cout<< "SOYAD. cin>>ISIM[sayac].. cout<< "SOYAD GiRiNiZ.. cin>>ilaveKayit.. sayac<toplamKayit.......:". cin>>ISIM[sayac]. void KAYIT() { for (sayac=0.:". cout<< "TELEFON NO GiRiNiZ...:"<<SOYAD[sayac]<<endl.... char AD[20]. cin>>SOYAD[sayac]... cin>>AD.

} } main() { clrscr().. if (SECIM==2) KAYITILAVE(). cin>>SECIM. cout<< endl...: \n".: \n".: \n". cout<< "[4]-LiSTE.: "... while (SECIM<5) { clrscr().... while (strlen(ISIM[sayac])>0) { cout<< ISIM[sayac]. sayac=0... } void LISTE() { clrscr()... if (SECIM==3) ARAMA(). else MENU().SOYAD[sayac]. } DİZİLERDE SIRALAMA İŞLEMLERİ .. cout<< "[3]-ARAMA. SECIM=0. sayac++.... cout<< "[1]-KAYIT GiRME. if (SECIM==4) LISTE()... cout<< "[5]-PROGRAMDAN cikis. getch().. 37 sayac++...... //ekrani temizler MENU(). } getch().. } void MENU() { clrscr()... } getch(). if (SECIM >= 5) break..: \n".. if (SECIM==1) KAYIT()......: \n".... cout<< "seciminizi giriniz.... cout<<endl. cout<< "[2]-kayit ilave..TELNO[sayac]...

Sıralama algoritması diziyi küçükten büyüğe sıralamaktadır. cout<<endl.x[j]). Sayıların küçükten büyüğe sıralanmasını ise if bloğu sağlamaktadır. } Alfebetik verileri A’dan Z’ye sıralayan program aşağıdadır: #include <iostream.x[i]).h> const int N=5. } /* siralama algoritmasi */ for (i=0. int i. sayi[i]=sayi[j].h> #include <string. void degis(char x[][25]. } void siralama() { int i.i<N.h> #include<conio.h> #include <stdlib. getch().0 sayi[N]. #include<iostream.j<N. Sayi ise 5 elemanlı bir dizidir. strcpy(x[i].j.i++) cout<<sayi[i]<<" ". int i.j.bos). char isim[10][25].j++) if (sayi [i] > sayi [j]) { gecici=sayi[i].i<N.h> int N=3. } for (i=0. strcpy(bos. cin >>sayi[i].i++) { cout<<i<< " inci sayiyi giriniz :"<<endl. gecici. 38 N: dizideki eleman sayısını göstermektedir. main () { for (i=0.i<N-1. int j) { char bos[25]. strcpy(x[j]. sayi[j]=gecici. .i++) for (j=i+1.

Dosyadan veri okuma Modu dosya. ios::out) dosyaya ilk kayıt yapılıyor.25). kayıt ilave ve kayıt okuma olmak üzere 3 farklı şekilde açılır.open(“rehber”. .Veriler kalıcı olarak hard disk. } siralama().i++) cout<<isim[i]<<" ".i++) { for (j=i+1.C++ programı kalıcı ortamda bir veri dosyası oluşturur. bu veriler silinir. Aksi takdirde veri kaybı olabilir.Veri dosyası ilk kayıt.j. 4. disket ya da CD ortamında saklanır (cd.Veri dosyası ilk kayıt modunda açılırsa. } } main() { int i.Dosyada bilgi değişikliği ve bilgi silme işlemleri için ikinci bir dosyaya ihtiyaç vardır.getline(isim[i].) 2.i<N-1.i).j++) if (strcmp(isim[j]. kelime işlemci yardımıyla veya derleyici kullanılarak da yapılabilir. flash memory vs. 6. 39 for (i=0. for (i=0. dosya içinde veri mevcut ise. system("PAUSE").h> kütüphanesi tanımlanmalıdır.isim[i])<0) degis(isim. } DOSYALAR(FİLES) 1. for (i=0. Bu değiştirme ve silme işlemleri. 3. Dosyaya kayıt ilave Modu dosya. 5.j<N.Dosya deyimlerini kullanabilmek için <fstream.i<N. 7. ios::app) app: append’in (kayıt ilave) kısaltması dosyaya kayıt ilave yapılıyor.Her bir dosya işlem yapıldıktan sonra kapatılmalıdır. Dosya ilk kayıt Modu dosya. ios::in) dosyadan veri okunması sağlanıyor.open(“rehber”.i++) { cout<<(i+1)<<" inci Ad Soyadi giriniz : ". cout<<"Sirali Dizi : ".open(“rehber”.i<N. cin.

open("stok. getch().dat isimli bir dosyaya beyaz eşyanın ismini ve stoktaki miktarlarını kaydeden ve dosyadaki tüm bilgileri ekrana listeleyen bir C++ programı yazınız? #include <iostream. cout << "\nListe sonu.h> char Urun[20]. int Miktar. for(Sayac=0. cin >> Urun >> Miktar.close(). 40 Örnek: stok. cin>>KayitSayisi. fstream Dosya. cout << "1.. } void Menu() { clrscr(). cout << " Urun adi Miktari\n" << "-------------------. while(Dosya >> Urun >> Miktar) cout << setw(20) << Urun << setw(8) << Miktar<<endl. KayitSayisi.open("stok. Dosya << Urun << setw(8) << Miktar << endl. int Secim=0. Sayac. Sayac<KayitSayisi.. Dosya. ios::app). ios::in).Kayit\n" << "2.h> #include <iomanip. Dosya.dat".dat". void Kayit() { clrscr().h> #include <fstream.".close(). Dosya. } void Liste() { clrscr().-------\n". cout << "Kac kayit girilecek? ". devam icin bir tus. } Dosya.h> #include <conio.Listeleme\n" . Sayac++) { cout << "Urun ismi ve miktarini giriniz: ".

devam icin bir tus.". break.h> #include <stdio.dat".Program sonu\n\n" << "Seciminiz: ". KayitSayisi.-------\n". for(Sayac=0.close().h> #include <iomanip. int Miktar. case 2: Liste(). break. Sayac. cout << "Urun adi Miktari\n" << "-------------------. cin >> Secim. . } void Liste() { clrscr(). cin >> Urun >> Miktar. Secim=0. Dosya. Dosya..h> #include <conio. 41 << "3.close(). Sayac<KayitSayisi.h> #include <fstream. cout << "\nListe sonu.. } } } #include <iostream. Dosya. fstream Dosya.open("stok.h> char Urun[20]. cout << "Kac kayit girilecek? ". void Kayit() { clrscr(). ios::in). } Dosya. cin>>KayitSayisi. } void main() { while (Secim<3) { Menu(). switch (Secim) { case 1: Kayit(). getch(). Dosya << Urun << setw(8) << Miktar << endl. ios::app). while(Dosya >> Urun >> Miktar) cout << setiosflags(ios::left) << setw(21) << Urun << setw(8) << Miktar<<endl.open("stok.dat". Sayac++) { cout << "Urun ismi ve miktarini giriniz: ".

dat". } D << Urun << setw(8) << Miktar << endl. rename("d. cout << "1. D. } void main() { . ios::in).dat").dat".close().open("d. clrscr().dat"). while (Dosya >> Urun >> Miktar) { if (strcmp(Urun. cin >> Silinecek. D. "stok. clrscr(). "stok. fstream D. Dosya. rename("d. Degisecek) == 0) { cout << Urun << setw(8) << Miktar << endl. D.close(). Silinecek) != 0) D << Urun << setw(8) << Miktar << endl. ios::out). } void Menu() { clrscr(). cin >> Degisecek.Listeleme\n" << "3. cout << "Silinecek urun adi: ".Program sonu\n\n" << "Seciminiz: ". cin >> Urun >> Miktar. 42 } void Sil() { char Silinecek[20]. remove("stok. ios::out). } Dosya.Kayit\n" << "2.dat".open("stok. } void Duzelt() { char Degisecek[20]. Dosya. D.dat").open("d. fstream D. cout << "Yeni urun adi ve miktari: ". Dosya.close().close(). cout << "Degisiklik yapilacak urun adi: ".dat". while (Dosya >> Urun >> Miktar) if (strcmp(Urun. remove("stok.dat".dat".dat").Silme\n" << "4. ios::in). cin >> Secim.Duzeltme\n" << "5.open("stok.

break. } } } . break. switch (Secim) { case 1: Kayit(). case 4: Duzelt(). case 3: Sil(). case 2: Liste(). break. 43 while (Secim<5) { Menu(). break.