Gestire incasso della prima settimana di settembre
individuando il valore massimo, minimo,
la media e il totale.
Creare tre vettori paralleli contenenti il giorno,
il numero di cassa
e l'importo.
SOLUZIONE HTML - PHP
Pagina Cassa.html
<html>
<head>
<title>Cassa supermercato</title>
</head>
<body>
<font size=5 color="blue">Calcola il minore, il maggiore,
la media e la somma degli importi ottenuti nel tuo supermercato!</font><br><br>
<form name="dati" method="post" action="cassa.php" >
<table border="0" width="55%">
<tr>
<td>Inserisci la data:</td>
<td><input type="date" name="date" title="Inserisci la data"></td>
</tr>
<tr>
<td>Inserisci il numero della cassa utilizzata:</td>
<td><input type="number" name="cassa" title="Inserisci il numero della cassa utilizzata">
</td>
</tr>
<tr>
<td>Inserisci l'importo ottenuto</td>
<td><input type="number" name="importo" title="Inserisci l'importo ottenuto"</td>
</tr>
<div style="margin-left:250px">
<input type="submit" value="Inserisci"><input type="reset" value="Azzera">
</div>
</form>
<form name="totale" method="post" action="cassa.php">
<div style="margin-left:270px">
<input type="submit" class="art-button" value="Calcola totali"
onclick="return confirm(\'Confermi la richiesta dei totali?\');"><br>
<input type="text" name="formAction" style="visibility:hidden;" value="calcolaTotali">
</div>
</form>
</body>
</html>
Pagina cassa.php
<?php
session_start();
//Controllo le variabili che mi arrivano dal POST per capire se sono nel form con il submit
"Inserisci" oppure "Calcola totali"
if( isset($_POST["date"]) && isset($_POST["cassa"]) && isset($_POST["importo"]) ){
$arrayAppoggio = array($_POST["date"],$_POST["cassa"],$_POST["importo"]);
//Compongo l'url da richiamare per il reload della pagina cassa.html
$url = 'http://' . $_SERVER['HTTP_HOST']; // Recupera il server
$url .= rtrim(dirname($_SERVER['PHP_SELF']), '/\\'); // Recupera la cartella
$url .= '/cassa.html'; // Il file da chiamare (cassa.html)
if (!isset($_SESSION["arrayImporti"])){
$_SESSION["arrayImporti"] = array();
array_push($_SESSION["arrayImporti"], $arrayAppoggio);
} else {
array_push($_SESSION["arrayImporti"], $arrayAppoggio);
}
//Chiamo il reload
header('Location: ' . $url, true, 302);
} else {
$arrayImporti=$_SESSION["arrayImporti"];
if(isset($arrayImporti)) {
$minimo=0;
$massimo=0;
$conta=0;
$somma=0;
foreach($arrayImporti as $arrayImporto) {
//Devo fare la media, mi serve quindi il numero degli importi inseriti
//lui scorre il foreach per ogni riga e ogni volta che lo fa viene incrementato
il numero degli importi inseriti (conta)
$conta=$conta+1;
$somma=$somma+$arrayImporto[2];
//Se sono al primo giro, quindi conta = 1, imposto minimo e massimo
if($conta==1){
$massimo=$arrayImporto[2];
$minimo=$arrayImporto[2];
} else { //Altrimenti calcolo minimo e massimo
if($arrayImporto[2]<$minimo)
$minimo=$arrayImporto[2];
else if($arrayImporto[2]>$massimo)
$massimo=$arrayImporto[2];
}
}
$media=$somma/$conta;
echo "L'importo minimo ottenuto è: " . $minimo . "<br>";
echo "L'importo massimo ottenuto è: " . $massimo . "<br>";
echo "La media degli importi ottenuti è: " . $media . "<br>";
echo "La somma degli importi ottenuti è: " . $somma . "<br>";
//Azzero array in sessione
unset($_SESSION["arrayImporti"]);
} else {
echo "Non sono stati inseriti dati!";
}
}
?>
Soluzione in Cpp
#include<iostream>
#include<cstdlib>
using namespace std;
int main ()
{
float minimo;
float massimo;
float somma=0;
float media;
string giorno[7];
int cassa[7];
float importo[7];
int i;
for(i=0; i<7; i++)
{
cout<<"Inserisci la data: ";
cin>>giorno[i];
cout<<"Inserisci il numero della cassa utilizzata: ";
cin>>cassa[i];
cout<<"Inserisci l'importo guadagnato: ";
cin>>importo[i];
somma+=importo[i];
if(importo[i]<minimo)
minimo=importo[i];
else if(importo[i]>massimo)
massimo=importo[i];
else{
minimo=importo[i];
massimo=importo[i];
}
}
media=somma/i;
cout<<"L'incasso minimo ottenuto nella prima settimana di settembre e\':
"<<minimo<<endl;
cout<<"L'incasso massimo ottenuto nella prima settimana di settembre e\':
"<<massimo<<endl;
cout<<"La somma degli incassi ottenuti nella prima settimana di settembre e\':
"<<somma<<endl;
cout<<"La media degli incassi ottenuti nella prima settimana di settembre e\':
"<<media;
}
Soluzioni proposte dall'alunna Noemi Fusari classe IV D SIA - ITE A. Bassi di Lodi
Commenti
Posta un commento