Forum Informatyczne.fora Strona Główna Informatyczne.fora
Forum pośiwęcone informatytce
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Rysowanie Ramki.

 
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyczne.fora Strona Główna -> Programownie
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
kro0p3k
Gość






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
Powrót do góry
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
pater




Dołączył: 11 Kwi 2011
Posty: 7
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Zabrze

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


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyczne.fora Strona Główna -> Programownie Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin