![]() |
Geometrische Körper ausrechnen
Hallo. Ich Programmiere gerade ein Programm mit dem ich Körper ausrechnen kann.
Das wären dann bei mir Quader, Pyramide, Kegel und Zylinder. Die ersten beiden Körper hab ich ja noch hinbekommen, doch beim Kegel weiss ich nicht mehr weiter, wenn ich es Kompiliere, dann steht bei denn Warnungen: "[Warnung] Unit1.pas(105): W1036 Variable 'PI' ist möglicherweise nicht initialisiert worden" Könnt ihr mir einen kleinen Code-Schnippsel aufschreiben! Hier ist der Quellcode, welches ich geschrieben habe, ist nur der kleine Teil:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var r, h, PI, v: Real; begin r :=strtofloat(Edit11.Text); h :=strtofloat(Edit12.Text); v :=((1/3)*(PI)*r*r*h); Edit13.Text :=floattostr(v); end; |
Re: Geometrische Körper ausrechnen
nach dem Begin kommt noch
Delphi-Quellcode:
oder du lässt die deklaration von PI weg und bindest die unit Math mit ein
Pi := 3.1415926; //ect.
|
Re: Geometrische Körper ausrechnen
Danke hat geklappt!
Und wie würde ich das mit dem "normalem" Pi von Delphi aus hinbekommen? |
Re: Geometrische Körper ausrechnen
PI ist in der Unit Math deklariert, also diese Unit einbinden und deine Variablendeklaration rausschmeißen ;)
|
Re: Geometrische Körper ausrechnen
Lass einfach deine Deklaration weg. Und schreibst ganz normal Pi in deinen Code.
Die Unit math musste auch nicht einbinden, da Pi auch in der System.pas ist. Kannst ja mal ein leeres Projekt mit nem Button anlegen und das hier ausprobieren:
Delphi-Quellcode:
edit:
procedure TForm1.Button1Click(Sender: TObject);
var A,r : Real; begin r := 2.3; A := pi * r*r; showMessage(FloatToStr(a)); end; Fehler im Code beseitigt. Hate r² stat r*r geschrieben. Danke für den Hinweis, Ultimator. |
Re: Geometrische Körper ausrechnen
Zitat:
|
Re: Geometrische Körper ausrechnen
Verdammt, das kommt davon, wenn man es direkt ins Forum tippt, ohne was auszuprobieren :wall:
Danke für den Hinweis, Ultimator! |
Re: Geometrische Körper ausrechnen
Das habe ich ja bis jetzt aber jetzt will er nicht richtig rechnen:
Delphi-Quellcode:
die oberfläche wird nicht richtig ausgerechnet, ich glaube der zieht die Wurzel nicht?
procedure TForm1.Button3Click(Sender: TObject);
var r, h, PI, v, o, s: Real; begin Pi :=3.1415926; r :=strtofloat(Edit11.Text); h :=strtofloat(Edit12.Text); v :=((1/3)*(PI)*r*r*h); s :=(sqrt(h*h)+(r*r)); o :=PI*r*(r + s); Edit13.Text :=floattostr(v); Edit14.Text :=floattostr(o); end; Bitte um Hilfe. |
Re: Geometrische Körper ausrechnen
Du hast auch immernoch das PI drin. das muss weg. Sonst nimmt er nicht das "Delphi-Pi". Also so:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var r, h, v, o, s: Real; begin r :=strtofloat(Edit11.Text); h :=strtofloat(Edit12.Text); v :=((1/3)*(PI)*r*r*h); s :=(sqrt(h*h)+(r*r)); o :=PI*r*(r + s); Edit13.Text :=floattostr(v); Edit14.Text :=floattostr(o); end; |
Re: Geometrische Körper ausrechnen
Der Fehler liegt meistens beim Programmierer :wink: .
Das hier:
Delphi-Quellcode:
sollte wohl eher
s :=(sqrt(h*h)+(r*r));
Delphi-Quellcode:
heißen, oder :wink:² ?
s := Sqrt(h * h + r * r);
@Thanatos81: Müssen nicht, aber es bietet sich natürlich an. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz