Yardım [ÇÖZÜLDÜ]C++'da fonksiyonların kullanımını öğrenmeye çalışıyorum aldığım hatayı anlamadım.

Bu konuyu okuyanlar

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

ByMoToRisT

Asistan
Katılım
15 Ağustos 2017
Mesajlar
324
Reaksiyon puanı
181
Puanları
43
Arkadaşlar bu kodlardaki sorun ne? fonksiyonları double int ve void olarak denedim her seferinde farklı hatalar veriyor. Doğrusu ne?

C++:
#include <iostream>
#include <stdlib.h>

using namespace std;

double ikili(double s1, double s2)
{
    int sec;
    cout << "İşlem seçin: ";
    cin >> sec;
    
    switch (sec)
    {
        case 1:
        {
            return s1 + s2;
        }
        case 2:
        {
            return s1 - s2;
        }
        case 3:
        {
            return s1 * s2;
        }
        case 4:
        {
            return s1 / s2;
        }
        default:
        {
            break;
        }
    }
}

double uclu(double s1, double s2, double s3)
{
    int sec;
    cout << "İşlem seçin: ";
    cin >> sec;
    
    switch (sec)
    {
        case 1:
        {
            return s1 + s2 + s3;
        }
        case 2:
        {
            return s1 - s2 - s3;
        }
        case 3:
        {
            return s1 * s2 * s3;
        }
        default:
        {
            break;
        }
    }
}

double dortlu(double s1, double s2, double s3, double s4)
{
    int sec;
    cout << "İşlem seçin: ";
    cin >> sec;
    
    switch (sec)
    {
        case 1:
        {
            return s1 + s2 + s3 + s4;
        }
        case 2:
        {
            return s1 - s2 - s3 - s4;
        }
        case 3:
        {
            return s1 * s2 * s3 * s4;
        }
        default:
        {
            break;
        }
    }
}

int main()
{
    double sayi1, sayi2, sayi3, sayi4;
    int girdi;
    
    cout << "İşlemler:" << endl << "1: Toplama \n2: Çıkarma \n3: Çarpma \n4: Bölme(sadece ikili işlemler)" << endl;
    
    cout << "\n\n\t\t\tKaç adet sayı ile işlem yapmak istiyorsunuz? (max 4)  ";
    cin >> girdi;
    
    if (girdi == 2)
    {
        cout << "Birinci sayı: ";
        cin >> sayi1;
        cout << "İkinci sayı: ";
        cin >> sayi2;
        
        cout << ikili(sayi1, sayi2);
    }
    else if (girdi == 3)
    {
        cout << "Birinci sayı: ";
        cin >> sayi1;
        cout << "İkinci sayı: ";
        cin >> sayi2;
        cout << "Üçüncü sayı: ";
        cin >> sayi3;
        
        cout << uclu(sayi1, sayi2, sayi3);
    }
    else if (girdi == 4)
    {
        cout << "Birinci sayı: ";
        cin >> sayi1;
        
        cout << "İkinci sayı: ";
        cin >> sayi2;
        
        cout << "Üçüncü sayı: ";
        cin >> sayi3;
        
        cout << "Dördüncü sayı: ";
        cin >> sayi4;
        
        cout << dortlu(sayi1, sayi2, sayi3, sayi4);
    }
    
    return main();
}
Mesaj otomatik birleştirildi:

Problemi çözdüm. Veri döndürmeyi case dışında yaptım. Doğrusunu bırakıyorum belki başkalarının işine yarar.

C++:
#include <iostream>
#include <stdlib.h>

using namespace std;

double ikili(double s1, double s2)
{
    int sec;
    double sonuc;
    cout << "İşlem seçin: ";
    cin >> sec;
    
    switch (sec)
    {
        case 1:
        {
            sonuc = s1 + s2;
            break;
        }
        case 2:
        {
            sonuc = s1 - s2;
            break;
        }
        case 3:
        {
            sonuc = s1 * s2;
            break;
        }
        case 4:
        {
            sonuc = s1 / s2;
            break;
        }
        default:
        {
            break;
        }
    }
    return sonuc;
}

double uclu(double s1, double s2, double s3)
{
    int sec;
    double sonuc;
    cout << "İşlem seçin: ";
    cin >> sec;
    
    switch (sec)
    {
        case 1:
        {
            sonuc = s1 + s2 + s3;
            break;
        }
        case 2:
        {
            sonuc = s1 - s2 - s3;
            break;
        }
        case 3:
        {
            sonuc = s1 * s2 * s3;
            break;
        }
        default:
        {
            break;
        }
    }
    return sonuc;
}

double dortlu(double s1, double s2, double s3, double s4)
{
    int sec;
    double sonuc;
    cout << "İşlem seçin: ";
    cin >> sec;
    
    switch (sec)
    {
        case 1:
        {
            sonuc = s1 + s2 + s3 + s4;
            break;
        }
        case 2:
        {
            sonuc = s1 - s2 - s3 - s4;
            break;
        }
        case 3:
        {
            sonuc = s1 * s2 * s3 * s4;
            break;
        }
        default:
        {
            break;
        }
    }
    return sonuc;
}

int main()
{
    double sayi1, sayi2, sayi3, sayi4;
    int girdi;
    
    cout << "\n\nİşlemler:" << endl << "1: Toplama \n2: Çıkarma \n3: Çarpma \n4: Bölme(sadece ikili işlemler)" << endl;
    
    cout << "\n\n\t\t\tKaç adet sayı ile işlem yapmak istiyorsunuz? (max 4):  ";
    cin >> girdi;
    
    if (girdi == 2)
    {
        cout << "Birinci sayı: ";
        cin >> sayi1;
        cout << "İkinci sayı: ";
        cin >> sayi2;
        
        cout << "\t\t\t" << ikili(sayi1, sayi2);
    }
    else if (girdi == 3)
    {
        cout << "Birinci sayı: ";
        cin >> sayi1;
        cout << "İkinci sayı: ";
        cin >> sayi2;
        cout << "Üçüncü sayı: ";
        cin >> sayi3;
        
        cout << "\t\t\t" << uclu(sayi1, sayi2, sayi3);
    }
    else if (girdi == 4)
    {
        cout << "Birinci sayı: ";
        cin >> sayi1;
        
        cout << "İkinci sayı: ";
        cin >> sayi2;
        
        cout << "Üçüncü sayı: ";
        cin >> sayi3;
        
        cout << "Dördüncü sayı: ";
        cin >> sayi4;
        
        cout << "\t\t\t" << dortlu(sayi1, sayi2, sayi3, sayi4);
    }
    
    return main();
}
 
Son düzenleme:
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst