Autor Wiadomość
pater
PostWysłany: Pon 16:58, 11 Kwi 2011    Temat postu:

Hej .
Nie jestem pewien swojej odpowiedzi bo programowałem jakieś 2 lata temu :/ Ale spróbuj w tym kodzie zmienić to :

begin
gotoxy(1,20);
writeln('Czy chcesz narysowa† jeszcze jednĄ ramkˆ ?');
writeln('1.Tak, Chcˆ');
writeln('2.Nie.');
readln(z);
while z!=2 do
begin prostokat;
while z=2 do exit;

I jeszcze jak możesz to opisz dokładnie na czym polega błąd jeśli to nie ten , z chęcią spróbuje pomóc Smile
pozdrawiam pater
kro0p3k
PostWysłany: Wto 14:42, 01 Cze 2010    Temat postu: Rysowanie Ramki.

Witam. Mam pewien problem.
Mamy na zadanie napisać program, który:
1. Pyta użytkownika o współrzędne :
a)Lewego górnego rogu
b)Prawego dolnego rogu.

Następnie rysuje owy Prostokąt.

2. Trzeba było zabezpieczyć program, aby ramka nie wychodziła poza ekran tj. Szerokość 80, wysokość 25.

3.Na samym końcu trzeba użyć procedury w pkt. 1 i zapytać użytkownika, czy Chce narysować jeszcze jedną ramkę.
jeżeli nie program się wyłącza, jeżeli tak wywołuje się procedurę z pkt. 1 i rysuje się drugą ramkę.

Problem w Tym, że w pkt. 3 mam pewien problem i nie wiem jak go rozwiązać. próbowałem na różne sposoby i nic. Crying or Very sad

Więc chciałbym Was prosić o pomoc.
Oto program:

Kod:
USES crt;

VAR a,b,x1,y1,x2,y2,z:byte;

PROCEDURE prostokat(lx1,ly1,lx2,ly2:byte);
 var pi,pj:byte;


 begin
  Gotoxy(lx1,ly1);
  write(chr(201));
  FOR pi:=lx1+1 TO lx2-1 DO
   begin
   Gotoxy(pi,ly1);
   write(chr(205));
   end;
   pi:=pi+1;
   Gotoxy(pi,ly1);
  write(chr(187));
  FOR pj:=ly1+1 TO ly2-1 DO
   begin
   Gotoxy(pi,pj);
   write(chr(186));
   end;
   pj:=pj+1;
  Gotoxy(pi,pj);
  write(chr(188));
  FOR pi:=pi-1 DOWNTO lx1+1 DO
   begin
   Gotoxy(pi,pj);
   write(chr(205));
   end;
  Gotoxy(lx1,pj);
  write(chr(200));
  FOR pj:=pj-1 DOWNTO ly1+1 DO
   begin

   Gotoxy(lx1,pj);
   write(chr(186));
   end;
  end;

BEGIN
clrscr;
 gotoxy(1,20);
 writeln('Podaj wsp˘ˆrz©dne lewego g˘rnego rogu:');
 readln(x1,y1);
Repeat
 clrscr;
 writeln('Podaj wsp˘ˆrz©dne prawego dolnego rogu');
 readln(x2,y2);
 Until (x2>x1+1) and (y2>y1+1) and
       (x1>0) and (y1>0) and (x1<=78) and (y1<=25) and
       (x2<80) and (y2<25);
 prostokat(x1,y1,x2,y2);
begin
gotoxy(1,20);
writeln('Czy chcesz narysowa† jeszcze jednĄ ramk© ?');
writeln('1.Tak, Chc©');
writeln('2.Nie.');
readln(z);
while z<>2 do
begin prostokat;
while z=2 do exit;

 readkey;
end.


a problem mam z tą częścią programu:


Kod:
begin
gotoxy(1,20);
writeln('Czy chcesz narysowa† jeszcze jednĄ ramk© ?');
writeln('1.Tak, Chc©');
writeln('2.Nie.');
readln(z);
while z<>2 do
begin prostokat;
while z=2 do exit;


Myślę, że ktoś pomoże mi rozwiązać ten problem Very Happy

Powered by phpBB © 2001, 2005 phpBB Group