This commit is contained in:
2026-02-11 18:35:12 +01:00
parent f3f5a46598
commit 60a1748f64
2 changed files with 32 additions and 33 deletions

View File

@@ -11,7 +11,7 @@ const operatoriValidi = ['+', '-', '*', '/'];
/**
* 1. FUNZIONE: Aggiungi caratteri al display
* 1. EVENTI: Aggiungi caratteri al display
* Per ogni tasto, aggiungiamo un event listener che, quando cliccato,
* prende il testo del tasto e lo aggiunge al display.
* Bisono fare attenzione agli spazi per gli operatori.
@@ -25,7 +25,7 @@ const operatoriValidi = ['+', '-', '*', '/'];
/**
* 2. FUNZIONE: Cancella display
* 2. EVENTO: Cancella display
* Quando clicchiamo il tasto "C", il display deve essere svuotato.
*
* Passi:
@@ -34,24 +34,6 @@ const operatoriValidi = ['+', '-', '*', '/'];
*/
/**
* 3. FUNZIONE: Calcola
* Prendiamo in input un numero, un operatore e un altro numero,
* e restituiamo il risultato del calcolo in base all'operatore.
* Se l'operatore non è valido, mostriamo un messaggio di errore.
*
* Passi:
* - Prendiamo in input il primo numero, l'operatore e il secondo numero
* - In base all'operatore, eseguiamo il calcolo
* - Restituiamo il risultato
* - Se l'operatore non è valido, mostriamo un messaggio di errore con mostraErrore() e restituiamo null
* Nota: Si può usare uno switch per semplicità senza break (dato che restituiamo subito il risultato)
*/
function calcola(num1, operatore, num2) {
}
/**
* 4. FUNZIONE: Calcola risultato
* Quando clicchiamo il tasto "=", dobbiamo prendere il testo del display,
@@ -60,11 +42,11 @@ function calcola(num1, operatore, num2) {
* Passi:
* A. Prendi il testo del display e puliscilo (rimuovi spazi inutili all'inizio e alla fine)
* B. Spezza la stringa in parti (numero, operatore, numero) in base agli spazi
* C. Valida i dati:
* - Controlla che ci siano esattamente 3 pezzi
* - Controlla che i numeri siano validi (trasforma e controlla non NaN)
* - Controlla che l'operatore sia valido (tra quelli definiti)
* D. Esegui il calcolo chiamando la funzione calcola()
* C. Controlla che:
* - Ci siano esattamente 3 pezzi (altrimenti mostra errore e return)
* - Destruttura in num1, operatore, num2
* - Trasforma num1 e num2 in numeri (parseFloat)
* D. Esegui il calcolo chiamando la funzione calcola(num1, operatore, num2)
* E. Mostra il risultato nel display
*/
function calcolaRisultato() {
@@ -72,6 +54,23 @@ function calcolaRisultato() {
}
/**
* 3. FUNZIONE: Calcola
* Prendiamo in input un numero, un operatore e un altro numero,
* e restituiamo il risultato del calcolo in base all'operatore.
* Se l'operatore non è valido, mostriamo un messaggio di errore.
*
* Passi:
* - In base all'operatore, eseguiamo il calcolo
* - Restituiamo il risultato
* - Se l'operatore non è valido, mostriamo un messaggio di errore con mostraErrore() e restituiamo null
* Nota: Si può usare uno switch per semplicità senza break (dato che restituiamo subito il risultato)
*/
function calcola(num1, operatore, num2) {
}
/****************************************************/
/********* FUNZIONI HELPER E EVENT LISTENER *********/

View File

@@ -187,14 +187,6 @@
<h2>Esercizi</h2>
<div class="exercise-list">
<a href="calcolatrice/index.html" class="card">
<div class="icon">🧮</div>
<div class="info">
<h3>Calcolatrice <span class="difficulty easy">Facile</span></h3>
<p>Validazione input, Parsing numeri, Switch case</p>
</div>
</a>
<a href="generatore_utenti/index.html" class="card">
<div class="icon">👤</div>
<div class="info">
@@ -202,6 +194,14 @@
<p>Manipolazione stringhe, generazione numeri casuali</p>
</div>
</a>
<a href="calcolatrice/index.html" class="card">
<div class="icon">🧮</div>
<div class="info">
<h3>Calcolatrice <span class="difficulty easy">Facile+</span></h3>
<p>Validazione input, Parsing numeri, Switch case</p>
</div>
</a>
</div>
</div>
</body>