Gyakorlat – A kimenet formázása szökött karaktersorozatokkal
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.
A .NET-szerkesztőben keresse meg a Console.WriteLine() utasításokat, amelyek a hallgató kurzusadatainak megjelenítésére szolgálnak.
Hozzon létre egy üres kódsort a Console.WriteLine() utasítások felett.
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.Hozzon létre egy üres kódsort az előző Console.WriteLine() utasítás után.
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.
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
course4Name
course5Name
szá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.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.
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}");
A kód futtatásához és a formázott kimenet megjelenítéséhez válassza a Futtatás lehetőséget.
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.