Soru & Cevap

arkadaşlar c++ alıyorum ...

19.03.2016 - 11:43


#include <conio.h>
#include <iostream>
using namespace std;

int main()


     double a,b,c,x,disc;
     cout<<"a,b,c,x degerlerini giriniz= ";
     cin>>a,b,c,x;
     disc=(a+b+c);
     if(disc<=0 && a>0)
     {
         cout<<"y= "<<y=((a*b)-(c*x))/disc;
     }
     else if(disc<=0 && (b-c)!=0)
     {
         cout<<"y= "<<y=abs(x*disc);
     }
     else if(a>c || b+c=0)
     {
         cout<<"y= "<<y=disc*disc*disc;
     }
     else
     {
         cout<<"y= "<<y=(a+b+c)/x;
      }

 

     getch();
     return(0);
}

burdaki hatayı söylerseniz sevinirim 

program c++

16 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-36644-1418237484.jpg
gizemnuryurdagul
20.03.2016 - 11:40

else if(a>c || b+c=0) yerine else if(a>c || b+c==0) demelisin. Ayrıca cout<<"y= "; diyerek ekranda y= görürsün sadece. cout<<"y= "<<y; dersen y=1.5 gibi oluşan değeri görebilirsin

Profile picture for user serhatoluc
serhatoluc
20.03.2016 - 11:10


int main()
{
     double a,b,c,x,disc,y;
     cout<<"a,b,c,x degerlerini giriniz= ";
     cin>>a>>b>>c>>x;
     disc=(a+b+c);
    
     if(disc<=0 && a>0)
     {
      y=((a*b)-(c*x))/disc;
  cout<<"y= ";
  }
  else if(disc<=0 && (b-c)!=0)
  {
    y=abs(x*disc);
   cout<<"y= ";
  }
  else if(a>c || b+c=0)
  {
   y=disc*disc*disc;
  cout<<"y= ";
  }
  else
  {
      y=(a+b+c)/x;
   cout<<"y= ";
  }



     getch();
     return(0);
}

aslında programı bu şekline kadar düzelttim ama

else if'in içinde y=abs satırında tek bi hata kaldı onu bulamıyorum

picture-36644-1418237484.jpg
gizemnuryurdagul
20.03.2016 - 10:53

Merhaba Serhat,

Aslında burada pek çok hata var. İlk olarak  cin>>a,b,c,x; diyerek birden fazla sayı alamazsın.cin>>a>>b>>c>>x; şeklinde olmalı.

İkinci olarak  cout<<"y= "<<y=((a*b)-(c*x))/disc; diyerek y'yi burada istediğin sayıya eşitleyemezsin. 

y=((a*b)-(c*x))/disc;
 cout<<"y= "<<y; olmalı.

üçüncü olarak  else if(a>c || b+c=0) diyemezsin.  else if(a>c || b+c==0) olarak b+c nin 0'a eşit olup olmadığını kontol etmeli.

Kodun çalışır hali şu şekilde;

#include <conio.h>
#include <iostream>
using namespace std;

int main(){

     double a,b,c,x,disc,y;
     cout<<"a,b,c,x degerlerini giriniz= ";
     cin>>a>>b>>c>>x;
     
     disc=(a+b+c);
     if(disc<=0 && a>0)
     {
         y=((a*b)-(c*x))/disc;
         cout<<"y= "<<y;
     }
     else if(disc<=0 && (b-c)!=0)
     {
         y=abs(x*disc);
         cout<<"y= "<<y;
     }
     else if( c<a || b+c==0)
     {
         y=disc*disc*disc;
         cout<<"y= "<<y;
     }
     else
     {
         y=(a+b+c)/x;
         cout<<"y= "<<y;
      }

     getch();
     return(0);
}