Exercício - Formatar a saída usando sequências de caracteres com escape
Neste exercício, você modificará a saída do console do exercício anterior para obter o formato de relatório especificado.
Formatar a saída do console
Nesta tarefa, você atualizará seu código para aplicar os toques finais à saída relatada. Você começará incluindo o nome do aluno e adicionando uma linha de cabeçalho que inclua os rótulos das colunas. Depois disso, você usará sequências de escape de caracteres para adicionar preenchimento extra entre as colunas de informações.
No Editor .NET, localize as instruções Console.WriteLine() que são usadas para exibir as informações do curso do aluno.
Crie uma linha de código em branco acima das instruções Console.WriteLine().
Na linha de código em branco que você criou, para adicionar o nome do aluno, digite o seguinte código:
Console.WriteLine($"Student: {studentName}\n");
Observe que você está incluindo
\n
no final do texto. No módulo "Executar formatação básica de cadeia de caracteres com C#", você aprendeu que a\n
sequência de caracteres de escape fará com que uma nova linha seja criada. A localização da sequência de fuga é importante. Nesse caso, o\n
está no final das informações que você deseja gravar no console, portanto, a nova linha será adicionada depois que "Nome do aluno" for exibido.Crie uma linha de código em branco após a instrução Console.WriteLine() anterior.
Na linha de código em branco que você criou, para adicionar um cabeçalho para informações sobre o curso, digite o seguinte código:
Console.WriteLine("Course\t\t\t\tGrade\tCredit Hours");
Observe que você está adicionando quatro guias após o nome do curso. As paradas de tabulação extras permitirão espaço extra para nomes de cursos mais longos.
Para formatar a saída como colunas de texto alinhadas, substitua os espaços entre as palavras pela
\t
sequência de escape da seguinte maneira: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
sequência de escape inserirá uma parada de tabulação entre os itens de texto. Essas paradas de tabulação devem resultar em colunas de informações alinhadas à esquerda.Observe que você reduz o número de guias para
course4Name
ecourse5Name
. Essa diferença ocorre porque esses nomes de cursos são mais longos do que os outros. Na etapa anterior, você adicionou guias extras após a coluna de nome do curso para manter o espaçamento consistente para nomes de cursos longos e curtos.Para adicionar preenchimento à saída final do resultado do GPA, atualize o código da seguinte maneira:
Console.WriteLine($"\nFinal GPA:\t\t\t {leadingDigit}.{firstDigit}{secondDigit}");
Verifique o seu trabalho
Nesta tarefa, você executará o código e verificará se a saída está correta.
Verifique se o seu código é semelhante ao seguinte:
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}");
Para executar o código e exibir a saída formatada, selecione Executar.
Para verificar se o código está funcionando conforme o esperado, compare a saída do seu aplicativo com a seguinte saída:
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
Se o código apresentar resultados diferentes, terá de rever o código para encontrar o erro e fazer atualizações. Execute o código novamente para ver se você corrigiu o problema. Continue atualizando e executando seu código até que seu código produza os resultados esperados.