Exercice - Mettre en forme la sortie en utilisant des séquences de caractères d’échappement

Effectué

Dans cet exercice, vous allez modifier la sortie de console de l’exercice précédent pour obtenir la mise en forme spécifiée par l’enseignant.

Mettre en forme la sortie de console

Dans le cadre de cette tâche, vous allez modifier votre code pour affiner la mise en forme de la sortie. Vous allez commencer par ajouter une ligne d’en-têtes qui inclut les étiquettes de colonne spécifiées par l’enseignant. Après cela, vous utiliserez des séquences de caractères d’échappement pour ajouter un remplissage entre les colonnes d’informations.

  1. Dans l’éditeur .NET, recherchez les instructions Console.WriteLine() utilisées pour afficher le score et la note sous forme de lettre actuels de chaque étudiant dans la classe.

  2. Créez une ligne de code vide au-dessus des instructions Console.WriteLine().

  3. Dans la ligne de code vide que vous avez créée, pour ajouter un en-tête pour les notes des étudiants, entrez le code suivant :

    Console.WriteLine("Student Grade\n");
    

    Notez que vous devez inclure \n à la fin du texte. Dans le module « Effectuer une mise en forme de chaîne de base en C# », vous avez appris que la séquence de caractères d’échappement \n entraîne la création d’une ligne. L’emplacement de la séquence d’échappement est important. Dans le cas présent, \n se trouve à la fin des informations que vous souhaitez écrire dans la console. La nouvelle ligne sera donc ajoutée après l’affichage de la note de l’étudiant.

  4. Pour mettre en forme votre sortie en colonnes de texte alignées, remplacez les espaces entre les mots par la séquence d’échappement \t comme suit :

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

    La séquence d’échappement \t insère un taquet de tabulation entre les éléments de texte. L’ajout des taquets de tabulation doit générer des colonnes d’informations alignées à gauche.

  5. Pour afficher les résultats de vos mises à jour, sélectionnez Exécuter.

  6. Comparez la sortie de votre application avec la sortie suivante :

    Student	Grade
    
    Sophia: 94.6    A
    Nicolas:    83.6    B
    Zahirah:    83.4    B
    Jeong:  95.4    A
    
  7. Notez que malgré l’utilisation d’une tabulation au lieu d’un espace, certaines lignes n’ont toujours pas beaucoup d’espace entre le nom de l’étudiant et son score numérique.

    Cette différence est due à la façon dont l’espacement des tabulations est appliqué. Les emplacements des taquets de tabulation sont définis à des intervalles de quatre caractères et chaque tabulation aboutit à l’emplacement de taquet de tabulation suivant. Si vous avez une chaîne de cinq caractères suivie d’une séquence d’échappement de tabulation, la séquence d’échappement aboutit au taquet de tabulation situé au niveau du huitième caractère, remplissant l’espacement avec des espaces pour créer un espace dans la sortie. Toutefois, vous pouvez aboutir au même emplacement si vous avez une chaîne de sept caractères suivie d’une séquence d’échappement de tabulation. Cela rend les séquences d’échappement de tabulation plus visibles quand elles se produisent plus loin de l’emplacement d’arrêt de tabulation suivant.

  8. Pour rendre l’espace blanc plus visible entre les deux premières colonnes, ajoutez-en un autre \t après les deux noms d’étudiants plus courts comme suit :

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

Vérifier votre travail

Dans le cadre de cette tâche, vous allez exécuter le code et vérifier que la sortie est correcte.

  1. Comparez votre code au suivant :

    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");
    
  2. Pour exécuter votre code et afficher la sortie mise en forme, sélectionnez Exécuter.

  3. Pour vérifier que votre code fonctionne comme prévu, comparez la sortie de votre application avec la sortie suivante :

    Student         Grade
    
    Sophia:         94.6    A
    Nicolas:        83.6    B
    Zahirah:        83.4    B
    Jeong:          95.4    A
    

    Si votre code affiche des résultats différents, vous devez le passer en revue afin de trouver votre erreur et d’effectuer des mises à jour. Réexécutez le code pour voir si vous avez résolu le problème. Continuez à mettre à jour et à exécuter votre code jusqu’à ce qu’il produise les résultats attendus.