Latihan - Memformat output menggunakan urutan karakter yang lolos

Selesai

Dalam latihan ini, Anda akan memodifikasi output konsol dari latihan sebelumnya untuk mencapai format pelaporan yang ditentukan.

Memformat output konsol

Dalam tugas ini, Anda akan memperbarui kode untuk menerapkan sentuhan akhir ke output yang dilaporkan. Anda akan mulai dengan menyertakan nama siswa dan menambahkan baris header yang menyertakan label kolom. Setelah itu, Anda akan menggunakan urutan escape karakter untuk menambahkan padding tambahan di antara kolom informasi.

  1. Di Editor .NET, temukan pernyataan Console.WriteLine() yang digunakan untuk menampilkan informasi kursus siswa.

  2. Buat baris kode kosong di atas pernyataan Console.WriteLine().

  3. Pada baris kode kosong yang Anda buat, untuk menambahkan nama siswa, masukkan kode berikut:

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

    Perhatikan bahwa Anda menyertakan \n di akhir teks. Dalam modul "Lakukan pemformatan string dasar dengan C#", Anda mengetahui bahwa \n urutan karakter escape akan menyebabkan baris baru dibuat. Lokasi urutan pelarian penting. Dalam hal ini, \n adalah di akhir informasi yang ingin Anda tulis ke konsol, sehingga baris baru akan ditambahkan setelah "Nama Siswa" ditampilkan.

  4. Buat baris kode kosong setelah pernyataan Console.WriteLine() sebelumnya.

  5. Pada baris kode kosong yang Anda buat, untuk menambahkan header untuk informasi kursus, masukkan kode berikut:

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

    Perhatikan bahwa Anda menambahkan empat tab setelah nama kursus. Perhentian tab tambahan akan memungkinkan ruang ekstra untuk nama kursus yang lebih panjang.

  6. Untuk memformat output Anda sebagai kolom teks yang sejajar, ganti spasi di antara kata dengan \t urutan escape sebagai berikut:

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

    Urutan \t escape akan menyisipkan perhentian tab di antara item teks. Perhentian tab ini akan menghasilkan kolom informasi yang rata kiri.

    Perhatikan bahwa Anda mengurangi jumlah tab untuk course4Name dan course5Name. Perbedaan ini karena nama kursus tersebut lebih panjang dari yang lain. Pada langkah sebelumnya, Anda menambahkan tab tambahan setelah kolom nama kursus untuk menjaga penspasian tetap konsisten untuk nama kursus yang panjang dan pendek.

  7. Untuk menambahkan padding ke output hasil GPA akhir, perbarui kode sebagai berikut:

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

Periksa Pekerjaan Anda

Dalam tugas ini, Anda akan menjalankan kode dan memverifikasi bahwa output sudah benar.

  1. Periksa apakah kode Anda mirip dengan yang berikut ini:

    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. Untuk menjalankan kode Anda dan menampilkan output yang diformat, pilih Jalankan.

  3. Untuk memverifikasi bahwa kode Anda berfungsi seperti yang diharapkan, bandingkan output aplikasi Anda dengan output berikut:

    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
    

    Jika kode Anda menampilkan hasil yang berbeda, Anda harus meninjau kode untuk menemukan kesalahan Anda dan membuat pembaruan. Jalankan kode lagi untuk melihat apakah Anda telah memperbaiki masalah. Lanjutkan memperbarui dan menjalankan kode Anda hingga kode Anda menghasilkan hasil yang diharapkan.