« Ritorna al blog

Ritorna alla lista completa degli articoli

Mettiti alla prova: chi è l'impiegato più giovane o più anziano? - Parte 2 di 4

PHP - SFIDE - novembre 11, 2021

In questo esercizio bisognerà costruire una funzione che dovrà comparare due dipendenti e specificare quale sia il più giovane tra i due. Puoi risolvere questo esercizio solo se hai risolto quello precedente che trovi al seguente link:

Calcolo età anagrafica

Seguire le indicazioni per risolvere l'esercizio:

  • Copiare il codice del file start.php nel proprio editor preferito. La classe Impiegato.class.php deve trovarsi nella cartella classi;
  • La funzione deve ritornare i seguenti messaggi dove x e y sono i rispettivi nomi degli impiegati:
    • L'impiegato x è più vecchio dell'impiegato y;
    • L'impiegato x è più giovane dell'impiegato y;
    • L'impiegato x ha la stessa età dell'impiegato y;
  • Utilizzare il metodo get_eta() definito nella classe Impiegato.class.php;
  • La funzione compara_eta() deve trovarsi al di fuor dalla classe Impiegato.class.php;
  • La funzione compara_eta() accetta, come parametri, due oggetti Impiegato e non due interi;

Buon lavoro!

File start.php

<!-- Classe Impiegato -->
<?php require_once("classi/Impiegato.class.php"); ?>

<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Esercizio: chi è l'impiegato più giovane o più anziano?</title>
</head>
<body>

<?php
    function compara_eta($emp1, $emp2){
        // da completare
    }

    $giovanni = new Impiegato('Giovanni', '2010-10-20');
    $filippo = new Impiegato('Filippo', '2012-07-12');
    $enrico = new Impiegato('Enrico', '2009-08-28');
    $teresa = new Impiegato('Teresa', '2017-03-06');
    $michele = new Impiegato('Michele', '2005-04-07');
    $laura = new Impiegato('Laura', '2010-07-12');
    $roberto = new Impiegato('Roberto', '2003-12-16');
    $luisa = new Impiegato('Luisa', '2004-05-20');
    $maria = new Impiegato('Maria', '2010-05-25');
    $boris = new Impiegato('Boris', '2007-01-07');
    $alice = new Impiegato('Alice', '2015-11-13');
    $gennaro = new Impiegato('Gennaro', '2016-12-16');
    $gianluca = new Impiegato('Gianluca', '2007-04-30');
    $carlo = new Impiegato('Carlo', '2010-03-25');

    // Comparazioni
    echo "<p>" . compara_eta($giovanni,$laura) . "</p>";
    echo "<p>" . compara_eta($filippo,$gennaro) . "</p>";
    echo "<p>" . compara_eta($gianluca,$luisa) . "</p>";

?>
</body>
</html>

Per verificare di aver svolto correttamente l'esercizio l'output dovrà essere il seguente:

L'impiegato Giovanni ha la stessa età dell'impiegato Laura
L'impiegato Filippo è più anziano dell'impiegato Gennaro
L'impiegato Gianluca è più giovane dell'impiegato Luisa

Per vedere la soluzione bisogna registrarsi al sito.

File finish.php

<!-- Classe Impiegato -->
<?php require_once("classi/Impiegato.class.php"); ?>

<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Esercizio: chi è l'impiegato più giovane o più anziano?</title>
</head>
<body>

<?php
    function compara_eta($emp1, $emp2){

        if($emp1->get_eta() > $emp2->get_eta()){
            return "L'impiegato " . $emp1->get_nome() . " è più anziano dell'impiegato " . $emp2->get_nome();
        } else if($emp1->get_eta() < $emp2->get_eta()){
            return "L'impiegato " .  $emp1->get_nome() . " è più giovane dell'impiegato " . $emp2->get_nome();
        } else {
            return "L'impiegato " . $emp1->get_nome() . " ha la stessa età dell'impiegato " . $emp2->get_nome();
        }
    }

    $giovanni = new Impiegato('Giovanni', '2010-10-20');
    $filippo = new Impiegato('Filippo', '2012-07-12');
    $enrico = new Impiegato('Enrico', '2009-08-28');
    $teresa = new Impiegato('Teresa', '2017-03-06');
    $michele = new Impiegato('Michele', '2005-04-07');
    $laura = new Impiegato('Laura', '2010-07-12');
    $roberto = new Impiegato('Roberto', '2003-12-16');
    $luisa = new Impiegato('Luisa', '2004-05-20');
    $maria = new Impiegato('Maria', '2010-05-25');
    $boris = new Impiegato('Boris', '2007-01-07');
    $alice = new Impiegato('Alice', '2015-11-13');
    $gennaro = new Impiegato('Gennaro', '2016-12-16');
    $gianluca = new Impiegato('Gianluca', '2007-04-30');
    $carlo = new Impiegato('Carlo', '2010-03-25');

    // Comparazioni
    echo "<p>" . compara_eta($giovanni,$laura) . "</p>";
    echo "<p>" . compara_eta($filippo,$gennaro) . "</p>";
    echo "<p>" . compara_eta($gianluca,$luisa) . "</p>";
?>
</body>
</html>
Mettiti alla prova: chi è l'impiegato più giovane o più anziano? - Parte 2 di 4