Error: expected unqualified id before 'else'

Salve a tutti! Arduino e un mondo fantastico! e un paio di giorni che ci gioco ed e bellissimo! oggi, seguendo dei video su youtube ho provato a mettere un pulsante sulla breadboard e farlo accendere e spegnere. Solo che nella verifica del programma mi da errore come da oggetto e foto allegata. Ho cercato delle soluzioni ma i risultati son tutti in lingua inglese e di un livello molto superiore rispetto alle mie conoscenze e quindi per capire meglio dove e lo sbaglio chiedo a voi che siete molto piu bravi e esperti di me… dove può essere l’errore? Vi ringrazio per la risposta…

L'indentazione dovrebbe aiutarti a capire che la graffa chiusa prima dell'else va a chiudere la funzione loop(), perché non ne hai aperta una dopo l'if.

PS: Invece di incollare immagini, metti direttamente il codice sorgente nei post usando gli appositi tag.

Pardon! :confused: Questo e il mio secondo post, cercherò di stare piu attento! Grazie mille!

anchio ho lo stesso problema e non riesco a risolverlo per favore aiutatemi il piu presto possibile

detonatore.ino (2.52 KB)

PESAHEIS: intanto, essendo il tuo primo post, nel rispetto del regolamento, ti chiedo di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

La soluzione è la stessa, anche tu hai chiuso male le graffe. Usa la formattazione automatica e vedrai da solo dov'è l'errore.

PESAHEIS: il compilatore ti indica chiaramente la riga dell'errore ... è su quel "} else" (riga 84) ... prova a contare le parentesi e vedrai che quel else è fuori posto, quindi ... ricontrolla i vari "if/else", le varie parentesi e vedi di sistemarlo.

Guglielmo

scusate per la mia ignoranza ma non riesco a trovare l'errore

... te l'ho indicato chiarmente (... anzi, lo indica chiaramente il compilatore) ... quella parentesi graffa chiusa e quel "else" di riga 84 NON si riferiscono a nulla ... hai già chiuso tutte le parentesi e quindi NON si capisce quell'else a quale if si riferisce.

Devi riguardarti UNO per UNO gli if/else che hai scritto, controllare le parentesi di ciascuno e vedere le varie condizioni.

Guglielmo

ho fatto avevate ragione grazie mille spero di migliorare in futuro

Se si parte da subito a scrivere parentesi aperta/chiusa ad ogni for while switch ecc e non toccarle più, e ad incolonnare (indentare) tutte le istruzioni contenute nei for while ecc di quattro spazi a destra rispetto ai for while ecc stessi, questi problemi scompaiono quasi completamente.

Il codice è scritto bene quando anche togliendo le parentesi si riesce lo stesso a capire a colpo d'occhio quali istruzioni sono subordinate ai diversi for while if ecc (ma naturalmente il compilatore le parentesi le vuole).

L'IDE evidenzia le coppie di parentesi (tonde, quadre e graffe), a dispetto di Guglielmo che le vuole contare :smiley: :grin: :grin:
Oppure con un altro editore, Kate per (non fare nomi :smiley: ) lo fa lo stesso ed in più ha il suggerimento delle parole (cosicché c'è minor rischi di scrivere una variabile con un nome inesistente).

Hai provato la formattazione automatica come ti suggerivo? Con quella ti accorgi subito di dove hai indentato male!