Quote Originariamente inviata da paolino_delta_t Visualizza il messaggio
In che senso input ed output? Le funzioni le usi quando hai bisogno che ti venga restituito un valore. La funzione in programmazione è l'equivalente della funzione in matematica, cioè y = f(x), dove ti serve sapere quanto vale y per vari valori della x. Se non ti serve saperlo, allora è una procedura il costrutto che devi usare.

Riguardo la soluzione dell'esercizio, quella è una possibile soluzione. La procedura è ovviamente inutile, perchè di fatto risolve un problema che non c'è, ma è corretto fare così.

Avresti potuto usare una funzione nel caso ti fosse servita solo una delle somme, ad esempio così

codice:
int sommaPD(int&n) {
    int somma;

    while (n>0) {
        somma += n;
        cin >> n;
    }

    return somma; // qui la funzione restituisce la somma al chiamante, ti evita di passare somma per riferimento
}
Si può fare pure con le due somme, basta creare una struct che contiene due campi ( sp e sd ) e poi restituire la struct. Ma bisognerebbe allocare la struct in memoria, ecc... insomma diventa un pò più complesso.
Perfetto, grazie mille
Ho apprezzato sia la spiegazione teorica che il fatto che tu mi abbia controllato l'esercizio ^_^
Solo una cosa di ciò che hai scritto non ho capito : l'ultima parte quando hai parlato di " struct" , non so cosa sia

Quote Originariamente inviata da Alex'87 Visualizza il messaggio
Chi ha detto una cosa del genere? Se è stato il tuo professore beh, cambia professore...
No , ne dubito . Ho inteso io male =P