CLaudelina Geschrieben 11. Juli 2010 Teilen Geschrieben 11. Juli 2010 Sehr gute Formel zur Schaltjahrberechnung, ist ein Quellcode Ausschnit aus einer Prüfungsaufgabe von mir. boolErgebnisschalt=!(intJahrzahlein%4)==!(intJahrzahlein%100)==!(intJahrzahlein%400); Die Auswertung erfolgt über if else. intJahrzahlein ist eine normale Int32 Variable zur Jahr eingabe. boolErgebnisschalt Booleanvariable zur Ausgabe Schaltjahr Ja oder Nein. MFG Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 11. Juli 2010 Teilen Geschrieben 11. Juli 2010 Sehr gute Formel zur Schaltjahrberechnung, ist ein Quellcode Ausschnit aus einer Prüfungsaufgabe von mir.Du solltest auch sagen, nach welchem Maßstab dieser Code sehr gut sein soll. Geschwindigkeit, Länge, Verständlichkeit? Sehr gut wäre dieser Code für mich allenfalls dann, wenn das Ziel lautet, die Verständlichkeit zu verringen oder den Wartungsaufwand zu erhöhen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hardcorecoder Geschrieben 11. Juli 2010 Teilen Geschrieben 11. Juli 2010 sowas läppisches kommt in der abschlussprüfung vor? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
CLaudelina Geschrieben 31. Juli 2010 Autor Teilen Geschrieben 31. Juli 2010 #include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { //Variablen Vereinbahrung Int32 intJahrzahlein,intProgendeja; Boolean boolErgebnisschalt; //Programmende while Schleife while (intProgendeja=106) { //Consolenanweisung Console::Clear(); Console::WriteLine("\n\t\"Programm zum berechnen von Schaltjahren\"\n"); Console::Write("Bitte geben Sie eine Jahreszahl ein: "); //Vereinbaren einer Lokalen Variable //Abfangen einer fehleingabe //Einlesen der Jahrzahl { Boolean boolAbfangein = false; while (boolAbfangein==false) try { intJahrzahlein=Convert::ToInt32(Console::ReadLine()); boolAbfangein=true; } catch (...) { Console::Write("\nEingabe falsch, Bitte geben Sie eine Jahreszahl ein..."); } } //Rechenformel und Auswertung boolErgebnisschalt=!(intJahrzahlein%4)==!(intJahrzahlein%100)==!(intJahrzahlein%400); if (boolErgebnisschalt) Console::WriteLine("\nDas Jahr: {0} ist ein Schaltjahr.",intJahrzahlein); else { Console::ForegroundColor=ConsoleColor::Red; Console::WriteLine("\nDas Jahr: {0} ist kein Schaltjahr.",intJahrzahlein); Console::ForegroundColor=ConsoleColor::Green; } Console::WriteLine("\nFormel: {0} = !({1} % 4 {2}) == !({1} % 100 {3}) == !({1} % 400 {4})",boolErgebnisschalt,intJahrzahlein,!(intJahrzahlein%4),!(intJahrzahlein%100),!(intJahrzahlein%400)); //Programmende while Schleife Console::Write("\nWollen Sie das Programm beenden j/n : "); intProgendeja=Convert::ToInt32(Console::Read()); Console::ReadLine(); if (intProgendeja==106) break; } Console::WriteLine(); return 0; } //Schaltjahr mit guter Formel //Ich liebe blöde Komentare //Vorallem von sogenanten Modoratoren //Ohne anung von allem //Ps ; bay bay Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hardcorecoder Geschrieben 31. Juli 2010 Teilen Geschrieben 31. Juli 2010 (bearbeitet) //Schaltjahr mit guter Formel //Ich liebe blöde Komentare //Vorallem von sogenanten Modoratoren //Ohne anung von allem was ist denn an der formel gut? Du ermittelst doch bloß ob Schaltjahr oder nicht :confused: ist halt das übliche und simple verfahren wie man feststellt ob ein jahr ein schaltjahr ist oder nicht udn vorallem, wieso nutzt du nicht die möglichkeiten des .net frameworks? tipp: DateTime.isLeapYear() oder in halt DateTime::isLeapYear ...fertig man muss das rad ja nicht neu erfinden ^^ naja wie dem auch sei Bearbeitet 31. Juli 2010 von Hardcorecoder Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
CLaudelina Geschrieben 1. August 2010 Autor Teilen Geschrieben 1. August 2010 Ich wolte nur zeigen wie man es machen kann. Natürlich gigbt es Datumsfuktionen im Frameworks. Ich Habe Schon etliche abenteueliche Formeln gesehen, Sory wegen meiner "BLÖDEN" komentierung. MFG Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gateway_man Geschrieben 1. August 2010 Teilen Geschrieben 1. August 2010 Und er wollte dich nur daraufhinweisen das man den Code zwecks Wartung von beispielsweise Kollegen (welchen diesen nicht verfasst haben) wesentlich verständlicher hätte schreiben können...... Sonst ist es ja nicht schlecht, zumal die Formal ja nicht an eine Programmiersprache gebunden ist.... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
CLaudelina Geschrieben 1. August 2010 Autor Teilen Geschrieben 1. August 2010 Es klang halt etwas seltsam. Aber ich habe auch nicht von einer Abschlussprüfung gesprochen. Beim Motorator sory. Ich will hir gerne auf geistiger ebene weitermachen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lbm1305 Geschrieben 1. August 2010 Teilen Geschrieben 1. August 2010 Ich will hir gerne auf geistiger ebene weitermachen Einsicht ist der beste Weg zur Besserung. ;-) Eventuell solltest Du Deine Methode (Funktion) schreiben, dass diese in jeden System genutzt werden kann. Derzeit kann ich Deine Formel nur in einer Konsolen-Anwendung nutzen. Tipp: Nutze bitte die Code-Tags. Damit lässt sich der Code besser lesen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
CLaudelina Geschrieben 1. August 2010 Autor Teilen Geschrieben 1. August 2010 Ich mache daraus ein echtes Programm Mit Windows Fenster Aber auch Consolenanwendungen sind Programme. Werde auch noch Kalender beachten und Febuar "29" einbauen. Nochmals Sory MFG Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lbm1305 Geschrieben 1. August 2010 Teilen Geschrieben 1. August 2010 Ich mache daraus ein echtes Programm Mit Windows Fenster MFG Eben nicht. Was ist, wenn ich einmal die Methode für eine Konsole und dann wieder für eine Windows-Forms Anwendung benötige? Es gibt ein Prinzip, dass da heißt. "Don't repeat yourself". Wiederhole dich nicht. Mach eine Methode daraus, die unabhängig des benutzen UserInterfaces ist. PseudoCode: public bool IsLeapYear(int year) { .. } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 2. August 2010 Teilen Geschrieben 2. August 2010 Nachteil am Einzeiler: Wenn ich dem User ein "Warum" ausgeben will, muss ich nochmal prüfen. Ergo: Lieber Bitmaskierung. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.