Długość boku - if else

0

Oblicz długość a w trójkącie prostokątnym na podstawie boku b i c.
Proszę o wytknięcie błędów.

#include <iostream>
using namespace std;
int main()

        {int b;
        cin >> b;
        if
        (b<0)
        cout << "Bok nie może być liczbą mniejszą od zera. Podaj liczbę dodatnią" << endl;
        else
                int c;
                cin >> c;
                if (c<0)
                cout << "Bok nie może być liczbą mniejszą od zera. Podaj liczbę dodatnią" << endl;
                else
                int a;
                a*a=c*c-b*b;
                cout "<< a <<"<< endl;
                return 0;
                        }
0
#include <iostream>
using namespace std;
int main()

        {int b;
        cin >> b;
        if
        (b<0)
        cout << "Bok nie może być liczbą mniejszą od zera. Podaj liczbę dodatnią" << endl;
        else
{//zjadłeś klamre
                int c;
                cin >> c;
                if (c<0)  cout << "Bok nie może być liczbą mniejszą od zera. Podaj liczbę dodatnią" << endl;
                else
{//znów zjadłeś
                int a;
                a*a=c*c-b*b;
                cout "<< a <<"<< endl;
}//naucz się składni if i else bo bez klamer jest do niej zaliczana aż do<b> ;</b>
}
                return 0;
                        }
0
  1. Jak już chcesz testować czy ktoś wpisał poprawne dane, to daj mu szanse je poprawić, tzn musisz zapętlić pobieranie b i c
  2. Formatowanie kodu woła o pomstę do nieba
  3. Gubisz {} przy if i przy else.
  4. Nie umiesz korzystać z cout<<
  5. Nie rozumiesz chyba że nie mozesz przypisać czegoś do wyniku działania. Twoje
    a*a = cośtam to jest coś w stylu:
    5 = cośtam.
    Nie możesz przyisać niczego liczbie...
#include <iostream>
#include <cmath>
using namespace std;
int main()

{
  int a,b,c;
  cin >> b;
  while(b<0)
  {
    cout << "Bok nie może być liczbą mniejszą od zera. Podaj liczbę dodatnią" << endl;
    cin>>b;
  }
  cin >> c;
  while(c<0)
  {
    cout << "Bok nie może być liczbą mniejszą od zera. Podaj liczbę dodatnią" << endl;
    cin>>c;
  }
  a = sqrt((c*c)-(b*b));
  cout << a <<endl;
  return 0;
}

0

Dziękuję.
Co jest nie tak z moim cout<<?

0

To że zamiast wypisać wartość zmiennej a wypisuje ci "<< a <<" ? ...

0

Fakt. Powinno być cout << ""<< a <<"" << endl;

0

@Elena666:
Polecam Ci rozważyć zmianę formatowania kodu. Zobacz, o ile czytelniej wygląda to Shaloma. Jeśli zapominasz nieraz o klamrach przy if-else, to... nie jesteś sama. Mi też się takie coś zdarzało, co prawda raz na ruski rok, ale jednak. Szczególnie gdy najpierw klamry nie było, bo miałem tam tylko jedną instrukcję. Rozwiązanie jest na szczęście proste: zawsze stawiaj klamry. A żeby zaoszczędzić trochę miejsca w pionie, możesz zastosować odmianę formatowania K&R zwaną 1TBS (One True Brace Style :D choć nazwa jest oczywiście żartobliwa, bo nie ma "jedynego słusznego" standardu kodowania).

0

Nie. Powinno być tak jak napisałem:

cout << a << endl;

1 użytkowników online, w tym zalogowanych: 0, gości: 1