Originariamente inviata da
paolino_delta_t
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.