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.