Concetti Chiave

  • Il programma gestisce le assenze degli studenti in una classe, registrando informazioni come matricola, cognome, nome, data di nascita e numero di assenze.
  • Calcola e visualizza la media delle assenze, il numero massimo di assenze e quanti alunni hanno assenze superiori a un valore specificato.
  • Le informazioni degli studenti vengono ordinate in modo decrescente in base al numero di assenze per una chiara visualizzazione.
  • Utilizza strutture dati per gestire le informazioni degli studenti e diverse funzioni per eseguire operazioni specifiche, come il caricamento e l'ordinamento dei dati.
  • Include controlli per garantire che il numero di studenti inserito sia valido, con un limite massimo di 50 studenti.

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 }

Domande da interrogazione

  1. Quali informazioni devono essere inserite per ogni alunno nel programma di gestione delle assenze?
  2. Per ogni alunno, il programma richiede di inserire la matricola, il cognome, il nome, la data di nascita e il numero di assenze.

  3. Quali statistiche sulle assenze vengono calcolate dal programma?
  4. Il programma calcola la media di tutte le assenze, il numero massimo di assenze e il numero di alunni con assenze superiori a un valore specificato dall'utente.

  5. In che modo vengono visualizzati i dati degli alunni nel programma?
  6. I dati degli alunni vengono visualizzati in ordine decrescente in base al numero di assenze, permettendo una chiara comprensione delle assenze nella classe.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community