C++ Telefon Rehberi

Telefon rehberi.cpp

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <ctype.h>
#include <Windows.h>
#define SIL system("CLS");// bundan sonra system("cls");kullanacagım her yere sil yazarsam da aynı şey olur.
int N = 0;//Asagida her fonksiyon icin ayrı ayrı N degeri tenımlamamak icin başta tanımlarsak direk bu degere ulaşabiliriz.
struct dogumtarihi
{
	char gun[10];
	char ay[10];
	char yil[10];
};
struct adres
{
	char il[100];
	char mahalle[100];
	char sokak[100];
	char numara[100];
	char epostaadresi[100];
};
struct Rehber
{
	char Isim[100];
	char Soyad[100];
	char evtelefonu[100];
	char ceptelefonu[100];
	char istelefonu[100];
	struct adres adresler;
	struct dogumtarihi dogum;
}KisiBilgileri[BUFSIZ];

void menu();//MENÜ YAPMA FONKSİYONU.
void kisiEkle(struct Rehber KisiBilgileri[BUFSIZ]);//KİŞİ EKLEME FONKSİYONU.
void arama(struct Rehber KisiBilgileri[BUFSIZ]);//MENUDE ARAMA İÇİN YAPILAN FONKSİYON.
void ekranaYazdir(struct Rehber KisiBilgileri[BUFSIZ], int sayac);//EKRANA GORUNTULEMEK İÇİN YAZILAN FONKSİYON.
void txtYaz(struct Rehber KisiBilgileri[BUFSIZ]);//DOSYA İÇİNE YAZMAK İÇİN YAPTIĞIM FONKSİYON.
void guncelle(struct Rehber KisiBilgileri[BUFSIZ]);//GUNCELLEME YAPMAK İÇİN YAPILAN FONKSİYON.
void silme(struct Rehber KisiBilgileri[BUFSIZ]);//SİLME İŞLEMİ YAPMAK İÇİN YAPILAN FONKSİYON.

void main()   //MAIN
{
	FILE *rehber;//Dosya tanımlama islemi
	rehber = fopen("Rehber.csv", "r");//dosya acma işlemi
	char secim;
	char cikis = 'h';//programin kapanmamasi icin
	if (rehber == NULL)
	{
		printf("Dosya Bulunamadi...\n");
	}
	else
	{
		while (!feof(rehber))//dosyanın sonuna gelene kadar 
		{
			fscanf(rehber, "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",
				&KisiBilgileri[N].Isim,
				&KisiBilgileri[N].Soyad,
				&KisiBilgileri[N].evtelefonu,
				&KisiBilgileri[N].ceptelefonu,
				&KisiBilgileri[N].istelefonu,
				&KisiBilgileri[N].adresler.il,
				&KisiBilgileri[N].adresler.mahalle,
				&KisiBilgileri[N].adresler.sokak,
				&KisiBilgileri[N].adresler.numara,
				&KisiBilgileri[N].adresler.epostaadresi,
				&KisiBilgileri[N].dogum.gun,
				&KisiBilgileri[N].dogum.ay,
				&KisiBilgileri[N].dogum.yil);
			N++;
		}
		fclose(rehber);//rehbberi kapama.
	}
	do
	{
		SIL
			menu();
		char devamET = 'h';
		char switch_on;
		switch_on = getch();
		switch (switch_on)//switch case ile menu yapımı
		{
		case '1':/// KISI EKLE ///
			do
			{
				kisiEkle(KisiBilgileri);
				printf("Kisi Eklemeye devam edecekmisiniz? [e]\n");
				devamET = tolower(getch());//cevabi kucuk harfe cevirme
				txtYaz(KisiBilgileri);
			} while (devamET == 'e');
			continue;
		case '2':/// GORUNTULE ///
			for (int i = 0; i < N; i++)
			{
				ekranaYazdir(KisiBilgileri, i);
				getch();//kaldirirsan hepsini tek seferde gosterir
			}
			printf("\nMenuye donmek icin bir tusa basin\n");
			getch();
			continue;
		case '3':/// ARAMA ///
			arama(KisiBilgileri);
			printf("\nMenuye donmek icin bir tusa basin\n");
			getch();
			continue;
		case '4':/// GUNCELLE ///
			guncelle(KisiBilgileri);
			txtYaz(KisiBilgileri);
			printf("Guncellemeye devam edecekmisiniz? [e]\n");
			devamET = tolower(getch());
			printf("\nMenuye donmek icin bir tusa basin\n");
			getch();
			continue;
		case '5':/// SIL ///
			silme(KisiBilgileri);
			txtYaz(KisiBilgileri);
			printf("Kisi silmeye devam edecekmisiniz? [e]\n");
			devamET = tolower(getch());
			printf("Menuye donmek icin bir tusa basin\n");
			getch();
			continue;
		case '6':/// cikis ///
			char cik[] = "rehberden cikiyorsunuz";
			for (int i = 0; i < 23; i++)
			{
				printf("%c", cik[i]);
				Sleep(200);//animasyonla rehberden cikiyorsunuz yazdırırken kac saniyede olacağını belirleme
			}
			cikis = 'e';
			break;
		}
	} while (cikis == 'h');
}
void menu()//menu yapimi
{
	printf("\n\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260");
	printf("\n\260\260                      //\\\\               \260");
	printf("\n\260\260 1.Ekle              //  \\\\              \260");
	printf("\n\260\260                    //    \\\\             \260");
	printf("\n\260\260 2.Goruntule       //      \\\\	           \260");
	printf("\n\260\260                  //TELEFON \\\\	   \260");
	printf("\n\260\260 3.Ara           //REHBERİNE \\\\          \260");
	printf("\n\260\260                //            \\\\	   \260");
	printf("\n\260\260 4-Guncelle    //              \\\\        \260");
	printf("\n\260\260              //                \\\\       \260");
	printf("\n\260\260 5-Sil       //   HOSGELDİNİZ    \\\\	   \260");
	printf("\n\260\260            //                    \\\\     \260");
	printf("\n\260\260 6-Cikis     -----------------------     \260");
	printf("\n\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260");
	printf("\n\n");
	printf("Lutfen bir secenek giriniz..\n\n");
}
void ekranaYazdir(struct Rehber KisiBilgileri[BUFSIZ], int sayac)
{
	printf("\n** %2d **************\n", sayac + 1);
	printf("    ADI : %s\n", KisiBilgileri[sayac].Isim);
	printf("SOY ADI : %s\n", KisiBilgileri[sayac].Soyad);
	printf("EV TEL NO  : %s\n", KisiBilgileri[sayac].evtelefonu);
	printf("CEP TEL NO:%s \n", KisiBilgileri[sayac].ceptelefonu);
	printf("Is TEL NO: %s\n", KisiBilgileri[sayac].istelefonu);
	printf("ADRESLER....\n");
	printf("İL:%s\n", KisiBilgileri[sayac].adresler.il);
	printf("MAHALLE:%s\n", KisiBilgileri[sayac].adresler.mahalle);
	printf("SOKAK:%s\n", KisiBilgileri[sayac].adresler.sokak);
	printf("Numara:%s\n", KisiBilgileri[sayac].adresler.numara);
	printf("E-POSTA ADRESİ:%s\n", KisiBilgileri[sayac].adresler.epostaadresi);
	printf("Dogum tarihi Gun:%s\n", KisiBilgileri[sayac].dogum.gun);
	printf("Dogum tarihi Ay:%s\n", KisiBilgileri[sayac].dogum.ay);
	printf("Dogum tarihi Yil:%s\n", KisiBilgileri[sayac].dogum.yil);
}
void kisiEkle(struct Rehber KisiBilgileri[BUFSIZ])
{
	printf("Lutfen Kisi Bilgilerini Kucuk Harflerle Giriniz\n");
	printf("ISIM         \t: ");
	flushall();
	gets(KisiBilgileri[N].Isim);
	printf("SOYISIM      \t: ");
	flushall();
	gets(KisiBilgileri[N].Soyad);
	printf("EV  TEL NO   \t: ");
	flushall();
	gets(KisiBilgileri[N].evtelefonu);
	printf("CEP TEL NO   \t: ");
	flushall();
	gets(KisiBilgileri[N].ceptelefonu);
	printf("IS TEL NO   \t: ");
	flushall();
	gets(KisiBilgileri[N].istelefonu);
	printf("IL   \t: ");
	flushall();
	gets(KisiBilgileri[N].adresler.il);
	printf("MAHALLE   \t: ");
	flushall();
	gets(KisiBilgileri[N].adresler.mahalle);
	printf("SOKAK   \t: ");
	flushall();
	gets(KisiBilgileri[N].adresler.sokak);
	printf("NUMARA  \t: ");
	flushall();
	gets(KisiBilgileri[N].adresler.numara);
	printf("E-POSTA ADRESI   \t: ");
	flushall();
	gets(KisiBilgileri[N].adresler.epostaadresi);
	printf("Dogum tarihi gun   \t: ");
	flushall();
	gets(KisiBilgileri[N].dogum.gun);
	printf("Dogum tarihi ay   \t: ");
	flushall();
	gets(KisiBilgileri[N].dogum.ay);
	printf("Dogum tarihi yil   \t: ");
	flushall();
	gets(KisiBilgileri[N].dogum.yil);

	N++;
}
void guncelle(struct Rehber KisiBilgileri[BUFSIZ])
{
	int guncellenecekKisininNumarasi;
	int sec;//Guncellenecek bilginin numarasidir.
	for (int i = 0; i < N; i++)
	{
		ekranaYazdir(KisiBilgileri, i);
	}
	printf("-----Guncellemek istediginiz kisinin numarasini giriniz:---\n");
	scanf("%d", &guncellenecekKisininNumarasi);
	guncellenecekKisininNumarasi--;
	SIL
		ekranaYazdir(KisiBilgileri, guncellenecekKisininNumarasi);

	printf("1. Ad\n");
	printf("2. Soyad\n");
	printf("3. EvtEL_\n");
	printf("4. Ceptel\n");
	printf("5. Istel\n");
	printf("6. IL\n");
	printf("7. Mahalle\n");
	printf("8. Sokak\n");
	printf("9. Numara\n");
	printf("10. Epostaadresi\n");
	printf("11. Dogum tarihi Gun\n");
	printf("12. Dogum tarihi Ay \n");
	printf("13. Dogum tarihi Yil \n");
	printf("Hangisini guncellmek istiyor isiniz?");
	scanf("%d", &sec);//bu seceneklere gore kisinin neyinin degiseceğini belirleriz
	if (sec == 1)
	{
		printf("Eski Bilgi : %s\n", KisiBilgileri[guncellenecekKisininNumarasi].Isim);
		printf("Yeni Bilgi : "); flushall;
		scanf("%s", KisiBilgileri[guncellenecekKisininNumarasi].Isim);//boylelikle yeni bilgi eski bilgi yerine gecer.
	}
	else if (sec == 2)
	{
		printf("Eski Bilgi : %s\n", KisiBilgileri[guncellenecekKisininNumarasi].Soyad);
		printf("Yeni Bilgi : "); flushall;
		scanf("%s", KisiBilgileri[guncellenecekKisininNumarasi].Soyad);
	}
	else if (sec == 3)
	{
		printf("Eski Bilgi : %s\n", KisiBilgileri[guncellenecekKisininNumarasi].evtelefonu);
		printf("Yeni Bilgi : "); flushall;
		scanf("%s", KisiBilgileri[guncellenecekKisininNumarasi].evtelefonu);
	}
	else if (sec == 4)
	{
		printf("Eski Bilgi : %s\n", KisiBilgileri[guncellenecekKisininNumarasi].ceptelefonu);
		printf("Yeni Bilgi : "); flushall;
		scanf("%s", KisiBilgileri[guncellenecekKisininNumarasi].ceptelefonu);
	}
	else if (sec == 5)
	{
		printf("Eski Bilgi : %s\n", KisiBilgileri[guncellenecekKisininNumarasi].istelefonu);
		printf("Yeni Bilgi : "); flushall;
		scanf("%s", KisiBilgileri[guncellenecekKisininNumarasi].istelefonu);
	}
	else if (sec == 6)
	{
		printf("Eski Bilgi : %s\n", KisiBilgileri[guncellenecekKisininNumarasi].adresler.il);
		printf("Yeni Bilgi : "); flushall;
		scanf("%s", KisiBilgileri[guncellenecekKisininNumarasi].adresler.il);
	}
	else if (sec == 7)
	{
		printf("Eski Bilgi : %s\n", KisiBilgileri[guncellenecekKisininNumarasi].adresler.mahalle);
		printf("Yeni Bilgi : "); flushall;
		scanf("%s", KisiBilgileri[guncellenecekKisininNumarasi].adresler.mahalle);
	}
	else if (sec == 8)
	{
		printf("Eski Bilgi : %s\n", KisiBilgileri[guncellenecekKisininNumarasi].adresler.sokak);
		printf("Yeni Bilgi : "); flushall;
		scanf("%s", KisiBilgileri[guncellenecekKisininNumarasi].adresler.sokak);
	}
	else if (sec == 9)
	{
		printf("Eski Bilgi : %s\n", KisiBilgileri[guncellenecekKisininNumarasi].adresler.numara);
		printf("Yeni Bilgi : "); flushall;
		scanf("%s", KisiBilgileri[guncellenecekKisininNumarasi].adresler.numara);
	}
	else if (sec == 10)
	{
		printf("Eski Bilgi : %s\n", KisiBilgileri[guncellenecekKisininNumarasi].adresler.epostaadresi);
		printf("Yeni Bilgi : "); flushall;
		scanf("%s", KisiBilgileri[guncellenecekKisininNumarasi].adresler.epostaadresi);
	}
	else if (sec == 11)
	{
		printf("Eski Bilgi : %s\n", KisiBilgileri[guncellenecekKisininNumarasi].dogum.gun);
		printf("Yeni Bilgi : "); flushall;
		scanf("%s", KisiBilgileri[guncellenecekKisininNumarasi].dogum.gun);
	}
	else if (sec == 12)
	{
		printf("Eski Bilgi : %s\n", KisiBilgileri[guncellenecekKisininNumarasi].dogum.ay);
		printf("Yeni Bilgi : "); flushall;
		scanf("%s", KisiBilgileri[guncellenecekKisininNumarasi].dogum.ay);
	}
	else if (sec == 13)
	{
		printf("Eski Bilgi : %s\n", KisiBilgileri[guncellenecekKisininNumarasi].dogum.yil);
		printf("Yeni Bilgi : "); flushall;
		scanf("%s", KisiBilgileri[guncellenecekKisininNumarasi].dogum.yil);
	}
}
void arama(struct Rehber KisiBilgileri[BUFSIZ])
{
	SIL
		char aranacakisim[BUFSIZ];
	char yanit = 'e';
	char secenek = 0;
	do
	{
		printf("Isme gore arama icin 1 i \nSoy isme gore arama yapmak icin 2'a basiniz..\n");
		secenek = getch();
		char Bayrak = 'H';
		if (secenek == '1')
		{
			printf("\n Aradiginiz Kisinin Adini Giriniz..\n");
			flushall();
			gets(aranacakisim);
			for (int i = 0; i <= N; i++)
			{
				if (strcmp(KisiBilgileri[i].Isim, aranacakisim) == 0)//teker teker kontrol etmede strcmp kullanırız
				{
					ekranaYazdir(KisiBilgileri, i);
					Bayrak = 'E';
				}
			}
			if (Bayrak == 'H')
			{
				printf(" Aradiginiz Kisi Bulunamadi!..\n");
			}
		}
		else if (secenek == '2')
		{
			printf("\n Aradiginiz Kisinin Soy Adini Giriniz..\n");
			flushall();
			gets(aranacakisim);
			for (int i = 0; i <= N; i++)
			{
				if (strcmp(KisiBilgileri[i].Soyad, aranacakisim) == 0)
				{
					ekranaYazdir(KisiBilgileri, i);
					Bayrak = 'E';
				}
			}
			if (Bayrak == 'H')
			{
				printf(" Aradiginiz Kisi Bulunamadi!..\n");
			}
		}
		printf(" Aramaya Devam Etmek Istiyor musunuz ? < Evet >\n");
		yanit = tolower(getch());
	} while (yanit == 'e');
}
void silme(struct Rehber KisiBilgileri[BUFSIZ])
{
	int silinenecekKisininNumarasi = 0;
	char silEmin;
	int sec;//Silinellenecek bilginin numarasidir.
	for (int i = 0; i < N; i++)
	{
		ekranaYazdir(KisiBilgileri, i);
	}
	printf("Silmek istediginiz kisinin numarasini giriniz lutfen\n");
	scanf("%d", &silinenecekKisininNumarasi);
	SIL
		silinenecekKisininNumarasi--;
	ekranaYazdir(KisiBilgileri, silinenecekKisininNumarasi);
	printf("\nBu kisinin dogru kisi olduguna emin misiniz?");
	silEmin = tolower(getch());
	if (silEmin == 'e')
	{
		strcpy(KisiBilgileri[silinenecekKisininNumarasi].Isim, KisiBilgileri[N - 1].Isim);
		strcpy(KisiBilgileri[silinenecekKisininNumarasi].Soyad, KisiBilgileri[N - 1].Soyad);
		strcpy(KisiBilgileri[silinenecekKisininNumarasi].evtelefonu, KisiBilgileri[N - 1].evtelefonu);
		strcpy(KisiBilgileri[silinenecekKisininNumarasi].istelefonu, KisiBilgileri[N - 1].istelefonu);
		strcpy(KisiBilgileri[silinenecekKisininNumarasi].ceptelefonu, KisiBilgileri[N - 1].ceptelefonu);
		strcpy(KisiBilgileri[silinenecekKisininNumarasi].adresler.il, KisiBilgileri[N - 1].adresler.il);
		strcpy(KisiBilgileri[silinenecekKisininNumarasi].adresler.mahalle, KisiBilgileri[N - 1].adresler.mahalle);
		strcpy(KisiBilgileri[silinenecekKisininNumarasi].adresler.sokak, KisiBilgileri[N - 1].adresler.sokak);
		strcpy(KisiBilgileri[silinenecekKisininNumarasi].adresler.numara, KisiBilgileri[N - 1].adresler.numara);
		strcpy(KisiBilgileri[silinenecekKisininNumarasi].adresler.epostaadresi, KisiBilgileri[N - 1].adresler.epostaadresi);
		strcpy(KisiBilgileri[silinenecekKisininNumarasi].dogum.gun, KisiBilgileri[N - 1].dogum.gun);
		strcpy(KisiBilgileri[silinenecekKisininNumarasi].dogum.ay, KisiBilgileri[N - 1].dogum.ay);
		strcpy(KisiBilgileri[silinenecekKisininNumarasi].dogum.yil, KisiBilgileri[N - 1].dogum.yil);
		N--;
	}
}
void txtYaz(struct Rehber KisiBilgileri[BUFSIZ])
{
	FILE *rehber;//dosya acma
	rehber = fopen("Rehber.csv", "w");//dsyaya yazma
	if (rehber == NULL)
	{
		printf("DOsya bulunamadi\n");
	}
	else
	{
		for (int i = 0; i < N; i++)
		{
			//fprintfler ile dosyaya yazma
			fprintf(rehber, "%s\t", KisiBilgileri[i].Isim);
			fprintf(rehber, "%s\t", KisiBilgileri[i].Soyad);
			fprintf(rehber, "%s\t", KisiBilgileri[i].evtelefonu);
			fprintf(rehber, "%s\t", KisiBilgileri[i].ceptelefonu);
			fprintf(rehber, "%s\t", KisiBilgileri[i].istelefonu);
			fprintf(rehber, "%s\t", KisiBilgileri[i].adresler.il);
			fprintf(rehber, "%s\t", KisiBilgileri[i].adresler.mahalle);
			fprintf(rehber, "%s\t", KisiBilgileri[i].adresler.sokak);
			fprintf(rehber, "%s\t", KisiBilgileri[i].adresler.numara);
			fprintf(rehber, "%s\t", KisiBilgileri[i].adresler.epostaadresi);
			fprintf(rehber, "%s\t", KisiBilgileri[i].dogum.gun);
			fprintf(rehber, "%s\t", KisiBilgileri[i].dogum.ay);
			fprintf(rehber, "%s\n", KisiBilgileri[i].dogum.yil);
		}
	}
	fclose(rehber);//dosyayı kapama
}

Feet ,inç ve Cm Dönüşümleri C++

1 feet = 30,48 cm && 1 cm = 0,0328

1 inç = 2.54 cm && 1 cm = 0.3937

#include "iostream"
#include "locale.h"

using namespace std;

void feet_cevir();
void inc_cevir();
void feetcm();
void cmfeet();
void inccm();
void cminc();


int feet,inc,cm;
int main()
{
	setlocale(LC_ALL, "Turkish");
	cout << "~~Uzunluk Birimi Çevirme~~" << endl;
	cout << "1)feet-cm " << endl;
	cout << "2)inç-cm" << endl;
	cout << "\nislemi seç" << endl;
	int secim;
	cin >> secim;

	switch (secim)
	{
	case 1:
		feet_cevir();
		break;
	case 2:
		inc_cevir();
		break;
	default:
		break;
	}
	system("pause");
	return 0;
}

void feet_cevir(){
	cout << "Feet - Cm işlemleri" << endl;
	cout << "1) feet-cm" << endl;
	cout << "2) cm-feet" << endl;
	cout << "\nislemi seç" << endl;
	int feet_secim;
	cin >> feet_secim;

	switch (feet_secim)
	{
	case 1:
		feetcm();
		break;
	case 2:
		cmfeet();
		break;
	default:
		break;
	}
}

void inc_cevir(){
	cout << "inc - Cm işlemleri" << endl;
	cout << "1) inc-cm" << endl;
	cout << "2) cm-nc" << endl;
	cout << "\nislemi seç" << endl;
	int inc_secim;
	cin >> inc_secim;

	switch (inc_secim)
	{
	case 1:
		inccm();
		break;
	case 2:
		cminc();
		break;
	default:
		break;
	}

	
}


void feetcm(){
	cout << "\feet - cm dönüştürücüsü" << endl;
	cout << "feet : ";
	cin >> feet;
	if (feet < 0)
		cout << "hatalı giriş.";
	else
	{
		cm = 0.0328*feet;
		cout << "cm :  " << cm << endl;
	}
	
}

void cmfeet(){
	cout << "\cm - feet dönüştürücüsü" << endl;
	cout << "cm : ";
	cin >> cm;
	if (cm < 0)
		cout << "hatalı giriş.";
	else
	{
		feet = 39.48*cm;
		cout << "feet :  " << feet << endl;
	}
	
}


void inccm(){
	cout << "\inc - cm dönüştürücüsü" << endl;
	cout << "inc : ";
	cin >> inc;
	if (inc < 0)
		cout << "hatalı giriş.";
	else
	{
		cm = 0.393*inc;
		cout << "cm :  " << cm << endl;
	}

}

void cminc(){
	cout << "\cm - feet dönüştürücüsü" << endl;
	cout << "cm : ";
	cin >> cm;
	if (cm < 0)
		cout << "hatalı giriş.";
	else
	{
		inc = 2.54*cm;
		cout << "inc :  " << inc << endl;
	}
}

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