C++ trywialny roblem

Po napisaniu programu, który sprawdza położenie punktu na okręgu lub poza nim wyskakuje mi błąd w warunku na else if, mianowicie przy równaniu które równa się r*r, jeśli nie ma tam znaku równości, ale dla sprawdzenia wprowadzę tam inny warunek np “<” wszystko jest ok… Poza tym mam wrażenie, że sama instrukcja else if jest “dziurawa” ponieważ nawet gdy wprowadzę dla przykładu w niej warunek x=0 i podam z klawiatury x=0 to i tak jej niebierze pod uwagę, a wykonuje od razu instrukcje else. Bardzo proszę o wskazówki.

#include 

#include 


using namespace std;


int main(int argc, char *argv[])

{



    double x,y,r,xc,yc;





cout<<"Podaj wspolrzedna xc srodka okregu: "<
cin>>xc;


cout<<"Podaj wspolrzedna yc srodka okregu: "<
cin>>yc;


cout<<"Podaj promien danego okregu: "<
cin>>r;


cout<<"Podaj wspolrzedna x punktu ktorego polozenie zamierzasz zbadac: "<
cin>>x;


cout<<"Podaj wspolrzedna y punktu ktorego polozenie zamierzasz zbadac: "<
cin>>y;




cout<


if ((x-xc)*(x-xc)+(y-yc)*(y-yc)<=r*r) {cout<<"punkt lezy wewnatrz okregu"<

 else if ((x-xc)*(x-xc)+(y-yc)*(y-yc)=r*r) {cout<<"Punkt lezy na obręczy okręgu"<


else {cout<<"punkt lezy poza okregiem"<







    system("PAUSE");

    return EXIT_SUCCESS;

}

Musisz dać == a nie pojedyncze =.

Pojedynczy = oznacza przypisanie, podwojne jest porownaniem, a właśnie porównać chcesz.

asics43 ,

Zapoznaj się z tematem i popraw tytuł tematu na konkretny, mówiący o problemie. W celu dokonania zaleconej korekty proszę użyć przycisku Edytuj przy poście otwierającym ten temat.

Zignorowanie zalecenia będzie skutkowało przeniesieniem tematu do Kosza.

Tego typu trywialne blędy wynikają z nieznajomości języka, zamiast pytać o takie rzeczy na forum lepiej się douczyć.

Do C++ polecam http://www.intercon.pl/~sektor/cbx/ oraz http://xion.org.pl/productions/texts/coding/megatutorial/ :wink: