Concetti Chiave
- Il programma gestisce una struttura dati chiamata "squadra" che memorizza il nome e i punti di una squadra.
- Viene utilizzato un file di input ("prima.txt") per leggere i dati iniziali delle squadre e un file di output ("dopo.txt") per scrivere i dati aggiornati.
- Il programma verifica se i file sono stati aperti correttamente prima di procedere con le operazioni di lettura e scrittura.
- Per ogni squadra nel file, il programma legge i punti attuali, richiede un incremento, e aggiorna i punti totali nel file di output.
- Alla fine, il programma visualizza la classifica finale delle squadre con i punti aggiornati dal file "dopo.txt".
#include
#include
#include
#include
#include
using namespace std;
//Struttura dei die file
struct squadra{
char nome[20];
int punti;
};
squadra inziale;
squadra finale;
int main(){
cout
ifstream prima;
fstream dopo;
//Si effettuano queste operazioni per aggiungere dei punti a tutte le squadre
prima.open("prima.txt", ios::in);
dopo.open("dopo.txt", ios::out);
//Si effettua questo controllo per verificare che il file è stato aperto o meno
if(prima.is_open()){
cout
}else{
cout
return 0;
}
cout
prima>>inziale.nome;
prima>>inziale.punti;
while(not(prima.eof())){
cout
cout
prima>>inziale.nome;
prima>>inziale.punti;
}
prima.close();
dopo.close();
//Si effettuano queste operazioni per per visualizzare la classifica iniziale
prima.open("prima.txt", ios::in);
dopo.open("dopo.txt", ios::out);
//Si effettua questo controllo per verificare che il file è stato aperto o meno
if(prima.is_open()){
cout
}else{
cout
return 0;
}
cout
prima>>inziale.nome;
prima>>inziale.punti;
while(not(prima.eof())){
cout
cin>>finale.punti;
inziale.punti=inziale.punti+finale.punti;
dopo
dopo
prima>>inziale.nome;
prima>>inziale.punti;
}
prima.close();
dopo.close();
//Si effettuano queste operazioni per visualizzare la classifica finale
dopo.open("dopo.txt", ios::in);
prima.open("prima.txt", ios::in);
//Si effettua questo controllo per verificare che il file è stato aperto o meno
if(dopo.is_open()){
cout
}else{
cout
return 0;
}
cout
dopo>>finale.nome;
dopo>>finale.punti;
while(not(dopo.eof())){
cout
cout
dopo>>finale.nome;
dopo>>finale.punti;
}
prima.close();
dopo.close();
return 0;
}