Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Geometrie Neu überarbeitet v2
ZebRa
myCSharp.de - Member



Dabei seit:
Beiträge: 8
Herkunft: Ulm

Themenstarter:

Geometrie Neu überarbeitet v2

beantworten | zitieren | melden

So hab/will ein Geometrieprogramm machen, mit dem man alle mögliche Körper und Flächen berechnen kann.
Hab mal mit der Pyramide angefangen.

Würde mich über Tipps und Bugreport freuen.
Bin neu in der Programmierung und vil. bekomm ich hilfreiche Tipps.
Hab mit dem Galileo-Openbook angefangen, und hier gelesen, dass das Buch C# von Kopf bis Fuß sehr zu empfehlen ist.
Des hab ich dann auch direkt vorher bestellt. : )
Aber schluss mit dem unsinnigen gelaber.

Link entfernt.. und als Dateianhang hinzugefügt


Mit freundlichen Grüßen

Okay vielen Dank, werde es in Zukunft berücksichtigen.
Dieser Beitrag wurde 6 mal editiert, zum letzten Mal von ZebRa am .
Attachments

Moderationshinweis von michlG (16.10.2010 - 22:16)

Willkommen im Forum
Bitte die Dateien immer als Dateianhang anhängen. Denn diese Gratis-Uploader löschen die Dateien oft, dann hagelt es tote Links.
Ich habe das mal schnell für dich gemacht

Grüsse
Michael

private Nachricht | Beiträge des Benutzers
Schlopp
myCSharp.de - Member

Avatar #avatar-3124.jpg


Dabei seit:
Beiträge: 297
Herkunft: Stuttgart, München, Schweiz

beantworten | zitieren | melden

Hi ZebRa,

ich habe es mir nur kurz angeschaut und einen Fehler gefunden. Wenn man für die Höhe und die Seitenlänge 5 einträgt, bekommt man zwar die richtigen Werte für die Seitenhöhe und Seitenkante, allerdings ist das Ergebnis der Mantelfläche falsch. Das angezeigte Ergebnis ist 50, richtig (meiner Rechnung zufolge) ist aber Seitenhöhe * Seitenkante * 2 was in diesem Fall etwa 55,901699.
Dementsprechend ist auch das Ergebnis der Oberfläche falsch.
Das Volumen wird auch richtig berechnet.

Ich hoffe, dass dir der Bugreport hilft.

PS: Mich würde auch der Sourcecode interessieren, damit könnte man dir sicher mehr Tips geben als mit der lauffähigen Anwendung.
There are 10 kind of people, those who understand binary and those who don't.
private Nachricht | Beiträge des Benutzers
ZebRa
myCSharp.de - Member



Dabei seit:
Beiträge: 8
Herkunft: Ulm

Themenstarter:

beantworten | zitieren | melden

Danke...
Habs behoben.
Am Anfang hab ich immer mit XXX * XXX die Quadratzahl ausgerechnet.
Bis ich gelesen hab das man da Math.Pow(XXX, 2) benutzen kann.
Hab dann ausversehn Math.Pow(Seitenlänge, 2); gehabt anstatt (Seitenlänge * Seitenhöhe) * 2;

Der Quellcode, kommt gleich.

Edit: Okay, Quellcode + update oben im Dateinanhang.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von ZebRa am .
private Nachricht | Beiträge des Benutzers
Schlopp
myCSharp.de - Member

Avatar #avatar-3124.jpg


Dabei seit:
Beiträge: 297
Herkunft: Stuttgart, München, Schweiz

beantworten | zitieren | melden

Ok, ich habs mal kurz überflogen und habe ein paar Anmerkungen:
- Du solltest die ganze Berechnung nicht in einer Methode durchführen, sondern die einzelnen Berechnungen, je nachdem welche Werte eingegeben wurden, in eigene Methoden auslagern. Damit verkürzt du dann auch die 255 Zeilen lange Methode erheblich. Prinzipiell kannst du davon ausgehen, dass Methoden, in denen du #region-Elemente brauchst, damit sie halbwegs übersichtlich sind, viel zu lang.
- Der Try-Catch-Block ist für meinen Geschmack etwas arg groß. Entweder du machst mehrere kleine Try-Catch-Blöcke um die einzelnen Konvertierungen, oder du verwendest die statische TryParse-Methode der double-Klasse, dann brauchst du gar keinen Try-Catch-Block mehr (zumindest nicht für das Konvertieren)
- Der Catch-Abschnitt des Try-Catch-Blocks fängt alle Exceptions auf, statt diese explizit zu nennen, beispielsweise die InvalidCastException oder eine DivideByZeroException.
- Die ganzen "" für einen leeren String sollten durch string.Empty ersetzt werden.
- Statt Convert.ToString(Grund); kannst du auch einfach Grund.ToString(); schreiben.

Das wars mal fürs Erste, bei Fragen kannst du dich gerne melden.
There are 10 kind of people, those who understand binary and those who don't.
private Nachricht | Beiträge des Benutzers
ZebRa
myCSharp.de - Member



Dabei seit:
Beiträge: 8
Herkunft: Ulm

Themenstarter:

beantworten | zitieren | melden

Das mit den Methoden weis ich nicht genau was du meinst. -.-
Hast du ein kleines Beispiel?
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 6.830
Herkunft: Waidring

beantworten | zitieren | melden

Hallo Schlopp,
Zitat
Die ganzen "" für einen leeren String sollten durch string.Empty ersetzt werden.
Abgesehen von der Leserlichkeit nicht notwendig. Der Compiler führt ein "String-Pooling" durch. Siehe auch [FAQ] Besonderheiten der String-Klasse (immutabler Referenztyp mit Wertsemantik)


Hallo ZebRa,
Zitat
Das mit den Methoden weis ich nicht genau was du meinst.
Damit ist gemeint dass (zu) lange Methode refactored werden sollen. Schau dir hierzu mal die Kapitel in Refactoring. Ich weiß dass das etwas viel Text sein wird, aber glaub mir dass es sich lohnt ;-)


mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
private Nachricht | Beiträge des Benutzers
ZebRa
myCSharp.de - Member



Dabei seit:
Beiträge: 8
Herkunft: Ulm

Themenstarter:

beantworten | zitieren | melden

Hab die "" schon durch das genannte ersetzt. : )
Werd ich lesen... auch wenns englisch ist. -.-

Edit:
Habe jetzt mehrere Methoden geschrieben anstatt alles in eine zu stecken, nachdem ich das Kapitel in meinem Buch durchgearbeitet hab.
Als nächstes kommt dann die Fehlerbeahndlung.

Würde mich aber freuen, wenn ihr den Code schonmal anschaut. : )
Und vielleicht den ein oder anderen Tipp für mich habt.

Grüße ZebRa
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von ZebRa am .
private Nachricht | Beiträge des Benutzers
ZebRa
myCSharp.de - Member



Dabei seit:
Beiträge: 8
Herkunft: Ulm

Themenstarter:

beantworten | zitieren | melden

Update. : )

[Edit=gfoidl] Oben wurde eine neue Version hinzugefügt -> daher das Update [/Edit]
private Nachricht | Beiträge des Benutzers