Esercizio d'esame con struct.

di il
4 risposte

Esercizio d'esame con struct.

Salve a tutti,è da un po di tempo che non riesco a trovare una soluzione a questo esercizio d'esame(C++):
Dato un file contenente 5 nomi e numero di goal segnati:
Antonio 4
Lucio 2
Antonio 2
Lucio 1
Paolo 1
Scrivere un programma che calcoli e stampi a video la classifica finale dei goal segnati (Antonio 6 Lucio 3 Paolo 1).
Non ho problemi finchè non devo calcolare la classifica finale:posto il pezzo di codice in cui prelevo dal file i nomi e i goal.Se potete darmi una mano a capire come calcolare la classifica finale(magari confrontando le struct), ve ne sarei grato .Vi ringrazio in anticipo.

#include <iostream>
#include <fstream>
using namespace std;

int main(){
int i=1;
typedef struct calcio{
char nome[20];
int goal;
};
calcio c[30];
ifstream filea("lista.txt");
if(!filea.is_open()){
cout<<"errore durante l'apertura del file"<<endl;
return 1;
}

do{
filea>>c.nome>>c.goal;
cout<<c.nome<<" "<<c.goal<<" "<<endl;
i++;
}
while(!filea.eof());



}

4 Risposte

  • Re: Esercizio d'esame con struct.

    Intanto utilizza i tag CODE per postare il codice altrimenti si capisce poco ...

    Quando fai la lettura dei dati nel vettore di struct, l'indice i deve partire da 0, controllando che non vada oltre il massimo previsto.
    E durante la lettura, devi controllare che non sia stato già caricato il nome che stai leggendo. Quindi leggi il nome e i gol in variabili semplici e confronta il nome con tutti gli elementi del vettore di strutture. Se lo trovi, aggiungi semplicemente i gol, altrimenti lo aggiungi in coda come nuovo elemento del vettore.

    Alla fine, esegui l'ordinamento (con qualsiasi algoritmo che conosci, ad esempio il bubble sort) del vettore di strutture.
  • Re: Esercizio d'esame con struct.

    Grazie del suggerimento,l' unica cosa che non mi è chiara è come confrontare il nome con gli elementi del vettore, lo faccio direttamente mentre leggo i nomi da file, oppure dopo?
  • Re: Esercizio d'esame con struct.

    Mentre leggi il nome ... ti ho suggerito già di usare una variabile semplice per leggere il nome e il numero.
  • Re: Esercizio d'esame con struct.

    Scusa se insisto ma nonostante ci stia pensando non riesco a procedere su questa cosa così banale...se gentilmente potresti scrivermi il pezzo di codice in modo da poter provare a comprendere.Ti ringrazio comunque della disponbilità e delle risposte
Devi accedere o registrarti per scrivere nel forum
4 risposte