// ====================== AUFGABE 1: NOTENRECHNER ======================

/**
 * Berechnet die Note basierend auf der Punktzahl
 * @param {number} punkte - Die erreichte Punktzahl
 * @returns {string} Die entsprechende Note als Text
 */
function berechneNote(punkte) {
  if (punkte >= 90) {
    return "sehr gut";
  } else if (punkte >= 75) {
    return "gut";
  } else if (punkte >= 60) {
    return "befriedigend";
  } else if (punkte >= 50) {
    return "ausreichend";
  } else {
    return "nicht bestanden";
  }
}

/**
 * Startet den interaktiven Notenrechner
 * Fragt nach Punktzahl und maximaler Punktzahl
 */
function startNotenrechner() {
  // Punkte abfragen
  const punkteInput = prompt("Geben Sie Ihre Punktzahl ein:");
  
  // Prüfung auf Abbruch oder leere Eingabe
  if (punkteInput === null || punkteInput.trim() === "") {
    alert("Abgebrochen.");
    return;
  }
  
  const punkte = parseFloat(punkteInput);
  
  // Validierung: Zahl
  if (isNaN(punkte)) {
    alert("Fehler: Bitte geben Sie eine gültige Zahl ein!");
    return;
  }
  
  // Maximale Punktzahl abfragen
  const maxPunkteInput = prompt("Geben Sie die maximale Punktzahl ein:");
  
  // Prüfung auf Abbruch oder leere Eingabe
  if (maxPunkteInput === null || maxPunkteInput.trim() === "") {
    alert("Abgebrochen.");
    return;
  }
  
  const maxPunkte = parseFloat(maxPunkteInput);
  
  // Validierung: Zahl
  if (isNaN(maxPunkte) || maxPunkte <= 0) {
    alert("Fehler: Bitte geben Sie eine gültige Zahl ein!");
    return;
  }
  
  // Prozentsatz berechnen
  const prozentsatz = (punkte / maxPunkte) * 100;
  
  // Note berechnen (basierend auf Prozentsatz)
  const note = berechneNote(prozentsatz);
  
  // Ergebnis formatieren
  const ergebnis = `${punkte} von ${maxPunkte} Punkten (${prozentsatz.toFixed(2)}%) = ${note}`;
  
  // Ausgabe auf Konsole
  console.log(ergebnis);
  
  // Ausgabe als Alert
  alert(ergebnis);
}
