public static int Main(string[] args) { bool debug = false; int eingabejahr = 0; int eingabemodus = 0; if (args.Length == 0) //Wenn keine Argumente übergeben werden Anzeige Normaler Start { Console.WriteLine("Normaler Programm Start"); debug = false; } else { if (args[0] == "debug") //Wenn Argument übergeben worden, prüfen ob debug erwünscht ist { Console.WriteLine("Programm Start mit debug Mode. Anzahl der übergebenen Parameter: " + args.Length); debug = true; } } Console.WriteLine("Das Programm berechnet Kalender für die Jahre 1583 bis 4000"); Console.Write("Jahr eingeben: "); bool eingabeOk = false; do { string eingabe = Console.ReadLine(); //erstmal als string speichern, damit auch eigegebene Buchstaben kein Problem sind if (!int.TryParse(eingabe, out eingabejahr)) { Console.WriteLine("Falsche Eingabe, da Buchstaben nicht möglich sind."); } else if ((eingabejahr < 1583) || (eingabejahr > 4000)) { Console.WriteLine("Falsche Eingabe. Jahr ist nicht im gueltigen Bereich."); } else { eingabeOk = true; } if (!eingabeOk) { Console.Write("Bitte geben sie das Jahr erneut ein: "); } } while (!eingabeOk); Console.Write("Soll die Ausgabe \n1) Monatsblock einspaltig oder\n2) Monatsblock zweispaltig oder\n3) Zeilenweise oder\n4) Zeilenweise mit Eintraegen oder\n5) gelatexed oder\n6) als HTML sein? "); eingabeOk = false; do { string eingabe = Console.ReadLine(); if (!int.TryParse(eingabe, out eingabemodus)) { Console.WriteLine("Falsche Eingabe, da Buchstaben nicht möglich sind."); } else if ((eingabemodus < 1) || (eingabemodus > 6)) { Console.WriteLine("Falsche Eingabe. Modus ist nicht im gueltigen Bereich."); } else { eingabeOk = true; } if (!eingabeOk) { Console.Write("Bitte geben sie den Modus erneut ein: "); } } while (!eingabeOk); Console.WriteLine(""); //Eintrag Experimente List<Eintrag> eintraege = leseEintraege(debug); //Aufruf der leseEintraege Funktion mit Übergabe der debug Variablen KalenderJahr kalenderJahr = new KalenderJahr(eingabejahr); kalenderJahr.TrageEin(ref eintraege); Ausgabe ausgabe = null; switch (eingabemodus) { case 1: ausgabe = new MonatsBlockAusgabe(ref kalenderJahr, eingabemodus); break; case 2: ausgabe = new MonatsBlockAusgabe2Spaltig(ref kalenderJahr, eingabemodus); break; case 3: ausgabe = new TageszeilenAusgabe(ref kalenderJahr, eingabemodus, false); break; case 4: ausgabe = new TageszeilenAusgabe(ref kalenderJahr, eingabemodus, true); break; case 5: ausgabe = new LatexTageszeilenAusgabe(ref kalenderJahr); break; case 6: ausgabe = new htmlTageszeilenAusgabe(ref kalenderJahr); break; } ausgabe.gibAus(); #if DEBUG if (debug) { ausgabeTest(eingabejahr, eingabemodus, debug); //Aufruf der Testfunktion mit Übergabe der debug Variable } #endif //Erwartet Eingabe vor Beendigung des Programms Console.ReadLine(); return 0; } //ende main()
public static int Main(string[] args) { bool debug = false; int eingabejahr = 0; int eingabemodus = 0; if (args.Length == 0) //Wenn keine Argumente übergeben werden Anzeige Normaler Start { Console.WriteLine("Normaler Programm Start"); debug = false; } else { if (args[0] == "debug") //Wenn Argument übergeben worden, prüfen ob debug erwünscht ist { Console.WriteLine("Programm Start mit debug Mode. Anzahl der übergebenen Parameter: " + args.Length); debug = true; } } Console.WriteLine("Das Programm berechnet Kalender für die Jahre 1583 bis 4000"); Console.Write("Jahr eingeben: "); bool eingabeOk = false; do { string eingabe = Console.ReadLine(); //erstmal als string speichern, damit auch eigegebene Buchstaben kein Problem sind if (!int.TryParse(eingabe, out eingabejahr)) { Console.WriteLine("Falsche Eingabe, da Buchstaben nicht möglich sind."); } else if ((eingabejahr < 1583) || (eingabejahr > 4000)) { Console.WriteLine("Falsche Eingabe. Jahr ist nicht im gueltigen Bereich."); } else { eingabeOk = true; } if (!eingabeOk) { Console.Write("Bitte geben sie das Jahr erneut ein: "); } } while (!eingabeOk); Console.Write("Soll die Ausgabe \n1) Monatsblock einspaltig oder\n2) Monatsblock zweispaltig oder\n3) Zeilenweise oder\n4) Zeilenweise mit Eintraegen oder\n5) gelatexed oder\n6) als HTML sein? "); eingabeOk = false; do { string eingabe = Console.ReadLine(); if (!int.TryParse(eingabe, out eingabemodus)) { Console.WriteLine("Falsche Eingabe, da Buchstaben nicht möglich sind."); } else if ((eingabemodus < 1) || (eingabemodus > 6)) { Console.WriteLine("Falsche Eingabe. Modus ist nicht im gueltigen Bereich."); } else { eingabeOk = true; } if (!eingabeOk) { Console.Write("Bitte geben sie den Modus erneut ein: "); } } while (!eingabeOk); Console.WriteLine(""); //Eintrag Experimente List <Eintrag> eintraege = leseEintraege(debug); //Aufruf der leseEintraege Funktion mit Übergabe der debug Variablen KalenderJahr kalenderJahr = new KalenderJahr(eingabejahr); kalenderJahr.TrageEin(ref eintraege); Ausgabe ausgabe = null; switch (eingabemodus) { case 1: ausgabe = new MonatsBlockAusgabe(ref kalenderJahr, eingabemodus); break; case 2: ausgabe = new MonatsBlockAusgabe2Spaltig(ref kalenderJahr, eingabemodus); break; case 3: ausgabe = new TageszeilenAusgabe(ref kalenderJahr, eingabemodus, false); break; case 4: ausgabe = new TageszeilenAusgabe(ref kalenderJahr, eingabemodus, true); break; case 5: ausgabe = new LatexTageszeilenAusgabe(ref kalenderJahr); break; case 6: ausgabe = new htmlTageszeilenAusgabe(ref kalenderJahr); break; } ausgabe.gibAus(); #if DEBUG if (debug) { ausgabeTest(eingabejahr, eingabemodus, debug); //Aufruf der Testfunktion mit Übergabe der debug Variable } #endif //Erwartet Eingabe vor Beendigung des Programms Console.ReadLine(); return(0); } //ende main()