Video appunto: Programma in C++ - Gestione assenze di una classe

Programma che gestisce il numero di asssenze in una classe



Per ogni alunno si devono inserire le seguenti informazioni: matricola, cognome, nome, data di nascita, numero di assenze.
Visualizzare: la media di tutte le assenze, il numero più alto di assenze, il numero di alunni con assenze maggiori di un numero x fornito da tastiera.

Visualizza i dati in ordine decrescente in base al numero di assenze.

#include
#include
#include
#define MAX 50
using namespace std;

struct data_di_nascita {
int giorno;
int mese;
int anno;
};

struct studente {
int matricola;
string cognome;
string nome;
data_di_nascita data;
int assenze;
int comodo;
};

int Dimensionamento();
void Caricamento(studente S[], int d);
void Scambia(studente& a, studente& b);
void Ordina(studente S[], int d);
void StampaTabella(studente S[], int d);
void Max(studente v[], int d);
void Ricerca(studente v[], int d, int p);

int main()
{
int d, x;
studente S[MAX];
d=Dimensionamento();
Caricamento(S,d);
Ordina(S,d);
Max(S,d);
cout cin>>x;
Ricerca(S,d,x);
StampaTabella(S,d);
return 0;
}

int Dimensionamento()
{
int d;
do{
cerr cin>>d;
} while (dMAX);
return d;
}

void Caricamento(studente S[], int d)
{
int s;
float media;
for (int i=0; i cerr cin>>S.matricola;
cerr cin>>S.cognome;
cerr cin>>S.nome;
cerr cin>>S.data.giorno;
cerr cin>>S.data.mese;
cerr cin>>S.data.anno;
cerr cin>>S.assenze;
s=s+S.assenze;
}
media=s/d;
cout }

void Scambia(studente&a, studente&b)
{
studente comodo;
comodo=a;
a=b;
b=comodo;
}

void Ordina(studente S[], int d)
{
for (int i=0; i for (int j=i+1; j if (S.assenze Scambia(S, S[j]);
}
}
}
void StampaTabella(studente S[], int d)
{
cout for (int i=0; i cout .matricola
.cognome
.nome
.data.giorno
.data.mese
.data.anno
.assenze
}

void Max(studente v[], int d){
int max;
for(int i=0;i if(max.assenze){
max=v.assenze;
}
}
cout }

void Ricerca(studente v[], int d, int p)
{
int cont=0;
for (int i=0; i
if(v.assenze>p){
cont++;
}
}
cout cout }