C++ sorusu

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üye
Katılım
17 Haz 2020
Mesajlar
4
Tepki puanı
0
Yaş
32
5 HİZMET YILI
Klavyeden girilen iki sayı arasındaki sayılarla (girilen sayılar dahil) Hesapla isimli fonksiyon kullanılarak bazı işlemler yapılacaktır. Klavyeden girilen iki sayı ve yapılacak işlem tercihi (toplam üç parametre) Hesapla fonksiyonuna gönderilecek ve main fonksiyonuna dönen cevaplar ekranda gösterilecektir. Buna göre işlem tercihi olarak; 2 • ‘t’ girilirse iki sayı arasındaki sayılar toplanacak, • ‘o’ girilirse iki sayı arasındaki sayıların ortalaması bulunacak, • ‘u’ girilirse iki sayı arasındaki 3 ile tam bölünen tek sayıların kareleri toplamı bulunacak, • ‘k’ girilirse iki sayı arasındaki çift sayıların kareköklerinin toplamı bulunarak sonuç main’e (ana programa) döndürülerek ekranda gösterilecektir. Bu işlemleri gerçekleştiren C++ programını tasarlayınız. Örnek program çıktısı aşağıdadır. Açıklama: Hesapla fonksiyonu kullanılmadan geliştirilen cevaplara puan verilmeyecektir. Hesapla fonksiyonunun kullanımı zorunludur.
 
Illumination
Onaylı Üye
Katılım
18 Haz 2016
Mesajlar
118
Tepki puanı
24
Ödüller
6
Yaş
26
9 HİZMET YILI
Örnek program çıktısını alabilir miyim?
 
Illumination
Onaylı Üye
Katılım
18 Haz 2016
Mesajlar
118
Tepki puanı
24
Ödüller
6
Yaş
26
9 HİZMET YILI
Bağlantıları görmek için lütfen Giriş Yap
şu şekilde yardımcı olursanız sevinirim
C++:
#include <string>
#include <iostream>
using namespace std;

int Hesapla(int a, int b, string girdi) {
    int sonuc = 0;
    switch (girdi[0]) {
    case't':
        if (a > b) {
            b++;
            for (; a > b; b++) {
                sonuc += b;
            }
        }
        else {
            a++;
                for (; b > a; a++)
                    sonuc += a;
        }
        break;
    case 'o':
        int boyut;
        if (a > b) {
            boyut = a - b - 2;
            b++;
            for (; a > b+1; b++) {
                sonuc += b;
            }
            sonuc = sonuc / boyut;
        }
        else {
            boyut = b - a - 2;
            a++;
            for (; b > a; a++)
                sonuc += a;
            sonuc = sonuc / boyut;
        }
        break;
    case 'u':
        if (a > b) {
            b++;
            for (; a > b; b++) {
                if (b % 3 == 0 && b % 2 == 1) {
                    sonuc += pow(b, 2);
                }
            }
        }
        else {
            a++;
            for (; b > a; a++)
                if (a % 3 == 0 && a % 2 == 1) {
                    sonuc += pow(a, 2);
                }
        }break;
    case 'k':
        if (a > b) {
            b++;
            for (; a > b; b++) {
                sonuc += sqrt(b);
            }
        }
        else {
            a++;
            for (; b > a; a++)
                sonuc += sqrt(a);
        }
        break;
    }
    return sonuc;
}

int main() {
    int a, b;
    string c;
    cout << "İslem yapmak istediginiz sayi araligini ve islem tercihinizi giriniz: "<<endl;
    cin >> a >> b >> c;
    cout<<Hesapla(a, b, c);
}

Genel olarak kod bu, bir yanlışlık varsa düzeltirsin.
 
Üye
Katılım
17 Haz 2020
Mesajlar
4
Tepki puanı
0
Yaş
32
5 HİZMET YILI
C++:
#include <string>
#include <iostream>
using namespace std;

int Hesapla(int a, int b, string girdi) {
    int sonuc = 0;
    switch (girdi[0]) {
    case't':
        if (a > b) {
            b++;
            for (; a > b; b++) {
                sonuc += b;
            }
        }
        else {
            a++;
                for (; b > a; a++)
                    sonuc += a;
        }
        break;
    case 'o':
        int boyut;
        if (a > b) {
            boyut = a - b - 2;
            b++;
            for (; a > b+1; b++) {
                sonuc += b;
            }
            sonuc = sonuc / boyut;
        }
        else {
            boyut = b - a - 2;
            a++;
            for (; b > a; a++)
                sonuc += a;
            sonuc = sonuc / boyut;
        }
        break;
    case 'u':
        if (a > b) {
            b++;
            for (; a > b; b++) {
                if (b % 3 == 0 && b % 2 == 1) {
                    sonuc += pow(b, 2);
                }
            }
        }
        else {
            a++;
            for (; b > a; a++)
                if (a % 3 == 0 && a % 2 == 1) {
                    sonuc += pow(a, 2);
                }
        }break;
    case 'k':
        if (a > b) {
            b++;
            for (; a > b; b++) {
                sonuc += sqrt(b);
            }
        }
        else {
            a++;
            for (; b > a; a++)
                sonuc += sqrt(a);
        }
        break;
    }
    return sonuc;
}

int main() {
    int a, b;
    string c;
    cout << "İslem yapmak istediginiz sayi araligini ve islem tercihinizi giriniz: "<<endl;
    cin >> a >> b >> c;
    cout<<Hesapla(a, b, c);
}

Genel olarak kod bu, bir yanlışlık varsa düzeltirsin.

teşekkür ederim şöyle bir hata alıyorum ne yapabilirim ?
Bağlantıları görmek için lütfen Giriş Yap
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst