Şimdi Ara

soru:if yapısını cin>> ile kullanmak

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
4
Cevap
0
Favori
230
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba.

    Yazılım öğrenmek için -hobi amaçlı- algoritma kitabından başladım. C++ da ufak programlar yapıyorum.
    Daha önceden tanımladığım a ve c char karakterlerini if içinde kullanmak istiyorum ama veri okuyamıyor.
    Şöyle ki;
    #include<iostream>
    #include <string>
    using namespace std;
    int main()
    {
    int kenar;
    string c,a,b;
    cout<<"karenin kenar uzunlugunu girin :";
    cin>>kenar;
    cout<<"cevre icin c, alan icin a girin :";
    cin>>a>>c;

    if (cin>>c)
    {
    cout<<4*kenar<<endl;
    }
    else if ( cin>>a)
    {
    cout<<kenar*kenar<<endl;
    }
    else
    {
    cout<<"yanlis giris"<<endl;
    }
    }

    Sonradan bir de string tanımladım ve yazılan c mi yoksa a mı diye baktım ama o da olmadı. Önerisi olan var mı?



  • Merhaba if(cin>>c) yapısını kullanarak kullanıcının girdiği değerin türünü kontrol edersiniz.
    Sizde c string olduğuna göre o if her halükarda çalışacaktır. Ama int c; deyip if(cin>>c) deseydik o zaman kullanıcı atıyorum bir harfe bastığında o if çalışmayacaktı.
    Ne yaptığınızdan çok emin değilseniz if() içerisinde cin kullanmanızı önermiyorum. Yapmak istediğiniz şey sanırım kullanıcının girdiği c veya a'ya göre alanı veya çevreyi yazdırmak. Bunun için iki adet c, a değişkeni oluşturmak yerine bir değişken oluşturup onun değerini kontrol etmek daha iyi.
    Kodunuzda ufak değişiklikler yaptım inceleyin.
     
    #include<iostream>
    #include <string>
    using namespace std;
    int main()
    {
    int kenar;
    string secenek;
    cout<<"karenin kenar uzunlugunu girin :";
    cin>>kenar;
    cout<<"cevre icin c, alan icin a girin :";
    cin>>secenek;

    if (secenek == "c")
    {
    cout<<4*kenar<<endl;
    }
    else if (secenek == "a")
    {
    cout<<kenar*kenar<<endl;
    }
    else
    {
    cout<<"yanlis giris"<<endl;
    }
    }




  • Teşekkür ederim. Çalıştı.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.