Created
January 28, 2025 08:52
-
-
Save ProfAndreaPollini/57fb25222f1d529b442fa206f5ec00ab to your computer and use it in GitHub Desktop.
esericioz sulle struct ( 28 gennaio 2025)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <vector> | |
// registrazione = nome, cognome, punteggio | |
struct registrazione { | |
std::string nome; | |
std::string cognome; | |
int punteggio; | |
}; | |
using registrazioni_t = std::vector<registrazione>; | |
void inserimento_registrazione(registrazioni_t ®istrazioni) { | |
registrazione r; | |
std::cout << "Inserisci registrazione " << std::endl; | |
std::cin >> r.nome >> r.cognome >> r.punteggio; | |
registrazioni.push_back(r); | |
} | |
void stampa_giocatori_prima_posizione(const registrazioni_t ®istrazioni) { | |
int punteggio_massimo = registrazioni[0].punteggio; | |
for (int i = 1; i < registrazioni.size(); i++) { | |
if (registrazioni[i].punteggio>punteggio_massimo) { | |
punteggio_massimo = registrazioni[i].punteggio; | |
} | |
} | |
for (int i = 0; i < registrazioni.size(); i++) { | |
if (registrazioni[i].punteggio == punteggio_massimo) { | |
std::cout << registrazioni[i].nome << "\t"; | |
std::cout << registrazioni[i].cognome << "\t"; | |
std::cout << registrazioni[i].punteggio << std::endl; | |
} | |
} | |
} | |
void stampa_giocatori_prima_posizione2(const registrazioni_t ®istrazioni) { | |
int punteggio_massimo = registrazioni[0].punteggio; | |
std::vector<int> posizioni={0}; | |
for (int i = 1; i < registrazioni.size(); i++) { | |
if (registrazioni[i].punteggio>punteggio_massimo) { | |
posizioni.clear(); | |
posizioni.push_back(i); | |
punteggio_massimo = registrazioni[i].punteggio; | |
} else if (registrazioni[i].punteggio == punteggio_massimo) { | |
posizioni.push_back(i); | |
} | |
} | |
for (auto i: posizioni) { | |
std::cout << registrazioni[i].nome << "\t"; | |
std::cout << registrazioni[i].cognome << "\t"; | |
std::cout << registrazioni[i].punteggio << std::endl; | |
} | |
} | |
int main() { | |
registrazioni_t registrazioni; | |
int scelta = 0; | |
do { | |
std::cout << "1- inserisci registrazione\n"; | |
std::cout << "2- stampa giocatori in prima posizione\n"; | |
std::cout << "Inserisci una scelta: "; | |
std::cin >> scelta; | |
switch (scelta) { | |
case 1: | |
inserimento_registrazione(registrazioni); | |
break; | |
case 2: | |
stampa_giocatori_prima_posizione(registrazioni); | |
break; | |
case 3: | |
stampa_giocatori_prima_posizione2(registrazioni); | |
break; | |
} | |
} while (scelta !=0); | |
std::cout << "Hello, World!" << std::endl; | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment