Gyakorlat – A kimenet formázása szökött karaktersorozatokkal

Befejeződött

Ebben a gyakorlatban az előző gyakorlat konzolkimenetét fogja módosítani a megadott jelentésformátum eléréséhez.

A konzol kimenetének formázása

Ebben a feladatban frissíteni fogja a kódot, hogy a befejező érintéseket alkalmazza a jelentett kimenetre. Először adja hozzá a tanuló nevét, majd adjon hozzá egy fejlécsort, amely tartalmazza az oszlopfeliratokat. Ezután karakteres feloldósorozatokkal további kitöltést adhat hozzá az információoszlopok között.

  1. A .NET-szerkesztőben keresse meg a Console.WriteLine() utasításokat, amelyek a hallgató kurzusadatainak megjelenítésére szolgálnak.

  2. Hozzon létre egy üres kódsort a Console.WriteLine() utasítások felett.

  3. A létrehozott üres kódsoron a tanuló nevének hozzáadásához írja be a következő kódot:

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

    Figyelje meg, hogy a szöveg végén szerepel \n . Az "Alapszintű sztringformázás végrehajtása C#-tal" modulban megtanulta, hogy a \n feloldó karaktersorozat egy új sort fog létrehozni. A menekülési sorozat helye fontos. Ebben az esetben a \n konzolra írni kívánt információk végén található, így az új sor a "Student Name" (Tanuló neve) megjelenítése után lesz hozzáadva.

  4. Hozzon létre egy üres kódsort az előző Console.WriteLine() utasítás után.

  5. A létrehozott üres kódsoron a tanfolyami információk fejlécének hozzáadásához írja be a következő kódot:

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

    Figyelje meg, hogy négy lapot ad hozzá a kurzus neve után. A további tabulátorok további helyet engednek a hosszabb kurzusneveknek.

  6. Ha a kimenetet igazított szövegoszlopként szeretné formázni, cserélje le a szavak közötti szóközöket a feloldósorozatra az \t alábbiak szerint:

    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}");
    
    

    A \t feloldósorozat tabulátort szúr be a szövegelemek közé. Ezeknek a tabulátoroknak balra igazított információoszlopokat kell eredményeznie.

    Figyelje meg, hogy csökkenti a lapok course4Namecourse5Nameszámát és a . Ez a különbség azért van, mert ezek a kurzusnevek hosszabbak, mint a többiek. Az előző lépésben további lapokat adott hozzá a kurzusnév oszlop után, hogy a térköz konzisztens legyen a hosszú és a rövid kurzusnevek esetében is.

  7. Ha paddingot szeretne hozzáadni a GPA végső eredménykimenetéhez, frissítse a kódot az alábbiak szerint:

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

A munka ellenőrzése

Ebben a feladatban futtatja a kódot, és ellenőrzi, hogy a kimenet helyes-e.

  1. Ellenőrizze, hogy a kód a következőhöz hasonló-e:

    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. A kód futtatásához és a formázott kimenet megjelenítéséhez válassza a Futtatás lehetőséget.

  3. Annak ellenőrzéséhez, hogy a kód a várt módon működik-e, hasonlítsa össze az alkalmazás kimenetét a következő kimenettel:

    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
    

    Ha a kód eltérő eredményeket jelenít meg, a hiba megkereséséhez és a frissítések elvégzéséhez át kell tekintenie a kódot. Futtassa újra a kódot, és ellenőrizze, hogy kijavította-e a problémát. Folytassa a kód frissítését és futtatását, amíg a kód meg nem hozza a várt eredményeket.