Projet de fin de module — Correction d'exercices

Voici des propositions de solutions en mode console (via readline()). N’hésite pas à les adapter.

#1 — Calculatrice simple

Crée un script calculette (CLI) qui demande deux nombres et une opération (+, -, *, /) puis affiche le résultat.

Voir le corrigé
<?php
$n1 = (float) readline("Nombre 1 : ");
$op = readline("Opération (+, -, *, /) : ");
$n2 = (float) readline("Nombre 2 : ");

switch ($op) {
    case '+': echo $n1 + $n2; break;
    case '-': echo $n1 - $n2; break;
    case '*': echo $n1 * $n2; break;
    case '/':
        if ($n2 == 0) echo "Erreur div/0";
        else echo $n1 / $n2;
        break;
    default: echo "Opération inconnue";
}
?>

#2 — Carnet de contacts (Tableau)

Crée un tableau de contacts (nom, tel). Permets à l'utilisateur d'ajouter un contact via readline et affiche la liste.

Voir le corrigé
<?php
$contacts = [];
while (true) {
    $choix = readline("1: Ajouter, 2: Lister, 3: Quitter > ");
    if ($choix == 3) break;

    if ($choix == 1) {
        $nom = readline("Nom : ");
        $tel = readline("Tel : ");
        $contacts[] = ["nom" => $nom, "tel" => $tel];
    } elseif ($choix == 2) {
        foreach ($contacts as $c) {
            echo "- {$c['nom']} : {$c['tel']}\n";
        }
    }
}
?>

#3 — Générateur de mot de passe

Crée une fonction qui génère un mot de passe aléatoire de N caractères (lettres+chiffres).

Voir le corrigé
<?php
function genererPass($longueur = 8) {
    $chars = "abcdefghijklmnopqrstuvwxyzABCD1234567890";
    $pass = "";
    for ($i = 0; $i < $longueur; $i++) {
        $pass .= $chars[rand(0, strlen($chars) - 1)];
    }
    return $pass;
}
echo "Mot de passe : " . genererPass(12);
?>
Besoin d'aide ?
Tuteur Virtuel
Bonjour ! Je suis votre tuteur virtuel. Comment puis-je vous aider avec ce cours aujourd'hui ?
Historique des conversations
Chargement...