codice:
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<string.h>
#include<iomanip.h>
struct dati {
char nome[16];int vinte,pareggiate,perse,tot,punti,gf,gs,dg;
};
void caricamento(dati squadra[],int&n);
void calcoli(dati squadra[],int n);
void ordinamento(dati squadra[],int n);
void visualizza(dati squadra[]);
void pari(dati squadra[],int n);
void nome(dati squadra[],int n);
void vinte(dati squadra[],int n);
void scrittura(dati squadra[],int n);
void lettura(dati squadra[]);
void modifica(dati squadra[],int n);
void parametri(dati squadra[],int n);
void perse(dati squadra[],int n);
void gf(dati squadra[],int n);
void gs(dati squadra[],int n);
void aggiorna(dati squadra[],int n);
void main()
{
dati squadra[999];
int n=0,scelta;
do{
clrscr();
cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
cout<<endl;
cout<<"³"<<"Seleziona: ³"<<endl;
cout<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
cout<<endl<<"³ "<<"1-Inserire Dati ³"<<endl;
cout<<"³ "<<"2-Classifica ³"<<endl;
cout<<"³ "<<"3-Archiviare Dati ³"<<endl;
cout<<"³ "<<"4-Lettura da Disco ³"<<endl;
cout<<"³ "<<"5-Modificare ³"<<endl;
cout<<"³ "<<"0-Uscire ³"<<endl;
cout<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ";
cout<<endl<<"Scelta: ";
cin>>scelta;
clrscr();
switch (scelta)
{
case 1:caricamento(squadra, n);
calcoli(squadra, n);
ordinamento(squadra, n);
scrittura(squadra, n);
break;
case 2:visualizza(squadra);
break;
case 3:scrittura(squadra, n);
break;
case 4:lettura(squadra);
break;
case 5:parametri(squadra, n);
}
}while(scelta!=0);
}
void caricamento(dati squadra[], int&n)
{
int incremento;
cout<<endl;
do{
clrscr();
cout<<"Caricamento"<<endl;
cout<<endl<<"Nome squadra: ";
cin>>squadra[n].nome;
cout<<endl<<"Partite Vinte: ";
cin>>squadra[n].vinte;
cout<<endl<<"Partite pareggiate: ";
cin>>squadra[n].pareggiate;
cout<<endl<<"Partite perse: ";
cin>>squadra[n].perse;
cout<<endl<<"Goal Fatti: ";
cin>>squadra[n].gf;
cout<<endl<<"Goal Subiti: ";
cin>>squadra[n].gs;
n++;
cout<<endl<<endl<<" "<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
cout<<endl<<" "<<"³"<<"Inserire scelta:³"<<endl<<" "<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´"<<endl<<" "<<"³ "<<"1-Caricare ³"<<endl<<" "<<"³ "<<"0-Terminare ³"<<endl<<" "<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ"<<""<<endl<<" "<<"Scelta: ";
cin>>incremento;
cout<<endl;
}while(incremento==1);
}
void calcoli(dati squadra[], int n)
{
clrscr();
int i;
for(i=0;i<n;i++)
{
squadra[i].punti=squadra[i].vinte*3;
squadra[i].tot=squadra[i].punti+squadra[i].pareggiate;
squadra[i].dg=squadra[i].gf-squadra[i].gs;
}
}
void ordinamento(dati squadra[], int n)
{
int i,j;
dati casella;
for(i=0;i<n;i++)
{
for(j=i++;j<n;j++)
{
if(squadra[i].tot>squadra[j].tot)
{
casella=squadra[i];
squadra[i]=squadra[j];
squadra[j]=casella;
}
}
}
}
void visualizza(dati squadra[])
{
lettura(squadra);
}
void scrittura(dati squadra[], int n)
{
int i;
ofstream nout;
nout.open("n.txt");
nout<<n;
nout.close();
ofstream fout;
fout.open("classifi.txt");
for(i=0;i<n;i++)
{
fout<<setw(11)<<squadra[i].nome
<<setw(6)<<squadra[i].tot
<<setw(6)<<squadra[i].vinte
<<setw(6)<<squadra[i].perse
<<setw(5)<<squadra[i].pareggiate
<<setw(4)<<squadra[i].gf
<<setw(4)<<squadra[i].gs<<endl;
}
fout.close();
}
void lettura(dati squadra[])
{
int i=0,j;
cout<<endl<<" Classifica"<<endl;
cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
textcolor(7);
textbackground(2);
cout<<endl<<"³";
textcolor(4);
textbackground(2);
cprintf(" Squadra");
textcolor(1);
textbackground(2);
cprintf(" Punti");
textcolor(4);
textbackground(2);
cprintf(" Vinte");
textcolor(1);
textbackground(2);
cprintf(" Pari");
textcolor(4);
textbackground(2);
cprintf(" Perse");
textcolor(1);
textbackground(2);
cprintf(" Gf");
textcolor(1);
textbackground(2);
cprintf(" Gs");
cout<<"³";
cprintf("\r\n");
cout<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
cout<<endl;
ifstream fin;
fin.open("classifi.txt");
fin>>squadra[i].nome>>squadra[i].tot>>squadra[i].vinte>>squadra[i].pareggiate>>squadra[i].perse>>squadra[i].gf>>squadra[i].gs;
while(!fin.eof())
{
i++;
fin>>squadra[i].nome
>>squadra[i].tot
>>squadra[i].vinte
>>squadra[i].pareggiate
>>squadra[i].perse
>>squadra[i].gf
>>squadra[i].gs;
}
fin.close();
for(j=0;j<i;j++)
{
cout<<"³"<<setw(10)<<squadra[j].nome
<<setw(6)<<squadra[j].tot
<<setw(6)<<squadra[j].vinte
<<setw(5)<<squadra[j].pareggiate
<<setw(6)<<squadra[j].perse
<<setw(4)<<squadra[j].gf
<<setw(4)<<squadra[j].gs<<"³"<<endl;
}
cout<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ";
getch();
textcolor(7);
textbackground(0);
}
void parametri(dati squadra[],int n)
{
int scelta;
do{
clrscr();
cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
cout<<endl<<"³"<<"Modifica: ³"<<endl;
cout<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
cout<<endl<<"³ "<<"1-Modificare Parametri ³"<<endl;
cout<<"³ "<<"2-Inserire Altre Squadre ³"<<endl;
cout<<"³ "<<"0-Uscire ³"<<endl;
cout<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ";
cout<<endl<<"Scelta: ";
cin>>scelta;
clrscr();
switch (scelta){
case 1:modifica(squadra, n);
break;
case 2:aggiorna(squadra, n);
}
}while(scelta!=0);
}
void modifica(dati squadra[],int n)
{
{
lettura(squadra);
}
{
int scelta;
do{
clrscr();
cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
cout<<endl<<"³"<<"Modifica: ³"<<endl;
cout<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
cout<<endl<<"³ "<<"1-Nome ³"<<endl;
cout<<"³ "<<"2-Vinte ³"<<endl;
cout<<"³ "<<"3-Pari ³"<<endl;
cout<<"³ "<<"4-Perse ³"<<endl;
cout<<"³ "<<"5-Goal Fatti ³"<<endl;
cout<<"³ "<<"6-Goal Subiti³"<<endl;
cout<<"³ "<<"0-Uscire ³"<<endl;
cout<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ";
cout<<endl<<"Scelta: ";
cin>>scelta;
clrscr();
switch (scelta){
case 1:nome(squadra, n);
break;
case 2:vinte(squadra, n);
break;
case 3:pari(squadra, n);
break;
case 4:perse(squadra, n);
break;
case 5:gf(squadra, n);
break;
case 6:gs(squadra, n);
}
}while(scelta!=0);
}
}
void nome(dati squadra[],int n)
{
int i;char modifica[16];
lettura(squadra);
cout<<endl<<"Inserire nome squadra: ";
cin>>modifica;
for(i=0;i<n;i++)
{
if(strcmp(modifica,squadra[i].nome)==0)
{
cout<<endl<<"Squadra"<<endl;
cout<<endl;
cout<<squadra[i].nome<<endl;
cout<<endl<<"Inserire il nuovo nome: ";
cin>>squadra[i].nome;
}
}
calcoli(squadra, n);
ordinamento(squadra, n);
scrittura(squadra, n);
}
void perse(dati squadra[],int n)
{
int i;char modifica[16];
lettura(squadra);
cout<<endl<<"Inserire nome squadra: ";
cin>>modifica;
for(i=0;i<n;i++)
{
if(strcmp(modifica,squadra[i].nome)==0)
{
cout<<endl<<"Perse"<<endl;
cout<<endl;
cout<<squadra[i].perse<<endl;
cout<<endl<<"Inserire partite perse: ";
cin>>squadra[i].perse;
}
}
calcoli(squadra, n);
ordinamento(squadra, n);
scrittura(squadra, n);
}
void gf(dati squadra[],int n)
{
int i;char modifica[16];
lettura(squadra);
cout<<endl<<"Inserire nome squadra: ";
cin>>modifica;
for(i=0;i<n;i++)
{
if(strcmp(modifica,squadra[i].nome)==0)
{
cout<<endl<<"Goal Fatti"<<endl;
cout<<endl;
cout<<squadra[i].gf<<endl;
cout<<endl<<"Inserire goal fatti: ";
cin>>squadra[i].gf;
}
}
calcoli(squadra, n);
ordinamento(squadra, n);
scrittura(squadra, n);
}
void gs(dati squadra[],int n)
{
int i;char modifica[16];
lettura(squadra);
cout<<endl<<"Inserire nome squadra: ";
cin>>modifica;
for(i=0;i<n;i++)
{
if(strcmp(modifica,squadra[i].nome)==0)
{
cout<<endl<<"Goal Subiti"<<endl;
cout<<endl;
cout<<squadra[i].gs<<endl;
cout<<endl<<"Inserire goal subiti: ";
cin>>squadra[i].gs;
}
}
calcoli(squadra, n);
ordinamento(squadra, n);
scrittura(squadra, n);
}
void vinte(dati squadra[],int n)
{
int i;char modifica[16];
lettura(squadra);
cout<<endl<<"Inserire nome squadra: ";
cin>>modifica;
for(i=0;i<n;i++)
{
if(strcmp(modifica,squadra[i].nome)==0)
{
cout<<endl<<"Vinte"<<endl;
cout<<endl;
cout<<squadra[i].vinte<<endl;
cout<<endl<<"Inserire vinte: ";
cin>>squadra[i].vinte;
}
}
calcoli(squadra, n);
ordinamento(squadra, n);
scrittura(squadra, n);
}
void pari(dati squadra[],int n)
{
int i;char modifica[16];
lettura(squadra);
cout<<"Inserire nome squadra: ";
cin>>modifica;
for(i=0;i<n;i++)
{
if(strcmp(modifica,squadra[i].nome)==0)
{
cout<<endl<<"Pari"<<endl;
cout<<endl;
cout<<squadra[i].pareggiate<<endl;
cout<<endl<<"Inserire pari: ";
cin>>squadra[i].pareggiate;
}
}
calcoli(squadra, n);
ordinamento(squadra, n);
scrittura(squadra, n);
}
void aggiorna(dati squadra[], int n)
{
{
int i=0,j;
ifstream nin;
nin.open("n.txt");
nin>>n;
while(!nin.eof())
{
i++;
nin>>n;
}
nin.close();
}
int incremento;
do{
clrscr();
cout<<endl<<"Aggiornamento"<<endl;
cout<<endl<<"Nome squadra: ";
cin>>squadra[n].nome;
cout<<endl<<"Partite Vinte: ";
cin>>squadra[n].vinte;
cout<<endl<<"Partite pareggiate: ";
cin>>squadra[n].pareggiate;
cout<<endl<<"Partite perse: ";
cin>>squadra[n].perse;
cout<<endl<<"Goal Fatti: ";
cin>>squadra[n].gf;
cout<<endl<<"Goal Subiti: ";
cin>>squadra[n].gs;
n++;
cout<<endl<<endl<<" "<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
cout<<endl<<" "<<"³"<<"Inserire scelta:³"<<endl<<" "<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´"<<endl<<" "<<"³ "<<"1-Caricare ³"<<endl<<" "<<"³ "<<"0-Terminare ³"<<endl<<" "<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ"<<""<<endl<<" "<<"Scelta: ";
cin>>incremento;
cout<<endl;
}
while(incremento==1);
calcoli(squadra, n);
ordinamento(squadra, n);
scrittura(squadra, n);
}