C++ If else döngüsü yanlış sonuç veriyor

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üye
Katılım
5 Kas 2022
Mesajlar
24
Tepki puanı
1
Ödüller
1
Yaş
22
3 HİZMET YILI
Hocalarım if else döngüsünde basit bir kod yazdım da 3. if'e gelince 2'yi de yazıp sonuç veriyor, 4 istesem 2 3 ve 4'ü sonuçlarıyla veriyor. Kod altta:

Kod:
int main()
{

    int a =0;
    int b = 0;
    char islem = '+';
    char islem2 = '-';
    char islem3 = '*';
    char islem4 = '/';

    std::cout << "Birinci sayiyi giriniz" << std::endl;
    std::cin >> a;
    std::cout << "Ikinci sayiyi giriniz" << std::endl;
    std::cin >> b;
    std::cout << " Islemi giriniz"<< std::endl;
    std::cin >> islem,islem2,islem3,islem4;


 if (islem == '+') {
    std::cout << "sonuc: " << a + b;
}
else if (islem2 == '-') {
    std::cout << "sonuc:" << a - b;
}
 else if (islem3 == '*') {
    std::cout << "sonuc:" << a * b;
}
 else if (islem4 == '/') {
    std::cout << "sonuc:" << a / b;
}
else {
    std::cout << "islem yok!";
  
}


}
 
Moderatörün son düzenlenenleri:
Uzman Üye
Katılım
16 Mar 2019
Mesajlar
151
Tepki puanı
12
Ödüller
6
7 HİZMET YILI
switch case ile daha iyi olurmus örnek yaptığın kod
 
Uzman Üye
Katılım
9 Şub 2016
Mesajlar
153
Çözümler
1
Tepki puanı
14
Ödüller
9
10 HİZMET YILI
Selamlar, islem1 islem2 islem3 diye işlem charlarını değişkene kaydetmenize gerek yok, kullanıcıdan bir input alıp onu kontrol etmelisiniz. Dikkat ederseniz yazdığınız kodda kullanıcı "işlem seçin" kısmında ne girerse girsin aşağıda yazdığınız şartlar zaten sağlanıyor.

C++:
#include <iostream>

int main()
{
    int a = 0;
    int b = 0;
    char islemim;
    
    std::cout << "Birinci sayiyi giriniz" << std::endl;
    std::cin >> a;
    std::cout << "Ikinci sayiyi giriniz" << std::endl;
    std::cin >> b;
    std::cout << "Islemi giriniz" << std::endl;
    std::cin >> islemim;
    
    if (islemim == '+') {
        std::cout << "sonuc: " << a + b;
    }
    else if (islemim == '-') {
        std::cout << "sonuc: " << a - b;
    }
    else if (islemim == '*') {
        std::cout << "sonuc: " << a * b;
    }
    else if (islemim == '/') {
        std::cout << "sonuc: " << a / b;
    }
    else {
        std::cout << "islem yok!" << std::endl;
    }
    return 0;
}
 
Üye
Katılım
22 May 2022
Mesajlar
46
Tepki puanı
12
Yaş
44
4 HİZMET YILI
else if (islem3 == '*') {
std::cout << "sonuc:" << a * b;
bu kod calışmadı bende
 
Uzman Üye
Katılım
20 Tem 2020
Mesajlar
297
Tepki puanı
16
Ödüller
5
Yaş
28
5 HİZMET YILI
gpt sorgulama yapamıyor mu hocam bu değerler için ?
 
Onaylı Üye
Katılım
21 Eyl 2023
Mesajlar
52
Tepki puanı
1
Yaş
35
2 HİZMET YILI
C++:
#include <iostream>

int main()
{

    int a =0;
    int b = 0;
    char islem;

    std::cout << "Birinci sayiyi giriniz" << std::endl;
    std::cin >> a;
    std::cout << "Ikinci sayiyi giriniz" << std::endl;
    std::cin >> b;
    std::cout << " Islemi giriniz"<< std::endl;
    std::cin >> islem;
   
    switch(islem) {
      case '+':
        std::cout << "sonuc: " << a + b;
        break;
      case '-':
        std::cout << "sonuc:" << a - b;
        break;
      case '*':
        std::cout << "sonuc:" << a * b;
        break;
      case '/':
        std::cout << "sonuc:" << a / b;
        break;
      default:
        std::cout << "islem yok!";
    }

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