[ITALIANO] Compilation error: case label '2' not within a switch statement

Buon pomeriggio. Io stavo programmando usando lo starter kit di arduino e nel libro dei progetti c'é un progetto che si chiama "sfera di cristallo". Ho copiato il codice ma andando a verificarlo mi da un errore: Compilation error: case label '2' not within a switch statement.
Questo è il codice:

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int switchPin = 6;
int switchstate = 0;
int prevSwitchState = 0;
int reply;
void setup() {
  lcd.begin(16, 2);
  pinMode(switchPin, INPUT);
  lcd.print("Interroga");
  lcd.setCursor(0, 1);
  lcd.print("La sfera");
}
void loop() {
 switchstate = digitalRead(switchPin);
 if(switchstate != prevSwitchState) { 
  if (switchstate == LOW) {
    reply = random(8);
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("La sfera dice");
  lcd.setCursor(0, 1);
  switch(reply);{
    case 0:
    lcd.print("Si");
    break;
    case 1:
    lcd.print("Probabile");
    break;
    case 2:
    lcd.print("Certo");
    break;
    case 3:
    lcd.print("Bene");
    break;
    case 4:
    lcd.print("Forse");
    break;
    case 5:
    lcd.print("cChiedi ancora");
    break;
    case 6:
    lcd. print("Improbabile");
    break;
    case 7:
    lcd.print("No");
    break;
    }
  }
 prevSwitchState = switchSate;
}

Qualcuno mi può aiutare?
Grazie.

:warning:
Ti segnalo che, nella sezione in lingua Inglese, si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post; questa volta esso è stato spostato, da un moderatore della sezione di lingua Inglese, nella sezione di lingua Italiana ... la prossima volta potrebbe venire direttamente eliminato.
Grazie.

A quanto detto da UKHeliBob aggiungo ...

... cortesemente, come prima cosa, leggi attentamente il REGOLAMENTO della sezione Italiana del forum, (... e, per evitare future possibili discussioni/incomprensioni, prestando sempre molta attenzione al punto 15), dopo di che, come da suddetto regolamento (punto 16.7), fai la tua presentazione NELL'APPOSITA DISCUSSIONE spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.

Grazie,

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposita discussione, nel rispetto del succitato regolamento nessuno ti risponderà (eventuali risposte o tuoi ulteriori post, verrebbero temporaneamente nascosti), quindi ti consiglio di farla al più presto. :wink:

Ok ora ho fatto la presentazione. Ora il quesito è visibile a tutti?

Lo era anche prima ... solo che tutti attendevano la tua presentazione :wink:

Guglielmo

Ci sono un paio di errori in quel codice ...

  1. switch(reply);{ se dopo lo statemente switch() metti il ';' termini li lo switch e quindi ... :roll_eyes:
    devi togliere quel ';' scrivendo: switch (reply) { e vedrai che lo compila, ma ...

  2. ti darà errore proprio in fondo ... prova a vedere da solo perché :wink:

Guglielmo

Ah, un consiglio, fai fare l'indentatura automatica del codice dall'IDE ... Tools -> Auto Format ... vedrai che manca anche qualche cosa :wink:

Guglielmo

ok grazie :slightly_smiling_face:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.