1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231
| #include <stdio.h>
typedef struct
{
int Duree;
int ButsPremiereMitemps;
int ButsDeuxiemeMitemps;
int ButsProlongation;
int ButsPenalty;
}ScoreEquipe;
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ScoreEquipe CreerScoreEquipe(short d,int butMtps1,int butMtps2,int butProlong,int butPen)
{
ScoreEquipe se;
printf("donnez la durée du match :\n");
scanf("%d",&d);
se.Duree=d;
//---------------------------------------------------
printf("Donnez les nombres du buts en premiere Mi-temps :\n");
scanf("%d",&butMtps1);
se.ButsPremiereMitemps=butMtps1;
//---------------------------------------------------
printf("Donnez les nombres du buts en deuxieme Mi-temps :\n");
scanf("%d",&butMtps2);
se.ButsDeuxiemeMitemps=butMtps2;
//---------------------------------------------------
printf("Donner les nombres des buts de Prolongation:\n");
scanf("%d",&butProlong);
se.ButsProlongation=butProlong;
//---------------------------------------------------
printf("Donnez les nombres des buts de penalty :\n");
scanf("%d",&butPen);
se.ButsPenalty=butPen;
return se;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void AffichScoreEquipe(ScoreEquipe s)
{
printf("La durée :%d\n",s.Duree);
printf("Buts premiere mi-temps :%d\n",s.ButsPremiereMitemps);
printf("Buts Deuxieme mi-temps :%d\n",s.ButsDeuxiemeMitemps);
printf("Buts prolongation :%d\n",s.ButsProlongation);
printf("Buts penalty :%d\n",s.ButsPenalty);
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
int TotalButs(ScoreEquipe s)
{
int somme = s.ButsPremiereMitemps+s.ButsDeuxiemeMitemps;
if (s.Duree>90)
somme = somme + s.ButsProlongation + s.ButsPenalty;
return somme;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
#define max1 10
#define max2 4
#define max3 4
typedef char chaine[max1];
typedef struct
{
chaine NomEquipe, Tnomjoueur[max2],TnomStaff[max3];
}Equipe;
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Equipe CreerEquipe(Equipe e)
{
int i=0;
printf("Nom equipe :\n");
scanf("%s",e.NomEquipe);
//-------------------------------------------------
printf("Nom d'entreneur :\n");
scanf("%s",e.Tnomjoueur[i]);
//-------------------------------------------------
printf("les noms des joueurs :\n");
for(i=1;i<max2;i++)
{
printf("Nom joueur n°%d est:\n",i);
scanf("%s",e.Tnomjoueur[i]);
}
//--------------------------------------------------
printf("les noms du staff téchnique : \n");
for(i=1;i<max3;i++)
{
printf("n°%d :\n",i);
scanf("%s",e.TnomStaff[i]);
}
return e;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void AffichEquipe(Equipe e)
{
int i=0;
printf("le nom d'equipe:%s\n",e.NomEquipe);
printf(" Nom d'entraîneur: %s\n",e.Tnomjoueur[i]);
printf(" les noms des joueurs:");
for(i=1;i<max2;i++)
printf("\n joueur n°%d est %s:",i,e.Tnomjoueur[i]);
printf("\n");
printf(" les noms du staff téchnique:");
for(i=1;i<=max3;i++)
printf("\n n°%d est %s:\n",i,e.TnomStaff[i]);
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
int MemeEquipe(Equipe e1,Equipe e2)
{
if(strcmp(e1.NomEquipe,e2.NomEquipe))return 0;
else return 1;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
typedef struct
{
ScoreEquipe s1,s2;
}ScoreMatch;
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ScoreMatch CreerScoreMatch(ScoreEquipe s1,ScoreEquipe s2)
{
ScoreMatch sm;
int butMtps2,butMtps1,butProlong,butPen;short d;
printf("score equipe 1 :\n");
sm.s1 = CreerScoreEquipe(d,butMtps1,butMtps2,butProlong,butPen);
//--------------------------------------------------------------
printf("score equipe 2 :\n");
sm.s2 = CreerScoreEquipe(d,butMtps1,butMtps2,butProlong,butPen);
return sm;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void AffichScoreMatch(ScoreMatch sm)
{
printf("Affichage score equipe 1 :\n");
AffichScoreEquipe(sm.s1);
printf("Affichage score equipe 2 :\n");
AffichScoreEquipe(sm.s2);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
typedef struct
{
Equipe eq1,eq2;
ScoreMatch sm;
}Match;
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Match CreerMatch(Equipe eq1,Equipe eq2,ScoreMatch sm)
{
Match m;
m.eq1 = eq1;
m.eq2 = eq2;
m.sm = sm;
return m;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void AffichMatch(Match m)
{
printf("Equipe 1:\n");
AffichEquipe(m.eq1);
printf("Equipe 2:\n");
AffichEquipe(m.eq2);
printf("Le score du match est :\n");
AffichScoreMatch(m.sm);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
int Resultat(Equipe e,Match m)
{
const int Perdu = -1,Gagne = 1,Nul = 0,NonParticipe = -2;
if((MemeEquipe(e,m.eq1))&&(MemeEquipe(e,m.eq2)))return NonParticipe;
else
if (TotalButs(m.sm.s1) == TotalButs(m.sm.s2)) return Nul;
else
if((MemeEquipe(e,m.eq1))&& (TotalButs(m.sm.s2)>TotalButs(m.sm.s1))) return Gagne;
else return Perdu;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
int TotalPoints(Equipe e,Match m[],int NombreMatchs)
{
const int gagne = 3,Nul = 1,Perdu = 0;int i=0,totalPoints=0;
for(i=1;i<=NombreMatchs;i++)
{ if(Resultat(e,m[i])==1)totalPoints+=gagne;
else
if(Resultat(e,m[i])==0)totalPoints+=Nul;
else
if(Resultat(e,m[i])==-1)totalPoints+=Perdu;
}return totalPoints;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////
void Classement(Equipe e[],int NombreEquipes,Match m[],int NombreMatchs)
{Equipe eq;
int i=0,j=0,k=0,k1=0,k2=0,k3=0;
//---------------------------------------------------
for(i=1;i<=NombreEquipes;i++)
for(j=2;i<=NombreEquipes;j++)
{
if((TotalPoints(e[i],m,NombreMatchs)) < (TotalPoints(e[j],m,NombreMatchs)))
{
eq = e[i];
e[i] = e[j];
e[j] = eq;
}
}
//----------------------------------------------------
for(i=1;i<=NombreEquipes;i++)
{
printf("le total des points de l'equipe de %s est %d\n",e[i].NomEquipe,TotalPoints(e[i],m,NombreMatchs));
//----------------------------------------------------
if( (Resultat(e[i],m[i])== -1) || (Resultat(e[i],m[i]) == 0) || (Resultat(e[i],m[i]) == 1) )k++;
printf("le nombre des Matchs jouer sont: %d\n",k);
//-----------------------------------------------------
for(j=1;j<=NombreMatchs;j++)
{
if ( Resultat(e[i],m[j]) == 1)
{
k1++;
printf("le nombre des Matchs gagnés sont: %d\n",k1);
}
else
if( Resultat(e[i],m[j]) == 0)
{
k2++;
printf("le nombre des matchs nuls sont: %d\n",k2);
}
else
if( Resultat(e[i],m[j]) == -1)
{
k3++;
printf("le nombre des matchs perdus sont: %d\n",k3);
}
if(MemeEquipe(e[i],m[i].eq1))
printf("le nombre des buts marqués sont: %d\n",TotalButs(m[j].sm.s1));
else
printf("le nombre des buts marqués sont: %d\n",TotalButs(m[j].sm.s2));
}
}
} |
Partager