« 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, 2021In 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:
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>