Ausrechnen eines Hohlzylinders. Ist meine Formel falsch?

  • C#

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Ausrechnen eines Hohlzylinders. Ist meine Formel falsch?

    Hey Leute,
    ich probier mich grad an nem kleinen Projekt.
    Und dazu bräuchte ich dass ich das Volumen, die Grundfläche, die Mantelfläche und die Oberfläche eines Hohlzylinders ausrechnen kann.

    Nur leider klappt das nicht. Bzw ich überprüfe das nochmal im Internet bin mir da aber nicht sicher ob das stimmen kann.

    C#-Quellcode

    1. else if (comboBox1.Text == "Hohlzylinder" && ovl.ToString() == "1")
    2. {
    3. int runden;
    4. int.TryParse(numericUpDown1.Value.ToString(), out runden);
    5. try
    6. {
    7. double pi = Math.PI;
    8. double d = 0;
    9. double D = 0;
    10. double h = 0;
    11. double.TryParse(textBox1.Text, out d);
    12. double.TryParse(textBox2.Text, out D);
    13. double.TryParse(textBox3.Text, out h);
    14. double calholzyl = pi * (( D * D ) - (d * d )) * h; /* Volumen */
    15. double calholzyl2 = 2 * pi * (D + d) * h; /* Mantelfläche (Innen und Außen)*/
    16. double calholzyl3 = 2 * pi * (Math.Pow(D, 2.0) - Math.Pow(d, 2.0)) + 2 * pi *(D + d) * h; /* Oberfläche */
    17. double calholzyl4 = pi / 4 * (D - d ); /* Grundfläche */
    18. listBox1.Items.Add("Das Volumen beträgt: " + Math.Round(calholzyl, runden).ToString() + " " + maeih);
    19. listBox1.Items.Add("Die Mantelfläche beträgt: " + Math.Round(calholzyl2, runden).ToString() + " " + maeih);
    20. listBox1.Items.Add("Die Oberfläche beträgt: " + Math.Round(calholzyl3, runden).ToString() + " " + maeih);
    21. listBox1.Items.Add("Die Grundfläche beträgt: " + Math.Round(calholzyl4, runden).ToString() + " " + maeih);
    22. }
    23. catch
    24. {
    25. }


    Das ist mein Code dazu.
    Wenn ich mit diesem Rechner kontrolliere stimmt das Ergebnis nicht ansatzweise... kfz-tech.de/Formelsammlung/Hohlzylinder.htm

    Wenn ich aber nach dieser Seite gehe stimmt mein Ergebnis und nicht einmal das Beispiel auf dieser Seite ist in dem Rechner richtg... schulminator.com/mathematik/zylinder

    Kann mir jemand von euch sagen ob meine Formel richtig ist ? Ich bin nicht wirklich dieee Leuchte in Mathe bzw wir hatte sowas nie.

    Danke im vorraus :)

    DaNeubi schrieb:

    Nur leider klappt das nicht.
    Sieh Dir vielleicht mal Deinen Code genau an:

    DaNeubi schrieb:

    C#-Quellcode

    1. int runden;
    2. int.TryParse(numericUpDown1.Value.ToString(), out runden);
    Was soll der Un-Umweg übeer String, um den Value als Integer zu haben? int runden = (int)numericUpDown1.Value;

    DaNeubi schrieb:

    C#-Quellcode

    1. double pi = Math.PI;
    Wozu erstellst Du eine Variable pi?

    DaNeubi schrieb:

    C#-Quellcode

    1. double calholzyl = pi * (( D * D ) - (d * d )) * h; /* Volumen */
    2. double calholzyl3 = 2 * pi * (Math.Pow(D, 2.0) - Math.Pow(d, 2.0)) + 2 * pi *(D + d) * h; /* Oberfläche */
    einmal x * x, dann Math.Pow(x, 2.0)?
    Programmiere einheitlich.
    Außerdem ist x * x deutlich schneller als Math.Pow(x, 2.0).
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!