Advertisement
fcamuso

Corso recupero C++ - video 22

Nov 22nd, 2022
944
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.03 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. struct Marcatori {
  7.   string nome="";
  8.   string squadra="";
  9.   int goal=0;
  10. };
  11.  
  12. void stampa(Marcatori v[], int quanti)
  13. {
  14.   for (int i=0; i<quanti; i++)
  15.     cout << "Calciatore: " << v[i].nome << "   "
  16.          << "Squadra: " << v[i].squadra<< "   "
  17.          << "Goal: " << v[i].goal << endl;
  18. }
  19.  
  20. int main()
  21. {
  22.     const int MAX=100;
  23.     Marcatori classifica[MAX];
  24.  
  25.     int inseriti=0;
  26.  
  27.     while (inseriti<MAX)
  28.     {
  29.       cout << "Nome calciatore (STOP per terminare): ";
  30.       cin>>classifica[inseriti].nome;
  31.  
  32.       if (classifica[inseriti].nome == "STOP") break;
  33.  
  34.       cout << "Nome squadra: ";
  35.       cin>>classifica[inseriti].squadra;
  36.  
  37.       cout << "Goal segnati: ";
  38.       cin>>classifica[inseriti].goal;
  39.  
  40.       inseriti++;
  41.     }
  42.  
  43.     stampa(classifica, inseriti);
  44.  
  45.  
  46.     ifstream leggi("dati.txt");
  47.  
  48.     inseriti=0;
  49.  
  50.     while( getline(leggi, classifica[inseriti].nome) )
  51.     {
  52.       getline(leggi, classifica[inseriti].squadra);
  53.  
  54.       string riga="";
  55.       getline(leggi, riga);
  56.       classifica[inseriti].goal = stoi(riga);
  57.  
  58.       inseriti++;
  59.     }
  60.  
  61.     leggi.close(); leggi.clear();
  62.  
  63.     stampa(classifica, inseriti);
  64.  
  65.  
  66.     //dal nome di una squadra al suo primo calciatore nell'array
  67.     string cercata="";
  68.     cout << "Cercata: ";
  69.     cin>>cercata;
  70.  
  71.     int posTrovato=-1;
  72.     for(int i=0; i<inseriti; i++)
  73.       if (classifica[i].squadra == cercata)
  74.       {
  75.         posTrovato = i;
  76.         break;
  77.       }
  78.  
  79.     if (posTrovato>=0)
  80.     {
  81.       cout << "Calciatore: " << classifica[posTrovato].nome << "   "
  82.            << "Goal: " << classifica[posTrovato].goal << endl;
  83.     }
  84.  
  85.     //ricerca del capo cannoniere
  86.     int posMax=0;
  87.     for(int i=1; i<inseriti; i++)
  88.       if(classifica[i].goal > classifica[posMax].goal) posMax=i;
  89.  
  90.     cout << "Calciatore: " << classifica[posMax].nome << "   "
  91.       << "Squadra: " << classifica[posMax].squadra<< "   "
  92.       << "Goal: " << classifica[posMax].goal << endl;
  93.     return 0;
  94. }
  95.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement