|
Informatyczne.fora Forum pośiwęcone informatytce
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
kro0p3k
Gość
|
Wysł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.
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
|
|
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
|
Wysł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
pozdrawiam pater
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
|
|
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
|