Suche Home Einstellungen Anmelden Hilfe  

program Koerper_Zeichnen;                                               zur 1.Stunde
uses crt,graph;
 

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.
 

Benutzer: Gast • Besitzer: didaktik • Zuletzt geändert am: