#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
char islem_def;
double hesapla(int baslangic,int bitis,char islem) {
double matematiksel_islem = 0;
if (islem == 't') { //iki sayi arasındaki toplam
for (int i = baslangic; i <= bitis; i++)
{
matematiksel_islem = matematiksel_islem + i;
}
return matematiksel_islem;
}
if (islem == 'o') { // ortalama
double numbercount = 0;
for (int i = baslangic; i <= bitis; i++)
{
matematiksel_islem = matematiksel_islem + i;
numbercount++;
}
double ortalama = matematiksel_islem / numbercount;
return ortalama;
}
if (islem == 'u') { //üç ile tam bölünebilen tek sayıların kareleri toplamı
for (int i = baslangic; i <= bitis; i++)
{
if ((i % 3) == 0 && (i % 2 != 0)) //sayı üçe tam bölünebiliyorsa ve çift sayı değilse, yani tek sayıysa
matematiksel_islem = matematiksel_islem + pow(i,2);
}
return matematiksel_islem;
}
if (islem == 'k') { //çift sayıların kareköklerinin toplamı
for (int i = baslangic; i <= bitis; i++)
{
if (i % 2 == 0) //sayı eğer çiftse
matematiksel_islem = matematiksel_islem + sqrt(i);
}
return matematiksel_islem;
}
return nan("");
}
int baslangic, bitis;
int main()
{
cout << "'t' girilirse iki sayi arasindaki sayilar toplanacak, \n";
cout << "'o' girilirse iki sayi arasindaki sayilarin ortalamasi bulunacak, \n";
cout << "'u' girilirse iki sayi arasindaki 3 ile tam bolunen tek sayilarin kareleri toplami bulunacak, \n";
cout << "'k' girilirse iki sayi arasindaki cift sayilarin karekoklerinin toplami hesaplanir. \n \n";
kontrol:
cout << "Baslangic sinirini giriniz: ";
cin >> baslangic;
cout << "Bitis sinirini giriniz: ";
cin >> bitis;
if (baslangic == bitis){
printf("Lutfen baslangic ve bitis sayilari birbirlerine esit olmasin ! Sayilari tekrar giriniz \n");
goto kontrol;
}
kontrol_1:
cout << "Yapilacak islemi belirleyiniz:";
cin >> islem_def;
double sonuc = hesapla(baslangic, bitis, islem_def);
if (!isnan(sonuc)) {
printf("Islem sonucu = %f \n", sonuc);
}
else {
printf("Belirlenmeyen isleme karsilik gelen harf girdiniz, lutfen tekrar islem seciniz \n");
goto kontrol_1;
}
system("pause");
}