Menu
Coddy logo textTech

Générer un bulletin de notes

Fait partie de la section Logique & Flux du Journey PHP de Coddy — leçon 38 sur 68.

challenge icon

Défi

Facile

Vous recevrez une entrée : un objet JSON représentant le carnet de notes des étudiants. Le carnet de notes utilise les noms des étudiants comme clés, chaque étudiant ayant un "id" et un tableau "grades" contenant leurs scores aux tests.

Lisez l'entrée, convertissez la chaîne JSON en un tableau de carnet de notes et générez un bulletin scolaire formaté pour tous les étudiants. Pour chaque étudiant, affichez son nom, son identifiant d'étudiant, toutes ses notes individuelles et sa note moyenne arrondie à 2 décimales.

Formatez la sortie exactement comme suit :

  • Affichez ===== REPORT CARD ===== comme en-tête
  • Pour chaque étudiant, affichez :
    • Student: [name]
    • ID: [student_id]
    • Grades: [grade1], [grade2], [grade3], ... (toutes les notes séparées par des virgules et des espaces)
    • Average: [average] (arrondi à 2 décimales)
    • Une ligne vide après chaque étudiant (sauf le dernier)

Format d'entrée : Une ligne contenant un objet JSON représentant le carnet de notes (exemple : {"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}})

Sortie attendue : Un bulletin scolaire formaté montrant les informations de chaque étudiant avec son nom, son ID, toutes ses notes et la moyenne calculée

Essayez vous-même

<?php
// Lire l'entrée JSON
$input = trim(fgets(STDIN));

// Convertir le JSON en tableau
$gradebook = (array)json_decode($input, true);

// Afficher l'en-tête
echo "===== REPORT CARD =====\n";

// À FAIRE : Écrivez votre code ci-dessous
// Parcourir chaque étudiant dans le carnet de notes
// Pour chaque étudiant :
//   - Afficher leur nom
//   - Afficher leur identifiant
//   - Afficher toutes leurs notes
//   - Calculer et afficher leur moyenne (arrondie à 2 décimales)
//   - Ajouter une ligne vide entre les étudiants (sauf après le dernier)

?>

Toutes les leçons de Logique & Flux