[go: up one dir, main page]

0% found this document useful (0 votes)
13 views4 pages

CC

The document contains C++ code defining classes for a sports team management system, including classes for players (joueur), teams (equipe), coaches (entraineur), and a president (presidant). Key functionalities include player management, position updates, discipline tracking, and team performance evaluation. The code also implements methods for adding and removing player positions, updating competition points, and assessing team success based on trophies and points.

Uploaded by

aymaneelmahjoubi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views4 pages

CC

The document contains C++ code defining classes for a sports team management system, including classes for players (joueur), teams (equipe), coaches (entraineur), and a president (presidant). Key functionalities include player management, position updates, discipline tracking, and team performance evaluation. The code also implements methods for adding and removing player positions, updating competition points, and assessing team success based on trophies and points.

Uploaded by

aymaneelmahjoubi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

#include <iostream>

#include <vector>
#include <algorithm>
using namespace std;
class joueur{
private:
int age;
string nom;
int carte_jaune;
vector<string> position;
vector<string> equipe_precedentes;
vector<string> coupes;
int discipline;
static int k;
public:
void aff(){
cout << age << " " << nom << " " << carte_jaune <<endl;
for (auto i = position.begin(); i < position.end(); i++)
{
cout << *i << " " ;
}cout << endl;
for (auto i = equipe_precedentes.begin(); i < equipe_precedentes.end(); i+
+){
cout << *i << " " ;
}cout << endl;
for (auto i = coupes.begin(); i < coupes.end(); i++){
cout << *i << " " ;
}cout << endl;
cout<<discipline<<endl;

}
void sup(){
if(age<20){
auto p=find(position.begin(),position.end(),"defenceur central");
if(*(p)=="defenceur central"){
position.erase(p);
}
}
}
void ajout_postion(string n){
if(n=="gardien de but"){
if(age>18 || coupes.size()>3){
if(*(find(position.begin(),position.end(),"gardien de but"))!="gardien
de but"){
position.push_back("gardien de but");
}
}
}else
if(*(find(position.begin(),position.end(),n))!=n){
position.push_back(n);
}
}
void changent_discipline(){
if (carte_jaune<=1 && age <20){

discipline++;
} else if (carte_jaune>3 || (equipe_precedentes.size()==0 && age>27)){
discipline--;
}
}

void modifier_position(string n,string a){


if(k<2) {
auto p=find(position.begin(),position.end(),a);
position[(p-position.begin())]=n;
k++;
}
}

friend class entraineur;


};
class equipe
{
private:
string name;
int nb_trophes;
vector<string> compitition;
vector<int> nb_points;
vector<joueur> joueur;

public:

void miseajour(string c,string p){


int d=find(compitition.begin(),compitition.end(),c)-compitition.begin();
if(p=="gagner"){
nb_points[d]+=3;
}else if(p=="egaliter"){
nb_points[d]+=1;
}
}
void ajouter_position(entraineur a,string p,int ag){
a.setep(p,ag);
}
void supprimer_position(entraineur a){
int i=0;
do
{
if (a.age_minimum[i]>20)
{
a.age_minimum.erase(a.age_minimum.begin()+i);
a.positions.erase(a.positions.begin()+i);
}else {
i++;
}

} while (i!=a.age_minimum.size()-1);

}
void evaluer(){
int s;
for (int i = 0; i < nb_points.size(); i++)
{
s+=nb_points[i];
}

if(nb_trophes>10){
if (s>9)
{
cout << "parfait" << endl;
}else{
cout << "bien" << endl;
}

}else if (s>9){
cout << "bien" << endl;
}else {
cout << "mauvaise" << endl;
}
}

friend class presidant;


};
class entraineur{
private:
string email;
vector<int> positions;
vector<int> age_minimum;
public:
void diminue_nb_position(joueur a){
if(a.age<16){
a.position.resize(1);
}else if(a.age>19){
a.position.resize(2);
}
}
void transfer(joueur a){
a.position.sort(a.position.begin(), a.position.end());
for (auto i = a.position.begin(); i != a.position.end(); i++)
{
if (*(i)==*(i+1) && a.discipline<2)
{
cout << "teransfer"<<a.nom;
break;
}

}
void sup(joueur a){
for(auto i=a.position.begin(); i != a.position.end(); i++){
int d=find(positions.begin(), positions.end(),*i)-positions.begin();
if (a.age<age_minimum[d])
{
i--;
a.position.erase(i+1);

}
}
void preparer_joueur(joueur a){
int b=0;
for (auto i = positions.begin(); i != positions.end(); i++)
{
for (auto it = a.position.begin(); it != a.position.end(); i++)
{
if(*it==*i){
break;
}else {
b=1;
}

}
}
if (b==1)
{
cout<<"preparation"
}

}
void setep( string p,int a){
positions.push_back(p);
age_minimum.push_back(a);
}
};
class presidant{
public:

};
int joueur::k = 0;

You might also like