/// <summary> /// Fragt die Benutzer nach den Namen /// und begrüßt sie passend zur aktuellen Stunde. /// </summary> private static void Begrüßen() { Anwendung.Ausgeben("Begrüßen startet...", debug: true); //Kommt später aus einer lokalisierten Ressource... const string Frage = "Wie heißen Sie? "; // ^-> damit zur Antwort ein // Abstand ist. Anwendung.Ausgeben(Frage, AusgabeModus.NormalOhneVorschub); var Name = System.Console.ReadLine().Trim(); // ^-> damit überflüssige Leerzeichen // vorne und hinten entfernt werden //Falls sich der Benutzer nicht //identifiziert, den Loginnamen benutzen... if (Name.Length == 0) { Name = System.Environment.UserName; } //Den Benutzer persönlich zur aktuellen Stunde begrüßen Anwendung.Ausgeben(Algorithmus.ErmittleBegrüßung(System.DateTime.Now.Hour).Replace("!", ", " + Name + "!")); // <----------- || ------------> // Anweisungen müssen von innen nach außen // "gelesen", aufgelöst werden Anwendung.Ausgeben("Begrüßen beendet.", debug: true); }
/// <summary> /// Ermittelt eine Begrüßung zu einer /// zufälligen Stunde. /// </summary> public void ZeigeFall() { Algorithmus.Ausgeben("ZeigeFall startet...", debug: true); //Ausgabemuster const string Hinweis = "{0} Es ist {1} Uhr..."; //Zufällige Stunde var ZufälligeStunde = this.Zufallsgenerator.Next(24); //In das Ausgabemuster die zufällige Stunde //und den Begrüßungstext für diese einsetzen //und ausgeben Algorithmus.Ausgeben(string.Format(Hinweis, Algorithmus.ErmittleBegrüßung(ZufälligeStunde), ZufälligeStunde)); // Anweisungen werden von "innen" nach "außen" <--------------||-----------> aufgelöst Algorithmus.Ausgeben("ZeigeFall beendet.", debug: true); }
/// <summary> /// Testet ErmittleBegrüßung für jede /// mögliche Stunden zwischen 0 und 23. /// </summary> public void ZeigeZählen() { Algorithmus.Ausgeben("ZeigeZählen startet...", debug: true); //Ausgabemuster const string Hinweis = "{0} Es ist {1} Uhr..."; /* * //Idee: => Scheiße, eine Sequenz * Algorithmus.Ausgeben(string.Format(Hinweis, Algorithmus.ErmittleBegrüßung(0), 0)); * Algorithmus.Ausgeben(string.Format(Hinweis, Algorithmus.ErmittleBegrüßung(1), 1)); * Algorithmus.Ausgeben(string.Format(Hinweis, Algorithmus.ErmittleBegrüßung(2), 2)); * Algorithmus.Ausgeben(string.Format(Hinweis, Algorithmus.ErmittleBegrüßung(3), 3)); * //... * Algorithmus.Ausgeben(string.Format(Hinweis, Algorithmus.ErmittleBegrüßung(23), 23)); * // ^-> der einzige Unterschied * // diese Zahl heißt "Index" */ //Lösung: eine Schleife // 3. Die Anzahl ist nicht bekannt, aber mind. 1x // Die Durchlaufschleife (do) -> hier nicht // 2. Die Anzahl ist vollkommen unbekannt, unter Umständen nie // Die Abweiseschleife (while) -> hier nicht // 1. Die Anzahl der Wiederholung ist vor dem // Schleifentritt bekannt // // => Die Zählschleife (for) // für unsere Aufgabe for (int i = 0; i < 24; i++) { Algorithmus.Ausgeben(string.Format(Hinweis, Algorithmus.ErmittleBegrüßung(i), i)); } Algorithmus.Ausgeben("ZeigeZählen beendet.", debug: true); }