Puntos de la liga de fútbol
Mira este código:
//El programa primero necesita crear dos archivos de texto teams.txt y teamlist.txt en la unidad D para guardar la información del equipo y la puntuación//
# include & ltiostream & gt
# include & ltstring& gt
# include & ltfstream & gt
Usar espacio de nombres std
equipo de clase {
privado:
int objetivo;
int cgoal
int pgoal
int ganar
int perdido
int igual
int scorce
Público:
nombre de char[20];
equipo(){
objetivo = 0;
CGO al = 0;
p objetivo = 0;
ganar = 0;
perder = 0;
es igual a 0;
puntuación = 0;
}
void display(){
cout & lt& ltname& lt& lt' & lt& ltgoal& lt& lt' & lt& ltcgoal & lt& lt' & lt& ltpgoal & lt& lt' & lt& ltwin & lt& lt' & lt& ltlost& lt& lt' & lt& lt es igual a & lt& lt' & lt& ltscorce & lt& ltendl
}
anular cambio de objetivo(int a );
void matchchg(int a, int b);
void match(equipo&t);
void setIm ();
int getS();
int getPG();
};
void Team::goalchg(int a){
Si (a & gt0)
Este-> objetivo += a;
Si (a & lt0)
Este->CGO al- = a;
p objetivo = objetivo-CGO al;
}
void Team::matchchg( int a, int b){
Si (a>b){
Esto->win+= 1;
Esto->scorce+ = 3;
}
Si (a & ltb){
Esto-& gt; perdió+= 1;
}
if(a==b){
Esto-& gt; es igual a += 1;
Esto-& gt;scorce+= 1;
}
} p>
Equipo no válido::partido(team&t){
int a, b
cout & lt& lt"Por objetivo local:";
CIN & gt;& gta;
if (a & lt0){
cout & lt& lt"advertencia" & lt& ltendl
Salir(1) ;
}
cout & lt& lt"Presione ihome target:";
CIN>>b;
if(b<0 ){
cout <<"warning"<<endl
exit(1);
}
Este->cambio de objetivo(a );
Este->cambio de objetivo(0-b) ;
Objetivo (b);
t cambio de objetivo(0-a);
Esto-& gt;matchchg(a,b);
t.matchchg(b,a);
}
void Equipo::setIm(){
cout & lt& lt” Nombre del equipo: ";
CIN>>this->Nombre;
} p>
int Team::getS(){ p>
Devolver esto->Scholes;
}
int Team::getPG(){
Devuelve esto-& gt;pgoal
}
void getteamlist();
fstream team("d:\\teams .txt ", IOs::in | IOs: :out | IOs::binary);
void main(){
nombre de char[20];
Equipo t[5];
int t1, T2;
char n;
int I
si (! equipo){
cout & lt& lt"Archivo perdido"& lt& ltendl
Salir(1);
}
mientras ( 1){
cout & lt& lt"¿Has configurado la mensajería instantánea del equipo? (Y)" & lt;& ltendl
CIN & gt;& gtn;
if(n=='Y'||n=='y ')
descanso;
for(int I = 0; i<=4; i++){
t[i]. setIm();
equipo .write((char *)&t[i],sizeof(t[I]);
}
descanso ;
}
team.seekg(0, IOs::beg);
for(I = 0;i<5;i++)
p >equipo .read((char *)&t[i],sizeof(t[I]);
mientras(1){
cout & lt& lt "¿Hay coincidencias ahora? (N)" & lt;& ltendl
CIN & gt;& gtn;
if(n=='N'||n= = 'n ')
Descanso;
Hacer {
cout & lt& lt"Nombre del equipo principal:";
CIN & gt ;& gt nombre;
for(I = 0;i<5;i++){
if(strcmp(nombre,t[i]).nombre)==0 ){
t 1 = I;
Romper
}
Otro
Continuar;
p>
}
} while(I = = 5);
Haz {
cout & lt& lt"keteam name:";
p>
CIN>>name;
for(I = 0;i<5;i++){
if(strcmp(nombre,t[i ] ). nombre)==0){
T2 = I;
Pausa;
}
Otro
Continuar;
}
} mientras(I = = 5);
t[t1]. match(t[T2]);
}
team.seekg(0, IOs::beg);
for(I = 0; I & lt5;i++)
equipo .write((char *)&t[i],sizeof(t[I]);
getteamlist();
}
void getteamlist(){
Equipo t 1[5];
Equipo Hao;
fstream gamelist( " d:\ \ teamlist .txt ", IOs::in | IOs::out | IOs::binary);
if (!gamelist){
cout & lt& lt" ¡¡Mal!!"& lt& ltendl
Salir(1);
}
team.seekg(0, IOs::beg);
for(int I = 0;i<5;i++){
equipo read((char *)&t1[i], sizeof(t 1[I]);
}
for(int j = 0; j & lt4;j++)
for(int I = 0; i & lt4-j; i++){
if(t1[i].getS()<t1[i+1].getS()){
Hao = t 1[I]
; t 1[I]= t 1[I+1];
t 1[I+1]=Hao
}
if(t1[ i].getS()==t1[i+1].getS()){
if(t1[i].getPG()<t1[i +1].getPG()) {
Hao = t 1[I];
t 1[I]= t 1[I+1];
t 1[I+1] ]=Hao;
}
}
}
cout & lt& lt"Equipo"
para (I = 0;i<5;i++){
gamelist.write((char *)&t1[i], tamaño de(t 1[I] );
t1[ i]. display();
}
Eso es todo lo que escribí. Mira si puedes usarlo.