Calcolare il minimo, il massimo e la media degli incassi usando le sessioni in Php e soluzione in Cpp

 

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

Post popolari in questo blog

Simulazioni di reti (con Cisco Packet Tracer)

Esercizi sulla rappresentazione della virgola mobile IEEE 754 (Floating Point)