Satz des Pythagoras Rechner

    • Release
    • Open Source

    Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von VincentTB.

      Satz des Pythagoras Rechner

      Name:
      Satz des Pythagoras

      Beschreibung:
      Das Programm rechnet euch jede Seite eines Dreiecks aus.
      Ihr wählt die Seite die ihr ausrechnen wollt aus, dass Programm zeigt euch dann die dazugehörige Formel und die ausgewählte Seite grafisch dar.
      Außerdem könnt ihr die Maßeinheit wählen. In nächster Zeit folgt eine grafische Darstellung.
      Auswahlmöglichkeiten: c - Hypotenuse, a - Gegenkathete, b - Ankathete
      Maßeinheiten: mm,cm,dm,m,km


      Screenshot:
      Im Dateianhang


      Verwendete Programmiersprache(n) und IDE(s):
      VS 2012 Express für Windows Desktop)

      Systemanforderungen:
      .NET Framework 4.0 oder höher

      Systemveränderungen:
      Keine veränderung

      Download(s):
      Im Dateianhang

      Lizenz/Weitergabe:
      Freeware

      FEEDBACK WÄRE GUT!!!
      Bilder
      • SdP.png

        13,79 kB, 228×479, 593 mal angesehen
      Dateien

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „AProgrammer“ ()

      Gut, ich kenne das ja schon.

      Ich hatte bei deinem Post gehofft, dass das ein Teil von einer großen Software ist, aber wie es scheint, ist dem nicht so.
      Nun ja, wenn ich ehrlich bin, ist das atm komplett nutzlos. Ich gehe davon aus jeder - zumindest jeder, der dieses Programm sieht - ist in der Lage den Satz des Pythagoras anzuwenden und ggf. Einheiten umzuwandeln. Also imo brauchst du mehr (viel mehr), also Berechnung von allem im Dreieck, basierend auf drei (ist halt so) Werten: Seiten, Winkel, Höhen, Inkreisradius, Umkreisradius, Winkelhalbierende, Mittelsenkrechte, Seitenhalbierende. Und das ganze schön mit Anzeige, könnte ganz nice werden.

      Aber: Worth it ? Selbst, wenn du das alles implementiert hast, wer nutzt dieses Programm ? Ich bezweifele, dass solche Berechnungen oft anfallen werden, und selbst wenn, würde ich Websites wie Arndt Brünner nutzen, einfach um keinen Platz auf meiner SSD zu verschwenden.

      Nichtsdestotrotz: Design ist i.O. so, tut was es soll, Code ist bis auf Kleinigkeiten auch gut.
      mein Vorschlag: Siehe es als gute Übung an und belasse es dabei.
      »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
      Das ist und war auch nicht destruktiv gemeint, sondern einfach ein Hinweis. Ich hab ja auch so angefangen, und man muss einfach immer weiter lernen.
      »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
      Ich finde die Einstellung super, da gibts nichts dran zu bemängeln. Für eine Übung ist dieses Programm meiner Meinung nach
      einwandfrei und ordentlich gelöst worden. Design ist nützlich und sauber, ohne viel Krimskrams ala Krypton oder so ne Scheiße.

      Grüße
      "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

      Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
      Finde es eigentlich auch als Übungsprojekt sehr gut. Ein paar Sachen haste allerdings übersehen/nicht behandelt:
      -Man kann in die Comboboxen reinschreiben, was man will. Um das zu verhindern, kannst du im Designer den DropDownStyle auf DropDownList setzen.
      -In die Textboxen für die Werteingabe kann man ebenfalls reinschreiben, was man will. Entweder solltest du nur Zahlen erlauben oder auf ein NumericUpDown umsteigen
      -Das Feld fürs Ergebnis ist nicht ReadOnly, man kann also ebenfalls beliebiges reinschreiben
      -Man könnte evtl. wie in Windows üblich als Hintergrundfarbe fürs Fenster SystemColors.Window anstatt SystemColors.Control verwenden - sieht minimal schöner aus
      -Man könnte bei Controls wie den Comboboxen und dem Button den FlatStyle auf System stellen
      -Die TabIndices sind nicht korrekt gesetzt - die rechte Werttextbox kommt vor der linken dran
      -Man könnte die unten angezeigten Bilder eventuell auch mit GDI zeichnen - das wäre auch zu Übungszwecken sehr gut geeignet.
      -Du könntest den Code etwas modularer gestalten, z.B. mehrfach auftretenden Code in eine Sub oä packen
      -Wofür braucht man die Einheiten? Da keine Umrechnung statt findet, kann man die doch auch einfach weglassen, oder?

      Das sind aber alles Kleinigkeiten denn anders als bei eigentlich jedem Programm hier gibts nix wichtiges, wo man noch was verbessern könnte. Ich habe noch nie ein so gutes Übungsprojekt gesehen 8-) .
      Auch der Codestil gefällt mir sehr: TryParse anstatt Parse + TryCatch, Option Strict On, ToString, Return, kein MsgBox & kein CType (nichtmal ein Verweis auf Microsoft.VisualBasic, wenn ich das richtig sehe) (fällt wg. Verwendung von C# weg), Verwendung von this bei Zugriffen auf Werte in der Klasse, Select Case, anständige Benennung der Controls, ...
      Alles in allem von mir ein klarer Daumen hoch :thumbup:

      Grüße Stefan
      Bilder
      • Screenshot.png

        7,42 kB, 230×283, 365 mal angesehen

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „nafets“ ()

      @nafets :
      Satz des Pythagoras Rechner Die Eingabezeichenfolge hat das falsche Format ;)

      Sehe ich aber genauso, und witzig was ich alles gar nicht getestet hab :D
      »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais

      nafets schrieb:

      ​Verwendung von Me bei Zugriffen auf Werte in der Klasse

      Wieso sollte das gut/schlecht sein? Resharper streicht dir das sogar an, ist aber völlig egal, weil wenn es benutzt wird, wird es vom Compiler entfernt.
      Mfg
      Vincent

      @nafets
      Sache worauf ich nicht von selbst kommen würde. :D
      Allerdings muss ich dazu sagen das mir @ThePlexian viele Tipps gegeben hat(siehe Code).

      @ThePlexian
      Deine Tipps von meinem Beitrag waren so hilfreich, die habe ich bei meinem neuen Projekt gleich alle verbessert(Controlls haben Namen,Select Case,Double.TryParse). Das hat mich weiter gebracht!
      Erstmal muss ich vorweg sagen, dass ich mich in der Programmiersprache geirrt hab (ist wohl C#), ein paar Punkte fallen also erstmal weg.

      @VincentTB
      Ich finde es vom Codestil her besser. Dadurch unterscheidet man gleich, ob die Variable aus der Klasse oder aus der Methode ist. Ist vergleichbar mir unterschiedlicher Benennung dieser bei unterschiedlichen Zugriffsmodifizierern/Stellen, wo sie deklariert werden. Und wenn etwas vom Compiler gestrichen wird, heißt es nicht, dass es dadurch gleich schlecht ist. Ich schreibe auch gerne mal ein paar (auf den ersten Blick) unnötige Additionen bei verschiedenen Sachen rein - einfach nur, weil ich es dann übersichtlicher finde. Kleines Beispiel:

      C#-Quellcode

      1. ​int leftMargin1 = 10 + 3 - 1 + something1.LeftMarginDefault + 0;
      2. int leftMargin2 = 10 + 3 - 1 + something2.LeftMarginDefault + 50;
      3. int leftMargin3 = 10 + 3 - 1 + something3.LeftMarginDefault + 100;

      Hier sind die ganzen Additionen komplett unnötig und soweit ich weiß kürzt der Compiler sie auch komplett raus. Trotztem finde ich es so übersichtlicher weil ich dann genau weiß welcher Wert für was steht.
      Globale Variablen in einer Klasse haben i. d. R. eine andere Nomenklatur bzw. sollten "_myVariable" als Namensmuster haben, wohingegen Variablen in einer Methode ohne Unterstrich benannt werden.
      Zumindest ist das auch das, was z. B. Resharper standardmäßig vorschlägt und so würde ich es auch immer benennen. this ist dann redundant und kann gleich weggelassen werden und man sieht trotzdem noch, woher die Variable stammt.
      Das macht nur dann Sinn, wenn man das gleiche Namensmuster verwendet, was man imo nicht tun sollte.

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

      nafets schrieb:

      ​Und wenn etwas vom Compiler gestrichen wird, heißt es nicht, dass es dadurch gleich schlecht ist.

      Meinte ich so, dass es völlig irrelevant ist :) (Also das jeder es so machen soll, wie es ihm am besten gefällt, weil es auf's gleiche rauskommt). Das lustige ist, dass dadurch, dass das vom Compiler weggemacht wird, es von IlSpy (oder das, was du nutzt) überall wieder hingemacht wird, was heißt, dass du ohne den Source Code gar nicht wissen kannst, ob der TE das da wirklich hat oder nicht :D
      Mfg
      Vincent