Ebbene mi sono preso la briga di leggerlo e indentarlo (ovviamente l'ho indentato con un tool...)
Di seguito il codice corretto:
codice:#include <iostream> #include <cmath> using namespace std; int main() { int scelta; int dato; int i; unsigned int valore_assoluto; int sommatoria=0; int fattoriale; cout<<"Ciao, questo è un programma che permette di scegliere un operazione matematica da svolgere.."<<endl<<endl; cout<<"Scegli fra: "<<endl; cout<<"1: Valore assoluto. "<<endl; cout<<"2: Quadrato. "<<endl; cout<<"3: Sommatoria. "<<endl; cout<<"4:Fattoriale. "<<endl; cout<<"5: Esci. "<<endl; cout<<"inserisci la tua scelta: "<<endl; cin>>scelta; if(scelta<1 || scelta>5) { cout<<"Scelta errata!! "; } switch(scelta) { case 1: cout<<"Hai scelto, l'operazione <valore assoluto>"<<endl; cout<<"inserisci un numero intero:"; cin>>dato; // valore_assoluto=dato; // SBAGLIATO! if(dato >= 0) valore_assoluto = dato; else valore_assoluto = -dato; cout<<"Il valore assoluto di "<<dato<<" è: "<<valore_assoluto; break; case 2: cout<<"Hai scelto, l'operazione <quadrato>"<<endl; cout<<"inserisci un numero intero:"; cin>>dato; cout<<"Il quadrato di "<<dato<<" è: "<<dato*dato; break; case 3: cout<<"Hai scelto, l'operazione <sommatoria>"<<endl; cout<<"inserisci un numero intero:"; cin>>dato; for(i=0; i<=dato; i++) sommatoria=+i; cout<<"La sommatoria di "<<dato<<" è: "<<sommatoria; break; case 4: cout<<"Hai scelto, l'operazione <fattoriale>"<<endl; cout<<"inserisci un numero intero:"; cin>>dato; fattoriale=dato; while(dato>1) { fattoriale=fattoriale*(dato-1); dato--; } break; case 5: cout<<"Hai scelto, l'operazione <Esci>"<<endl; cout<<"Arrivederci"; break; } return 0; }
Gli errori principali erano:
- c'era una virgola al posto di un punto e virgola
- gli apici nei case non ci vanno, come ti hanno già fatto notare. Questo perché il tipo di dato su cui stai facendo lo switch è int e non char
- la funzione per il calcolo del valore assoluto non era corretta: facevi semplicemente valore_assoluto = dato. Se mai ripassa l'argomento sul libro di matematica
- quello che facevi all'inizio con la variabile quadrato non aveva senso: in quel momento la variabile dato contiene un valore casuale, che poi viene sovrascritto dall'utente. Puoi calcolare il quadrato solo dopo aver letto il valore di dato.
![]()

Rispondi quotando