C++ - Program obliczający równanie liniowe

0

Napisałem w C++ program obliczający równanie liniowe, jest jednak pewien błąd w programie.

Mianowicie, za pomocą pętli "if" zrobiłem warunek który sprawdza czy A i B jest równe 0 a jeżeli jest równa to wywala błąd.

I jak wywali mi błąd to pod błędem program wykonuje działanie, a tak nie powinno być. Chce aby tylko wywalił błąd i nic mi wtedy nie liczyło.
Pomoże mi ktoś i powie co mam źle:

#include <cstdlib> 
#include <iostream> 

using namespace std; 

int main(int argc, char *argv[]) 
{ 
  double a, b, x; 

  cout<<"Podaj a: "; 
  cin>>a; 
  cout<<"Podaj b: "; 
  cin>>b; 
  
  

  if(a==0.0){cout<<"Blad, A musi byc rozne od 0"<<endl;} 
  if(b==0.0){cout<<"Blad, B musi byc rozne od 0"<<endl;} 
  x=b/a; 
  cout<<"Wynik rownania liniowego to: "<<x<<endl; 
  
  
  system("pause"); 
  return 0; 
    
} 
1

Jeden ze sposobów:

 
if(a==0.0)
{
    cout<<"Blad, A musi byc rozne od 0"<<endl;
}   
else if(b==0.0)
{
    cout<<"Blad, B musi byc rozne od 0"<<endl;
} 
else
{
    x=b/a; 
    cout<<"Wynik rownania liniowego to: "<<x<<endl;
} 

Możesz też w ifach po cout'ach dodać return 0;

1

zrobiłem warunek który sprawdza czy A i B jest równe 0 a jeżeli jest równa to wywala błąd.

Nieprawda.
Twój warunek to "jeżeli A LUB B jest równe 0, wywal błąd".
Poczytaj o operatorze && oraz słówku else.
I zmień środowisko.

0

Dzięki, za pomoc. Zmienić środowiska nie mogę gdyż w szkole na C++ pracujemy, stąd też moja dziwna forma zapisu programu. Gdyż nauczyciel tak piszę na lekcji przez co potem jak szukam czegoś w necie to kody źródłowe napisane normalnie są dla mnie mało czytelne. Kolega wyżej zrobił to bez && ale zaraz o tym poczytam. Dzięki.

0

Koledze wyżej chodziło o zmianę środowiska, czyli programu, w którym piszesz kod. Ściągnij sobie Code::Blocks. Na początek przygody z C++ będzie chyba najlepszym wyborem.

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