Upload files to "struct"
This commit is contained in:
parent
e7f8063692
commit
009e79611c
|
@ -0,0 +1,83 @@
|
||||||
|
/*
|
||||||
|
AUTORE: Manuel Vichi
|
||||||
|
(WIP) ticoprof struct 5
|
||||||
|
*/
|
||||||
|
#include <iostream>
|
||||||
|
#include <ctime>
|
||||||
|
#define SIZE 5
|
||||||
|
using namespace std;
|
||||||
|
typedef struct {
|
||||||
|
char lettera;
|
||||||
|
int numero;
|
||||||
|
} LivelloLinguistico;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int anno;
|
||||||
|
char sezione;
|
||||||
|
} Classe;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int codiceStudente;
|
||||||
|
Classe classe;
|
||||||
|
LivelloLinguistico livelloLinguistico;
|
||||||
|
} Studente;
|
||||||
|
|
||||||
|
void generaStudenti(Studente studenti[], size_t size) {
|
||||||
|
srand(time(NULL)); // Inizializza il generatore casuale
|
||||||
|
for (size_t i = 0; i < size; i++) {
|
||||||
|
studenti[i].codiceStudente = (rand() % 99999) + 10000;
|
||||||
|
studenti[i].classe.anno = rand() % 6 + 1;
|
||||||
|
studenti[i].classe.sezione = 'A' + rand() % 26;
|
||||||
|
studenti[i].livelloLinguistico.lettera = 'A' + rand() % 3;
|
||||||
|
studenti[i].classe.anno = rand() % 2 + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void stampaStudenti(const Studente studenti[], size_t size) {
|
||||||
|
for (size_t i = 0; i < size; i++) {
|
||||||
|
cout << "Studente #" << studenti[i].codiceStudente << " : Classe " << studenti[i].classe.anno << studenti[i].classe.sezione << ", Livello Linguistico: " << studenti[i].livelloLinguistico.lettera << studenti[i].classe.anno << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void confrontaStudente(const Studente studente[], size_t size) {
|
||||||
|
for (size_t i = 0; i < size; i++) {
|
||||||
|
for (size_t j = i + 1; j < size; j++) {
|
||||||
|
if (studente[i].classe.anno < studente[j].classe.anno) {
|
||||||
|
if (studente[i].livelloLinguistico.lettera == studente[j].livelloLinguistico.lettera) {
|
||||||
|
if (studente[i].livelloLinguistico.numero < studente[j].livelloLinguistico.numero) {
|
||||||
|
cout << "Lo studente #" << studente[i].codiceStudente << " ha un livello linguistico maggiore dello studente #" << studente[j].codiceStudente << " nonostante frequenti una classe inferiore." << endl;
|
||||||
|
cout << "Studente #" << studente[i].codiceStudente << " : Classe " << studente[i].classe.anno << studente[i].classe.sezione << ", Livello Linguistico: " << studente[i].livelloLinguistico.lettera << studente[i].classe.anno << endl;
|
||||||
|
cout << "Studente #" << studente[j].codiceStudente << " : Classe " << studente[j].classe.anno << studente[j].classe.sezione << ", Livello Linguistico: " << studente[j].livelloLinguistico.lettera << studente[j].classe.anno << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (studente[i].livelloLinguistico.lettera > studente[j].livelloLinguistico.lettera) {
|
||||||
|
cout << "Lo studente #" << studente[i].codiceStudente << " ha un livello linguistico maggiore dello studente #" << studente[j].codiceStudente << " nonostante frequenti una classe inferiore." << endl;
|
||||||
|
cout << "Studente #" << studente[i].codiceStudente << " : Classe " << studente[i].classe.anno << studente[i].classe.sezione << ", Livello Linguistico: " << studente[i].livelloLinguistico.lettera << studente[i].classe.anno << endl;
|
||||||
|
cout << "Studente #" << studente[j].codiceStudente << " : Classe " << studente[j].classe.anno << studente[j].classe.sezione << ", Livello Linguistico: " << studente[j].livelloLinguistico.lettera << studente[j].classe.anno << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (studente[i].classe.anno > studente[j].classe.anno) {
|
||||||
|
if (studente[j].livelloLinguistico.lettera == studente[i].livelloLinguistico.lettera) {
|
||||||
|
if (studente[j].livelloLinguistico.numero < studente[i].livelloLinguistico.numero) {
|
||||||
|
cout << "Lo studente #" << studente[j].codiceStudente << " ha un livello linguistico maggiore dello studente #" << studente[i].codiceStudente << " nonostante frequenti una classe inferiore." << endl;
|
||||||
|
cout << "Studente #" << studente[i].codiceStudente << " : Classe " << studente[i].classe.anno << studente[i].classe.sezione << ", Livello Linguistico: " << studente[i].livelloLinguistico.lettera << studente[i].classe.anno << endl;
|
||||||
|
cout << "Studente #" << studente[j].codiceStudente << " : Classe " << studente[j].classe.anno << studente[j].classe.sezione << ", Livello Linguistico: " << studente[j].livelloLinguistico.lettera << studente[j].classe.anno << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (studente[j].livelloLinguistico.lettera > studente[i].livelloLinguistico.lettera) {
|
||||||
|
cout << "Lo studente #" << studente[j].codiceStudente << " ha un livello linguistico maggiore dello studente #" << studente[i].codiceStudente << " nonostante frequenti una classe inferiore." << endl;
|
||||||
|
cout << "Studente #" << studente[i].codiceStudente << " : Classe " << studente[i].classe.anno << studente[i].classe.sezione << ", Livello Linguistico: " << studente[i].livelloLinguistico.lettera << studente[i].classe.anno << endl;
|
||||||
|
cout << "Studente #" << studente[j].codiceStudente << " : Classe " << studente[j].classe.anno << studente[j].classe.sezione << ", Livello Linguistico: " << studente[j].livelloLinguistico.lettera << studente[j].classe.anno << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void) {
|
||||||
|
Studente studenti[SIZE];
|
||||||
|
generaStudenti(studenti,SIZE);
|
||||||
|
// stampaStudenti(studenti,SIZE);
|
||||||
|
confrontaStudente(studenti,SIZE);
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue