Ultima modifica:
C++:
int main()
{
cout << "Di quanti numeri vuoi fare la media?" << flush; // se non metti endl, metti flush; o il messaggio potrebbe rimanere nel buffer e non venir stampato
int how_many;
cin >> how_many;
if (how_many <= 0) { // "non _strettamente_ positivo"
cout << "\nErrore: il numero doveva essere positivo: " << how_many << " Errore 42" << flush;
return 0;
}
int sum = 0;
for (int i = 0; i < how_many; i++) {
int x;
cout << "\nInserisci un numero: " << flush;
cin >> x;
sum += x;
}
cout << "\nLa media e': " << sum/(float)how_many << endl;
return 0;
}
Sono per il C, ma le adatti facilmente al C++.
Quando apri un blocco di codice (parentesi graffe), e anche se il blocco è implicito (if/ciclo con singola istruzione dentro), il corpo dovrebbe essere indentato di un livello rispetto al codice fuori dal blocco. La parentesi di chiusura deve essere allo stesso livello del codice esterno.
Corretto:
C++:
if (condizione)
fai_questo();
fai_qualcosa();
while (condizione) {
if (condizione)
fai_qualcosaltro();
fai_quello();
fai_altro();
}
C++:
if (condizione)
fai_questo(); // non è chiaro che fa parte del blocco dell'if
fai_qualcosa(); // indentazione inutile
while (condizione) {
if (condizione) // due livelli di indentazione, ne basta uno
fai_qualcosaltro(); // dovrebbe essere indentato di due livelli perché sia chiaro che fa parte dell'if e non solo del while
fai_quello(); // due livelli di indentazione, ne basta uno
fai_altro();
} // non dovrebbe essere indentato: dovrebbe stare allo stesso livello del while