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 pelo professor.
Formatar a saída do console
Nesta tarefa, você atualizará seu código para aplicar os toques finais à saída relatada. Você começará adicionando uma linha de cabeçalho que inclua os rótulos de coluna especificados pelo professor. 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 a pontuação atual da classe e a nota da letra de cada aluno.
Crie uma linha de código em branco acima das
Console.WriteLine()
instruções.Na linha de código em branco que criou, para adicionar um cabeçalho para as notas dos alunos, introduza o seguinte código:
Console.WriteLine("Student Grade\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 "Nota do aluno" for exibida.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("Student\tGrade\n"); Console.WriteLine("Sophia:\t" + sophiaScore + "\tA"); Console.WriteLine("Nicolas:\t" + nicolasScore + "\tB"); Console.WriteLine("Zahirah:\t" + zahirahScore + "\tB"); Console.WriteLine("Jeong:\t" + jeongScore + "\tA");
A
\t
sequência de escape inserirá uma parada de tabulação entre os itens de texto. Adicionar as paradas de tabulação deve resultar em colunas de informações alinhadas à esquerda.Para ver os resultados das atualizações, selecione Executar.
Compare a saída do seu aplicativo com a seguinte saída:
Student Grade Sophia: 94.6 A Nicolas: 83.6 B Zahirah: 83.4 B Jeong: 95.4 A
Observe que, apesar de usar uma guia em vez de um caractere de espaço, algumas linhas ainda não têm muito espaço em branco entre o nome do aluno e sua pontuação numérica.
Esta diferença deve-se à forma como o espaçamento entre separadores é aplicado. Os locais de parada de tabulação são definidos em intervalos de quatro caracteres, e cada guia avançará para o próximo local de parada de tabulação. Se você tiver uma sequência de cinco caracteres seguida por uma sequência de escape de tabulação, a sequência de escape avançará para a parada de tabulação no local de oito caracteres, preenchendo a lacuna com caracteres de espaço para criar espaço em branco na saída. No entanto, você pode avançar para o mesmo local se tiver uma sequência de sete caracteres seguida por uma sequência de escape de tabulação. Isso torna as sequências de escape de tabulação mais percetíveis quando ocorrem mais longe do próximo local de parada de tabulação.
Para tornar o espaço em branco mais percetível entre as duas primeiras colunas, adicione outro
\t
após os dois nomes de alunos mais curtos, da seguinte forma:Console.WriteLine("Student\t\tGrade\n"); Console.WriteLine("Sophia:\t\t" + sophiaScore + "\tA"); Console.WriteLine("Nicolas:\t" + nicolasScore + "\tB"); Console.WriteLine("Zahirah:\t" + zahirahScore + "\tB"); Console.WriteLine("Jeong:\t\t" + jeongScore + "\tA");
Verifique o seu trabalho
Nesta tarefa, você executará o código e verificará se a saída está correta.
Compare o seu código com o seguinte:
int currentAssignments = 5; int sophia1 = 93; int sophia2 = 87; int sophia3 = 98; int sophia4 = 95; int sophia5 = 100; int nicolas1 = 80; int nicolas2 = 83; int nicolas3 = 82; int nicolas4 = 88; int nicolas5 = 85; int zahirah1 = 84; int zahirah2 = 96; int zahirah3 = 73; int zahirah4 = 85; int zahirah5 = 79; int jeong1 = 90; int jeong2 = 92; int jeong3 = 98; int jeong4 = 100; int jeong5 = 97; int sophiaSum = sophia1 + sophia2 + sophia3 + sophia4 + sophia5; int nicolasSum = nicolas1 + nicolas2 + nicolas3 + nicolas4 + nicolas5; int zahirahSum = zahirah1 + zahirah2 + zahirah3 + zahirah4 + zahirah5; int jeongSum = jeong1 + jeong2 + jeong3 + jeong4 + jeong5; decimal sophiaScore = (decimal) sophiaSum / currentAssignments; decimal nicolasScore = (decimal) nicolasSum / currentAssignments; decimal zahirahScore = (decimal) zahirahSum / currentAssignments; decimal jeongScore = (decimal) jeongSum / currentAssignments; Console.WriteLine("Student\t\tGrade\n"); Console.WriteLine("Sophia:\t\t" + sophiaScore + "\tA"); Console.WriteLine("Nicolas:\t" + nicolasScore + "\tB"); Console.WriteLine("Zahirah:\t" + zahirahScore + "\tB"); Console.WriteLine("Jeong:\t\t" + jeongScore + "\tA");
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 Grade Sophia: 94.6 A Nicolas: 83.6 B Zahirah: 83.4 B Jeong: 95.4 A
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.