Kodun hatası nerede?

Öncelikle kodun doğrusunu atayım ben, sonra açıklarım.
C++:
#include <iostream>

using namespace std;

int main(void)
{
    int a, b;
    cout << "birinci rakam: ";
    cin >> a;
    cout << "ikinci rakam: ";
    cin >> b;
   
    if((a<9) || (b<9))
    {
        cout<<"Girdiginiz a veya b sayisi 9'dan buyuk olmali"<<endl;
    }
   
    else
    {
        cout<<"Iki sayinin toplami: "<<a+b<<endl;
    }
   
    return 0;

}

  • Eğer if koyuyorsan else kısmını koyarsan iyi olur, sen örnekte return 0 aşamasından sonra if tabakasını koymuşsun, onu return 0'dan önce, yani int main fonksiyonu içinde yapmalısın,
  • Girilen a veya b 9'dan büyük olursa toplamamasını istiyorsan o kısmı else kısmında yapmalısın, yani istediğin durum gerçekleşmediğinde gerekli işlemleri else kısmında halletmelisin.
  • Genellikle C++'da fonksiyonlar küçük harfle başlar, cout, cin gibi. Include ifadesi de "include" olarak yazılır, yani küçük harfle,
  • Türkçe karakterler (ı, ö, ü, ğ) kullanmamaya çalış, karakter ve imla hatasına sebep olabilir, onun için kullanılabilecek kütüphane var, ama onu sonraki aşamada öğren.
 
Kod:
#include <iostream>

int main() {
    auto a{ 0 };
    auto b{ 0 };

    std::cout << "Birinci rakam: ";
    std::cin >> a;
    std::cout << "Ikinci rakam: ";
    std::cin >> b;

    if (a < 0 or a > 9 and b < 0 or b > 9) {
        std::cout << "Lutfen rakam giriniz\n";
    }
    else {
        std::cout << "Toplam: " << a + b << std::endl;
        std::cout << "---------Isleminizin sonucu bulunmustur\n";
    }
}

Değişkenleri her zaman ilklendirin.
Güncel kod standartlarını öğrenin ve kullanın.
C++'ta o şekilde aralık belirtme olmuyor. İki aralık belirtip Mantıksal VE/AND işlemi yapmalısın.
If'ten sonra noktalı virgül kullanmanın bir anlamı olmaz. Yeni bir scope açmalısın ve orada if şartı sağlanıyorsa ne yapılması gerektiğini belirtmelisin.
Değerler geçersiz iken işlem yapılmamasını istiyor gibisin. Bu durumda önce kontrol etmeli, kontrolden geçerse yazdırmalısın.
Global scope'ta namespace kullanmamayı alışkanlık haline getirmeni tavsiye ederim. İleride kullandığın şeyin hangi namespace'ten geldiğini bulmakla saatlerini harcayabilirsin.
Main fonksiyonunda sonunda değer döndürmen şart değil. Bu main fonksiyonuna özel bir durum.
Değer döndürdüğün an fonksiyon sonlanır. Senin kodunda 15. satıra girmemesi için herhangi bir şart vb. bir şey yok. Her türlü oraya kadar gelip bitecek. Ondan sonraki her şey anlamsız, gereksiz.
printf gibi C fonksiyonlarını kullanmaktan sakın. Aslında ikinci dediğime giriyor bu.
Yerelleştirme zımbırtılarını kullanmıyorsan Türkçe karakter kullanma.
Technopat Sosyal üzerinde kod paylaşıyorsan yazım denetimi kullanma. Büyük-küçük harf vb. hatalara sebep oluyor gibi duruyor.

Yine de daha bilindik haliyle de paylaşayım.
Kod:
#include <iostream>

using namespace std;

int main() {
    int a = 0;
    int b = 0;

    cout << "Birinci rakam: ";
    cin >> a;
    cout << "Ikinci rakam: ";
    cin >> b;

    if (a < 0 || a > 9 && b < 0 || b > 9) {
        cout << "Lutfen rakam giriniz\n";
    }
    else {
        cout << "Toplam: " << a + b << endl;
        cout << "---------Isleminizin sonucu bulunmustur\n";
    }
}
 

Yeni konular

Geri
Yukarı