Salve a tutti! Sono nuovo nel mondo della programmazione e sto studiando a scuola il linguaggio di programmazione C + + .
Abbiamo da poco finito di studiare tutte le strutture di controllo del C + + ( quelle sequenziali , selettive(if,else,switch), iterative ( while,do-while,for) ) e siamo passati ai sottoprogrammi.
Abbiamo detto che esistono due modi per creare un sottoprogramma : attraverso le funzioni oppure le procedure , nel primo caso si ha un passaggio per valore , nel secondo per riferimento .
Ma se io devo fare un programma come faccio a scegliere se usare una funzione o una procedura?

Ad esempio pochi giorni fa facemmo un esercizio che con un ciclo while e le strutte if , else , eseguiva separatamente la somma dei pari e quella dei dispari dei numeri interi positivi inseriti e li stampava e si interrompeva appena si inseriva 0 o un numero negativo.

codice:
#include <iostream>
using namespace std; 
int main ( ) { 
int x,sp=0,sd= 0 ;
cout<<"Inserire i Numeri Interi Positivi di cui si vuole conoscere la somma dei numeri pari inseriti e di quelli dispari \nN.B.:Inserire 0 o un numero negativo per interrompere l'immissione numerica\n\n"<<"Inserire un numero\n";
cin>>x;
while (x>0){
    if (x%2==0){
    sp= sp+x;
    cout <<"Inserire il prossimo numero\n";
    cin>>x;}
    else{
    sd=sd+x;
    cout <<"Inserire il prossimo numero\n";
    
   cin>>x;
      }
    }
cout<<"La somma dei numeri pari inseriti e':"<<sp<<endl;
cout<<"La somma dei numeri dispari inseriti e':"<<sd<<endl;
system("PAUSE");
return 0; 
}
Se volessi rifare questo esercizio e volessi farlo attraverso i sottoprogrammi , dovrei usare procedure o funzioni? Perché? E come faccio in generale ad orientarmi?

Grazie mille in anticipo e scusate la niubaggine