Jak zrobić, żeby w wypadku braku rozwiązań przechodził do ostatnich linii?

0

Jak zrobić, żeby w wypadku braku rozwiązań przechodził do ostatnich linii i nie próbował dzielić przez 0.

uses
  crt;
var
  a,b,c : integer;
  x : Real;    
begin
  writeln ('Obliczanie równania c = a * x + b');
  writeln ('----------------------------------------------');
 
  writeln ('Podaj wspolczynniki a, b oraz c');
  writeln;
  write('a = '); readln(a);
  writeln;
  write('b = '); readln(b);
  writeln;
  write('c = '); readln(c);
  writeln;
  writeln('----------------------------------------------');
  writeln('WYNIK');
  writeln;

	if (a=0) and (b<>0) and (c<>b) then 

		begin
		writeln ('brak rozwiazan')
		end;

	if (a=0) and (c=b) then writeln ('wiele rozwiazan')

 
		else 

		begin
		x := (c-b)/a;
		writeln('x = ' , x:2:2);
		end;

  writeln;
  writeln('----------------------------------------------');
  writeln('Koniec. Nacisnij klawisz Enter...');
  readln;
end. 
0

dodaj po pierwszym ifie else

1

Raczej chodzi o to:

if (a = 0) and (b <> 0) and (c <> b) then
  WriteLn('brak rozwiazan')
else
  if (a = 0) and (c = b) then
    WriteLn('wiele rozwiazan')
  else
    WriteLn('x = ', ((c-b)/a):2:2);

Dzięki temu tylko jeden warunek zostanie spełniony.

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