Menu
Coddy logo textTech

Karne Oluşturma

Coddy'nin PHP Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 38 / 68.

challenge icon

Görev

Kolay

Bir girdi alacaksınız: öğrenci not defterini temsil eden bir JSON nesnesi. Not defteri, anahtar olarak öğrenci adlarını kullanır; her öğrencinin bir "id" değeri ve test puanlarını içeren bir "grades" dizisi vardır.

Girdiyi okuyun, JSON dizesini bir not defteri dizisine dönüştürün ve tüm öğrenciler için biçimlendirilmiş bir karne oluşturun. Her öğrenci için adını, öğrenci kimliğini (ID), tüm bireysel notlarını ve 2 ondalık basamağa yuvarlanmış ortalama notunu görüntüleyin.

Çıktıyı tam olarak şu şekilde biçimlendirin:

  • Başlık olarak ===== REPORT CARD ===== yazdırın
  • Her öğrenci için şunları yazdırın:
    • Student: [name]
    • ID: [student_id]
    • Grades: [grade1], [grade2], [grade3], ... (tüm notlar virgül ve boşluklarla ayrılmış şekilde)
    • Average: [average] (2 ondalık basamağa yuvarlanmış)
    • Her öğrenciden sonra boş bir satır (sonuncusu hariç)

Girdi biçimi: Not defterini temsil eden bir JSON nesnesi içeren tek bir satır (örnek: {"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}})

Beklenen çıktı: Her öğrencinin adını, kimliğini, tüm notlarını ve hesaplanmış ortalamasını gösteren biçimlendirilmiş bir karne

Kendin dene

<?php
// JSON girişini oku
$input = trim(fgets(STDIN));

// JSON'u diziye dönüştür
$gradebook = (array)json_decode($input, true);

// Başlığı yazdır
echo "===== REPORT CARD =====\n";

// TODO: Kodunuzu aşağıya yazın
// Not defterindeki her bir öğrenciyi döngüye al
// Her öğrenci için:
//   - İsimlerini yazdır
//   - Kimlik numaralarını (ID) yazdır
//   - Tüm notlarını yazdır
//   - Ortalamalarını hesapla ve yazdır (virgülden sonra 2 basamak olacak şekilde yuvarla)
//   - Öğrenciler arasına boş bir satır ekle (sonuncusu hariç)

?>

Mantık ve Akış bölümündeki tüm dersler