Skocz do zawartości

Problem z procedurami pascal


Recommended Posts

program menu;
uses CRT;


//1.TABLICZKA MNOZENIA

procedure tabliczka;

var i,j:integer;


begin
textcolor(white);
for i:=1 to 1 do
for j:=1 to 10 do
write(i,'*',j,'=',i*j,' ');
writeln;
  textcolor(yellow);
  for i:=2 to 2 do
  for j:=1 to 10 do
  write(i,'*',j,'=',i*j,' ');
  writeln;
textcolor(white);
for i:=3 to 3 do
for j:=1 to 10 do
write(i,'*',j,'=',i*j,' ');
writeln;
  textcolor(yellow);
  for i:=4 to 4 do
  for j:=1 to 10 do
  write(i,'*',j,'=',i*j,' ');
  writeln;
textcolor(white);
for i:=5 to 5 do
for j:=1 to 10 do
write(i,'*',j,'=',i*j,' ');
writeln;
  textcolor(yellow);
  for i:=6 to 6 do
  for j:=1 to 10 do
  write(i,'*',j,'=',i*j,' ');
  writeln;
textcolor(white);
for i:=7 to 7 do
for j:=1 to 10 do
write(i,'*',j,'=',i*j,' ');
writeln;
  textcolor(yellow);
  for i:=8 to 8 do
  for j:=1 to 10 do
  write(i,'*',j,'=',i*j,' ');
  writeln;
textcolor(white);
for i:=9 to 9 do
for j:=1 to 10 do
write(i,'*',j,'=',i*j,' ');
writeln;
  textcolor(yellow);
  for i:=10 to 10 do
  for j:=1 to 10 do
  write(i,'*',j,'=',i*j,' ');
  writeln;
  textcolor(white);
writeln;
writeln('Wcisnij "ENTER" by powrucic do MENU');


end;

//2.MIEJSCA ZEROWE I WIERZCHOLEK


procedure mzerowe(var w:char; var a,b,c,x,p,q,x1,x2,d:real);


begin
clrscr;
writeln('Podaj wspolczynniki rownania kwadratowego:');
writeln;

if a=0 then writeln('Funkcja nie jest kwadratowa!');
if a<>0 then
begin
d:=(b*b)-4*a*c;
p:=-b/(2*a);
q:=-d/(4*a);


if d>0 then
begin
x1:=(-b-sqrt(d))/(2*a);
x2:=(-b+sqrt(d))/(2*a);
writeln;
writeln('2 miejsca zerowe:');
writeln('x1=', x1:2:2);
writeln('x2=', x2:2:2);
writeln;
writeln;
writeln('Wspolrzedne wierzcholka: ');
writeln;
writeln('p = ' , p:2:2);
writeln('q = ' , q:2:2);
writeln;
end;

if d=0 then
begin
writeln('1 miejsce zerowe:');
writeln('x=', x:2:2);
writeln;
writeln('Wspolrzedne wierzcholka: ');
writeln;
writeln('p = ' , p:2:2);
writeln('q = ' , q:2:2);
end;

if d<0 then
begin
writeln('Brak miejsc zerowych.');
writeln;
writeln('Wspolrzednie wierzcholka:');
writeln;
writeln('p = ' , p:2:2);
writeln('p = ' , q:2:2);
end;
write(w);
end;
writeln;





{10.MENU}

procedure menu;
var a,b,c:real; y:integer;
begin
writeln('Wybierz jedna z opcji:');
writeln;
writeln('1.Tabliczka mnozenia');
writeln('2.Miejsca zerowe i wierzcholek');
writeln('3.Wyjscie');
writeln;
readln(y);
case y of
1: tabliczka;
2: begin
write('a=');
readln(a);
write('b=');
readln(b);
write('c=');
readln(c);
mzerowe(a,b,c);
end;
3: halt;
else writeln('Nie ma takiej opcji, wybierz cos innego!');
end;
readln;
clrscr;
menu;
end;






BEGIN
clrscr;
textcolor(white);
menu;
readkey
END.

Siema. Mam na zadanie zrobienie programu z menu z procedur

 

Coś nie gra w drugiej procedurze tj. MIEJSCA ZEROWE i WIERZCHOŁki

 

Nie wiem jak poustawiać zmienne w procedurze i co wpisać w menu przy drugim wyborze :] może ktoś wie ?

Link to post
Share on other sites

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Odpowiedz w tym wątku...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...