|
var x,y,gr1,gr2,z,Zahl,auswahl:integer;
Fehler,wahl:char;
Zei:String;
procedure EingabeZahl(var
Zahl:integer);
var a:string;
x,y,Laenge,Fehlerstelle,z:word;
begin
x:=wherex;y:=wherey;
Fehler:='0';
repeat
gotoxy(x,y);
readln(a);
val(a,z,Fehlerstelle);Laenge:=length(a);
if Fehlerstelle<>0
then
begin
gotoxy((x+3),y);write(' Natrliche Zahl eingeben');
end;
until Fehlerstelle=0;
gotoxy((x+Laenge),y);clreol;writeln;
zahl:=z;
end;
procedure Grafik;
begin;
gr1:=detect;gr2:=GetGraphMode;
initgraph(gr1,gr2,'c:\tp\bgi');
clearDevice;
end;
procedure Wuerfel(x,y:integer);
begin
setlinestyle(0,2,1);
line(x-50,y+50,x+30,y+50);
line(x-50,y-30,x+30,y-30);
line(x-30,y-50,x+50,y-50);
line(x-50,y-30,x-50,y+50);
line(x+30,y-30,x+30,y+50);
line(x+50,y-50,x+50,y+30);
line(x-50,y-30,x-30,y-50);
line(x+30,y-30,x+50,y-50);
line(x+30,y+50,x+50,y+30);
end;
begin
wahl:='j';
repeat
clrscr;
writeln('Auf
dem Bildschirm werden Körper dargestellt');
writeln('Geben
Sie bitte die Koordinaten des Körperschwerpunktes ein');
repeat
Fehler:='0';
gotoxy(8,9);
gotoxy(8,6);write('x= ');EingabeZahl(x);
gotoxy(8,7);write('y= ');EingabeZahl(y);
gotoxy(8,9);clreol;
if (x<50) or (x>510) or (y<50) or (y>430) then
begin
Fehler:='1';
gotoxy (8,9);write('Bereiche 50<x<510 und 50<y<430 beachten');
end;
until Fehler = '0';
gotoxy(8,11);write('Welcher
K"rper soll dargestellt werden?');
gotoxy(8,12);write('Würfel(1)
Quader(2) Pyramide(3)');
gotoxy(8,13);write('Kreiszylinder(4)
Kreiskegel(5) Kugel(6)');
gotoxy(8,14);write('Ihre
Wahl: ');EingabeZahl(auswahl);
clrscr;
GRAFIK;
case
auswahl of
1 : wuerfel(x,y);
{ 2 : Quader(x,y);
3 : Pyramide(x,y);
4 : Kreiszylinder(x,y);
5 : Kreiskegel(x,y);
6 : Kugel(x,y);}
end;
readkey;
closegraph;
gotoxy(4,12);
write('M"chten Sie noch einen K"rper darstellen (j/n)?');
wahl:=readkey;
until upcase(wahl)='N';
end.
|