İçeriğe geç

C++ HESAP MAKİNESİ

Merhaba aşağıda yazılım dillerinden olan Dev C++ ile bir çok açığı kapatılmış sonsuz döngülü C++ hesap makinesi ‘nin kodları mevcuttur.

#include <iostream>
#include <string>
#include <limits> //sadece sayı sınırlaması yapmak için



using namespace std;
int main()

{
	
	double birincisayi,ikincisayi;	

	double toplam=0;
	double cikarma=0;
	double carpma=0;
	double bolme=0;
	string secenek,islem;
	
	for(;;){   //sonsuz döngü
	
	
		
	cout<<"bir sayi giriniz: "<<endl;   
	while(!(cin>>birincisayi)){
	
	cin.clear();
	cin.ignore(numeric_limits<streamsize>::max(), '\n'); //sadece sayi girmemizi sağlar
	system("cls");
	cout<<"bir sayi giriniz!"<<endl;  
	
		
	}
	
	cout<<"ikinci sayiyi giriniz: "<<endl;
	while(!(cin>>ikincisayi)){
	
	cin.clear();
	cin.ignore(numeric_limits<streamsize>::max(), '\n'); //sadece sayi girmemizi sağlar
	system("cls");
	cout<<"bir sayi giriniz!"<<endl;
	
		
	}
	
	cout<<"1-TOPLAMA"<<endl;
	cout<<"2-CIKARMA"<<endl;
	cout<<"3-CARPMA"<<endl;
	cout<<"4-BOLME"<<endl;
	cout<<"lutfen bir secenek seciniz: "<<endl;
	cin>>secenek;
	if(secenek!="1"&&secenek!="2"&&secenek!="3"&&secenek!="4") //kullanıcı sadece 4 seçenek seçmesini sağlamak için
	{
		system("cls"); //ekran temzileme komutu
		cout<<"yanlis karakter girdiniz"<<endl;
		break;  //döngüyü kırma komutu
	}
	if(secenek=="1")
	{
		toplam=birincisayi+ikincisayi;
		system("cls");
		cout<<"sonucunuz: "<<toplam<<endl;
	}
	if(secenek=="2")
	{
		cikarma=birincisayi-ikincisayi;
		system("cls");
		cout<<"sonucunuz: "<<cikarma<<endl;
	}
	if(secenek=="3")
	{
		carpma=birincisayi*ikincisayi;
		system("cls");
		cout<<"sonucunuz: "<<carpma<<endl;
		
	}
	if(secenek=="4")
	{
		bolme=birincisayi/ikincisayi;
		system("cls");
		cout<<"sonucunuz: "<<bolme<<endl;
	}
	
	cout<<"isleminize devam etmek istermisiniz(E/H):"<<endl;
	cin>>islem;
	if(islem=="H")
	{
		system("cls");
		cout<<"iyi gunler "<<endl;
		break;
	}
	 else if (islem!="E"&&islem!="H") //kullanıcı sadece 2 seçenek seçmesini sağlamak için
	{
		system("cls");
		cout<<"yanlis karakter girdiniz"<<endl;
		break;
	}
}}

C++ hesap makinesi kodlarının ayrıntılı açıklamaları mevcuttur.

C++ hesap makinesi kütüphaneleri

#include <iostream>
#include <string>
#include <limits> 


Burada farklı olarak “#include <limits>” kütüphanesi var bu kullanıcıdan bir sayı isterken sayı dışında farklı bir karakter girmemesi için bir sınırlama yapar. Sadece sayı girilmesine izin verir.

C++ hesap makinesi değişkenleri

double birincisayi,ikincisayi;	

	double toplam=0;
	double cikarma=0;
	double carpma=0;
	double bolme=0;
	string secenek,islem;

Değişkenleri Double yapmamızın sebebi virgüllü sayıları bize tam olarak verebilmesi içindir.

String ise kullanıcının seçim yaparken harf girmesi gerekiyor ve bu komutu kullanmamız gerekiyor.

FOR

for(;;){  } //sonsuz döngü

For(;;) komutu sonsuz döngü demektir. Hesap makinesinden siz çıkmak isteyene ve kullanıcı yanlış bir karakter girene kadar devam eder.

C++ hesap makinesi kullanıcı girişi

	cout<<"bir sayi giriniz: "<<endl;   
	while(!(cin>>birincisayi)){
	
	cin.clear();
	cin.ignore(numeric_limits<streamsize>::max(), '\n'); //sadece sayi girmemizi sağlar
	system("cls");
	cout<<"bir sayi giriniz!"<<endl;  
	
	}

Burada komut kullanıcı sadece sayı girsin ve başka hiçbir şey harf, noktalama işareti v.b. karakterleri girmemesi için yazılmıştır.

Eğer farklı bir karakter girerse system(“cls”); komutu ile ekranı temizler ve “bir sayı giriniz!” mesajını ekrana yazar kullanıcı bir sayı girene kadar bu durum tekrarlanır.

Kullanıcı seçenekleri

	cout<<"1-TOPLAMA"<<endl;
	cout<<"2-CIKARMA"<<endl;
	cout<<"3-CARPMA"<<endl;
	cout<<"4-BOLME"<<endl;
	cout<<"lutfen bir secenek seciniz: "<<endl;
	cin>>secenek;
	if(secenek!="1"&&secenek!="2"&&secenek!="3"&&secenek!="4") //kullanıcı sadece 4 seçenek seçmesini sağlamak için
	{
		system("cls"); //ekran temzileme komutu
		cout<<"yanlis karakter girdiniz"<<endl;
		break;  //döngüyü kırma komutu
	}

Kullanıcıya seçenek sunulur ve bir tanesini seçmesi istenir. Kullanıcı 4 seçimden farklı bir seçim yapmasını istemediğimiz için bunu engellememiz gerekir ve if(secenek!=”1″&&secenek!=”2″&&secenek!=”3″&&secenek!=”4″) komutlarını yazarız böylelikle kullanıcı 4 seçenek dışında hiçbir şey seçemez ve yazamaz eğer yapar ise program ekranı temizler ve “yanlıs karakter girdiniz” mesajını ekrana yazdırır.

Yanliş karakter girişi engelleme

if(secenek!="1"&&secenek!="2"&&secenek!="3"&&secenek!="4") //kullanıcı sadece 4 seçenek seçmesini sağlamak için
	{
		system("cls"); //ekran temzileme komutu
		cout<<"yanlis karakter girdiniz"<<endl;
		break;  //döngüyü kırma komutu
	}

Eğer kullanıcının seçimi 1 değilse ve 2 değilse ve 3 değilse ve 4 değilse program ekranı temizler ve “yanlis karakter girdiniz” mesajını ekrana yazdırır.

Yapılan işlemler

	if(secenek=="1")
	{
		toplam=birincisayi+ikincisayi;
		system("cls");
		cout<<"sonucunuz: "<<toplam<<endl;
	}
	if(secenek=="2")
	{
		cikarma=birincisayi-ikincisayi;
		system("cls");
		cout<<"sonucunuz: "<<cikarma<<endl;
	}
	if(secenek=="3")
	{
		carpma=birincisayi*ikincisayi;
		system("cls");
		cout<<"sonucunuz: "<<carpma<<endl;
		
	}
	if(secenek=="4")
	{
		bolme=birincisayi/ikincisayi;
		system("cls");
		cout<<"sonucunuz: "<<bolme<<endl;
	}
	

Eğer kullanıcı secenek == “1” seçerse;

birincisayi ikincisayi ile toplayıp toplam değişkeninin içerisine atanır.Ekran temizlenir ve sonucunuz ekrana yazdırılır.

Eğer kullanıcı secenek == “2” seçerse;

birincisayi ikincisayidan çıkarılıp çıkarma değişkeninin içerisine atanır.Ekran temizlenir ve sonucunuz ekrana yazdırılır.

Eğer kullanıcı secenek == “3” seçerse;

birincisayi ikincisayi ile çarpılır çarpma değişkeninin içerisine atanır.Ekran temizlenir ve sonucunuz ekrana yazdırılır.

Eğer kullanıcı secenek == “4” seçerse;

birincisayi ikincisayi ya bölünüp bölme değişkeninin içerisine atanır.Ekran temizlenir ve sonucunuz ekrana yazdırılır.

Kullanıcı seçeneği

cout<<"isleminize devam etmek istermisiniz(E/H):"<<endl;
	cin>>islem;
	if(islem=="H")
	{
		system("cls");
		cout<<"iyi gunler "<<endl;
		break;
	}
	 else if (islem!="E"&&islem!="H") //kullanıcı sadece 2 seçenek seçmesini sağlamak için
	{
		system("cls");
		cout<<"yanlis karakter girdiniz"<<endl;
		break;
	}
}}

Kullanıcı işlemlerinize devam etmek ister misin diye bir soru sorulur .

Eğer kullanıcı islem==”H” seçimini yaparsa ekran temizlenir ve kullanıcıya “iyi gunler” mesajı ekrana yazılır.

Yanliş karakter girişi engelleme

 else if (islem!="E"&&islem!="H")

Komutu kullanıcıya sunulan 2 seçenekten başka bir seçim yapmaması için yani açık kapamak için kullanılır.

Kullanıcının seçimi “E” değilse ve “H” değilse ekranı temizle “yanlis karakter girdiniz” mesajını ekrana yazdır. Ve döngüyü kır.

Kullanıcı sadece “E” ve “H” harflerini girebilir onun dışında farklı hiçbir karakter giremez.

Kategori:GenelProjelerim

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir