Übung: Formatieren der Ausgabe mithilfe von Escapezeichensequenzen

Abgeschlossen

In dieser Übung ändern Sie die Konsolenausgabe aus der vorherigen Übung, um das angegebene Berichtsformat zu erhalten.

Formatieren der Konsolenausgabe

In dieser Aufgabe aktualisieren Sie Ihren Code, um der gemeldeten Ausgabe den letzten Feinschliff zu geben Dazu fügen Sie zunächst den Namen des Kursteilnehmers/der Kursteilnehmerin ein und fügen eine Kopfzeile hinzu, die die Spaltenbeschriftungen enthält. Danach verwenden Sie Escapesequenzen für Zeichen, um zusätzliche Abstände zwischen den Informationsspalten hinzuzufügen.

  1. Suchen Sie im .NET-Editor nach den Console.WriteLine()-Anweisungen, die zum Anzeigen der Kursinformationen des Kursteilnehmers/der Kursteilnehmerin verwendet werden.

  2. Erstellen Sie eine leere Codezeile über den Console.WriteLine()-Anweisungen.

  3. Geben Sie in der von Ihnen erstellten leeren Codezeile den folgenden Code ein, um den Namen des Kursteilnehmers/der Kursteilnehmerin hinzuzufügen:

    Console.WriteLine($"Student: {studentName}\n");
    
    

    Achten Sie darauf, dass Sie am Ende des Texts \n einfügen. Im Modul „Ausführen grundlegender Zeichenfolgenformatierung mit C#“ haben Sie gelernt, dass die \n-Escapezeichensequenz zur Erstellung einer neuen Zeile führt. Die Position der Escapesequenz ist wichtig. In diesem Fall befindet sich \n am Ende der Informationen, die Sie in die Konsole schreiben möchten, sodass die neue Zeile nach der Anzeige von „Student Name“ hinzugefügt wird.

  4. Erstellen Sie eine leere Codezeile nach der vorherigen Console.WriteLine()-Anweisung.

  5. Geben Sie in der von Ihnen erstellten leeren Codezeile den folgenden Code ein, um einen Header für Kursinformationen hinzuzufügen:

    Console.WriteLine("Course\t\t\t\tGrade\tCredit Hours");
    
    

    Achten Sie darauf, dass Sie nach dem Kursnamen vier Registerkarten hinzufügen. Die zusätzlichen Tabstopps bieten zusätzlichen Platz für längere Kursnamen.

  6. Zum Formatieren der Ausgabe als ausgerichtete Textspalten ersetzen Sie die Leerzeichen zwischen Wörtern durch die \t-Escapesequenz wie folgt:

    Console.WriteLine($"{course1Name}\t\t\t{course1Grade}\t\t{course1Credit}");
    Console.WriteLine($"{course2Name}\t\t\t{course2Grade}\t\t{course2Credit}");
    Console.WriteLine($"{course3Name}\t\t\t{course3Grade}\t\t{course3Credit}");
    Console.WriteLine($"{course4Name}\t{course4Grade}\t\t{course4Credit}");
    Console.WriteLine($"{course5Name}\t\t{course5Grade}\t\t{course5Credit}");
    
    

    Die \t-Escapesequenz fügt einen Tabstopp zwischen den Textelementen ein. Diese Tabstopps sollten zu linksbündigen Informationsspalten führen.

    Achten Sie darauf, dass Sie die Anzahl der Registerkarten für course4Name und course5Name reduzieren. Dieser Unterschied ist darauf zurückzuführen, dass diese Kursnamen länger sind als die anderen. Im vorherigen Schritt haben Sie zusätzliche Registerkarten nach der Spalte „Kursname“ hinzugefügt, um den Abstand für lange und kurze Kursnamen konsistent zu halten.

  7. Aktualisieren Sie den Code wie folgt, um der endgültigen GPA-Ergebnisausgabe einen Abstand hinzuzufügen:

    Console.WriteLine($"\nFinal GPA:\t\t\t {leadingDigit}.{firstDigit}{secondDigit}");
    
    

Überprüfen Ihrer Arbeit

In dieser Aufgabe führen Sie den Code aus und überprüfen, ob die Ausgabe korrekt ist.

  1. Vergewissern Sie sich, dass Ihr Code dem folgenden ähnelt:

    string studentName = "Sophia Johnson";
    string course1Name = "English 101";
    string course2Name = "Algebra 101";
    string course3Name = "Biology 101";
    string course4Name = "Computer Science I";
    string course5Name = "Psychology 101";
    
    int course1Credit = 3;
    int course2Credit = 3;
    int course3Credit = 4;
    int course4Credit = 4;
    int course5Credit = 3;
    
    int gradeA = 4;
    int gradeB = 3;
    
    int course1Grade = gradeA;
    int course2Grade = gradeB;
    int course3Grade = gradeB;
    int course4Grade = gradeB;
    int course5Grade = gradeA;
    
    int totalCreditHours = 0;
    totalCreditHours += course1Credit;
    totalCreditHours += course2Credit;
    totalCreditHours += course3Credit;
    totalCreditHours += course4Credit;
    totalCreditHours += course5Credit;
    
    int totalGradePoints = 0;
    totalGradePoints += course1Credit * course1Grade;
    totalGradePoints += course2Credit * course2Grade;
    totalGradePoints += course3Credit * course3Grade;
    totalGradePoints += course4Credit * course4Grade;
    totalGradePoints += course5Credit * course5Grade;
    
    decimal gradePointAverage = (decimal) totalGradePoints/totalCreditHours;
    
    int leadingDigit = (int) gradePointAverage;
    int firstDigit = (int) (gradePointAverage * 10 ) % 10;
    int secondDigit = (int) (gradePointAverage * 100 ) % 10;
    
    Console.WriteLine($"Student: {studentName}\n");
    Console.WriteLine("Course\t\t\t\tGrade\tCredit Hours");
    
    Console.WriteLine($"{course1Name}\t\t\t{course1Grade}\t\t{course1Credit}");
    Console.WriteLine($"{course2Name}\t\t\t{course2Grade}\t\t{course2Credit}");
    Console.WriteLine($"{course3Name}\t\t\t{course3Grade}\t\t{course3Credit}");
    Console.WriteLine($"{course4Name}\t{course4Grade}\t\t{course4Credit}");
    Console.WriteLine($"{course5Name}\t\t{course5Grade}\t\t{course5Credit}");
    
    Console.WriteLine($"\nFinal GPA:\t\t\t {leadingDigit}.{firstDigit}{secondDigit}");
    
  2. Wählen Sie Ausführen aus, um den Code auszuführen und die formatierte Ausgabe anzuzeigen.

  3. Um zu überprüfen, ob Ihr Code wie erwartet funktioniert, vergleichen Sie die Ausgabe Ihrer Anwendung mit der folgenden Ausgabe:

    Student: Sophia Johnson
    
    Course              Grade   Credit Hours	
    English 101         4       3
    Algebra 101         3       3
    Biology 101         3       4
    Computer Science I  3       4
    Psychology 101      4       3
    
    Final GPA:          3.35
    

    Wenn Ihr Code unterschiedliche Ergebnisse anzeigt, müssen Sie ihn überprüfen, um den Fehler zu finden und Aktualisierungen vorzunehmen. Führen Sie den Code erneut aus, um festzustellen, ob Sie das Problem behoben haben. Fahren Sie mit dem Aktualisieren und Ausführen Ihres Codes fort, bis der Code die erwarteten Ergebnisse generiert.