salve ragazzi ho un problema con la ricorsione ancora non riesco a capirla bene! vi posto sotto la traccia del programma con il relativo codice ma non riesco a fare la media ricorsivamente! grazie in anticipo per l'aiuto! ps: aggiungo che nel codice trovate una prova di ricorsione ma è buttata giù per prova!
/*Si scriva un programma in linguaggio C che tramite:
la funzione leggi(), legga a terminale i dati di N studenti
(con N definito come la costante 4)
costituiti da Nome, Cognome, Voto, e li inserisca in un vettore;
calcoli con la funzione media() la media dei voti;
stampi a terminale i nominativi di ciascuno studente;
stampi poi a terminale il voto medio.*/
#include<iostream>
#include<String>
using namespace std;
void leggi(struct tipo1 p[4],int n);
int media(struct tipo1 p[4], int n);
struct tipo1{
string nome;
string cognome;
int voto;
};
int main(){
int n=4;
int k;
struct tipo1 *p;
p=new tipo1[n];
leggi(p,n);
k=media(p,n);
cout<<"la media e'"<<k<<endl;
system("pause");
return 0;
}
void leggi(struct tipo1 p[4],int n){
int i=0;
for (i=0; i<n; i++){
cout<<"inserisci nome cognome e voto"<<endl;
cin>>p[i].nome;
cin>>p[i].cognome;
cin>>p[i].voto;
}
}
int media(struct tipo1 p[4], int n){
if (n<0){
return 0;
}
else{
return media(p,n-1);
}
}