Vous êtes sur la page 1sur 20

Struct Entraineurs{

Cha�ne no_ent[15];
Cha�ne nom[40];
Cha�ne prenom[40];
Cha�ne adresse[30];
Cha�ne sexe[2];
entier age ;
Reel salaire;
};
Struct Clubs{
Cha�ne nomClub[11];
Cha�ne no_entr[20];
Cha�ne departement[30];
Cha�ne ville[20];
Cha�ne adresse[50];
Entier qtematch ;
Entier qtepts ;
Reel fonds;
};
Struct Joueurs{
Cha�ne no_joueur[40];
Cha�ne nom[50];
Cha�ne prenom[50];
entier age[4];
Cha�ne adresse[50];
Cha�ne tel[12];
Cha�ne nomClub[20];
Caractere sexe ;
Reel salaire;
};
Struct Arbitres{
Cha�ne no_arb[11];
Cha�ne nom[40];
Cha�ne prenom[40];
Cha�ne tel[12];
Cha�ne adresse[50];
Caractere sexe ;
Reel salaire;
Struct Matchs{
Cha�ne no_match[15];
Cha�ne nomClub1[20];
Cha�ne nomClub2[20];
Cha�ne no_arbitre[4];
Chaine lieu[12] ;
Cha�ne mois[20];
Cha�ne jour[20];
Entier time[10];
Cha�ne phase[10];
Cha�ne date[20];
};
Struct Resultats{
Cha�ne num_match[10];
Cha�ne Club1[20];
entier score1[20];
Cha�ne qtePts1[20];
Cha�ne Club2[20];
entier score2[20];
entier QtePts2[20];
chaine date[40] ;
entier journee ;

Struct Entraineurs Ent[11];


Struct Clubs cl[11];
Struct Joueurs Jo[300];
Struct Arbitres Ar[40];
Struct Matchs Ma[40];
Struct Resultats Re[20];

Var nbe? 0, nbc?0, nbjo?0, nba? 0, nbmatch? 0, nbr?0:entiers;


Fonction test nom club(club[40]:chaine):entier
Fonction test mois(tm[40];chaine):entier;
Fonction test doublonclub dans une joueur(jn;entier)entier;
Fonction test doublonclub dans une phase(nphase;entier)entier;
FonctiontestChampVide(champ[50]:Cha�ne):entier;
Fonction testnomclub(nom[20] : Cha�ne): entier;
Fonction test nombre de jour (nbj[40] :chaine) :entier ;
Fonction testSexe(sexe[3] : Cha�ne): entier ;
Fonction testAgejoueurs(age[3] : Cha�ne): entier ;
Fonction testentnum(num(11) :chaine) :entier ;
Fonction testAgeentre(age[3] : entier ): entier ;
Fonction testTel(tel[12] : Cha�ne) entier ;
Fonction testTime(time[3] : Cha�ne): entier ;
Fonction testPhase(phase[10] : Cha�ne): entier ;
Fonction testScore(score[3] : Cha�ne): entier ;
Fonction testqtePts(qtePts[3] : Cha�ne): entier ;
Fonction testlongNumero(num[3] : Cha�ne): entier ;
Fonction testFond(fond[2] : Cha�ne): entier ;
Fonction testQteclub(club[12] : Cha�ne): entier ;

Fonction menugestionEntraineurs (): entier ;


Proc�dure gestionentraineur() ;
Fonction menugestionClubs (): entier ;
Proc�dure gestionclubs() ;
Fonction menugestionJoueurs(): entier ;
Proc�dure gestionjoueurs() ;
Fonction menugestionArbitres (): entier ;
Proc�dure gestionarbitre() ;
Fonction menugestionMatchs (): entier ;
Proc�dure gestionmatchs() ;
Fonction menugestionResultas ():entier;
Proc�dure gestionresultats() ;
Fonction menugestionprincipal() ;
Procedure gestionprincipal() ;
procedure gestionEntraineur();
Proc�dure enregistrerEntraineurs ();
Proc�dure afficherinfoEntraineurs ();
Proc�dure rechercherEntraineurs ();
Proc�dure modifierinfoEntraineurs ();
Proc�dure licencierEntraineurs ();
Proc�dure listeEntraineursavecclub ();
procedure gestionClub();
Proc�dure enregistrerClubs ();
Proc�dure afficherInfoclubs ();
Proc�dure afficherInfosclub ();
Proc�dure modifierInfoclub ();
procedure gestionJoueur();
Proc�dure enregistrerJoueurClubs ();
Proc�dure afficherJoueurschampionnat ();
Proc�dure afficherJoueursclub ();
Procedure afficher les joueurs d�un club() ;
Proc�dure afficherInfojoueur ();
Proc�dure modifierInfojoueur ();
Proc�dure transf�rerJoueur ();
procedure gestionArbitre();
Proc�dure enregistrerArbitres ();
Proc�dure afficherArbitres ();
Proc�dure rechercherInfoarbitre ();
Proc�dure modifierInfoarbitre ();
Proc�dure licencierArbitre ();

procedure gestionResultatMatch();\\
Proc�dure afficherResultatmatchs ();
Proc�dure afficherResultatmatchsall�s ();
Proc�dure afficherResultatmatchsretour ();
Proc�dure afficherEquipechampionne ();
Proc�dure enregistrerMatchs aller retour ();

procedure gestionMatch();\\
Proc�dure enregistrerMatchs retour();
Proc�dure afficherMatchs ();
Proc�dure afficherMatchs selonmois ();
Proc�dure afficherMatchsaller ();
Proc�dure afficherMatchsretour ();
Proc�dure afficherInfosmatchparnum ();
Proc�dure modifierInfomatch ();
Proc�dure annuler et reprogrammerMatch();

Fonction testChampVide(champ[50] : Cha�ne):entier;

�Debut
Var t<--0 :entier;
Si (champ= � �) alors
t 1 ;
affcher( ce champ est obligatoire��) ;
finsi
retourne t
finfonction
Fonction testnomclub(nom[20] : Cha�ne): entier;
Debut
Var s 0,i :entier ;
Pour i allant de 0 a nbc-1 faires
Si(cl[i].nomclub=nom) alors
s 1 ;
afficher(��ce nom du club existe d�j�) ;
finsi
retourne s ;
finfonction
Fonction testSexe(sexe[3] : Cha�ne): entier ;
debut
Var p 0 :entier ;
Si(sexe<>M et sexe<>F) alors
P 1
Afficher(��le sexe doit �tre M ou F��) ;
Finsi
Retourne p
Finfonction
Fonction testAgejoueurs(age[3] : Cha�ne): entier
debut
Var t 0 :entier ;
Si(age<18 et age>35) alors
t 1 ;
afficher(��L�age du joueur doit varie de 18 a 35��) ;
finsi
retoune t ;
finfonction
Fonction testAgeentre(age[3] : Cha�ne): entier
debut
Var t 0 :entier ;
Si(age<35 et age>65) alors
t 1 ;
afficher(��L�age de l�entraineur doit varie de 35 � 65��) ;
finsi
retoune t ;
finfonction
Fonction testTel(tel[12] : Cha�ne) entier ;
Debut
Var t 0 :entier;
Si (long(tel)<>11) alors
t 1 ;
affcher( ��le numero doit etre de 11 chiffre preceder du signe +��) ;
finsi
retourne t
finfonction
Fonction testTime(time[3] : Cha�ne):entier ;
debut
Var p 0 :entier ;
Si(time<12 et time>20) alors
P 1 ;
Afficher(��l�heure doit �tre compris entre 12 et 20��) ;
Finsi
Retourne p ;
Finfonction
Fonction testPhase(phase[10] : Cha�ne): entier;
Debut
Var t 0 :entier;
Si (phase<>aller et phase<>retour) alors
t 1 ;
affcher( ��la phase doit etre aller ou retour��) ;
finsi
retourne t ;
finfonction
fonction testNombreJour(nj :entier) :entier ;
debut
var i r<--0:entires;
pour i allan de 0 a nbm-1 faire
si( Mch[i].mois=Jeanvier ou Mch[i].mois=Mars ou Mch[i].mois=Mai ou
Mch[i].mois=Juillet ou Mch[i].mois=Aout ou Mch[i].mois=Octobre ou
Mch[i].mois=Decembre )alors
si(nj<=0 0u nj>=32)alors
r<---1;
finsi
finsi
sinon
si(Mch[i].mois=Fevrier)alors
si(nj <=0 ou nj >=30)alors
r<---1 ;
finsi
finsi
sinon
si(nj<=0 ou nj >=31)alors
r<---1 ;
finsi
finsinon
finsinon
finpour
si(r=1) alors
afficher(� le nombre de jour ne correspond pas au mois �) ;
finsi
retourne r ;
finfonction

fonction testMois(m[30] :chaine) :entier ;


debut
var r<--0 :entiers ;
si( m<>Jeanvier ou m<>Fevrier ou m<>Mars ou m<>avril ou m<>Mai ou m<>Juin ou
m<>Juillet
ou m<>Aout ou m<>Septembre ou m<>Octobre ou m<>novembre ou m<>Decembre )alors
r<---1 ;
afficher(� desole! saisissez bien le jour �) ;
finsi
retourne r ;
finfonction

fonction testJour(j[15] :chaine) :entier ;


debut
var r<--0:entiers ;
si(j<>Lundi ou j<>Mardi ou j<>Mercredi ou j<>Jeudi ou j<>Vendredi ou j<>Samedi
ou j<>Dimanche) alors
r<--1 ;
afficher(� desole! saisissez bien le jour �) ;
finsi
retourne r ;
finfonction

Fonction testMatch(match[3] : Cha�ne): entier;


debut
var i ,r<--0 ;entiers ;
pour i allant de 0 a nbm-1 faire
si(Mch[i].noMatch=num ou Mch[i].noMatch<=0 ou Mch[i].noMatch >=91)alors
r<--1;
afficher(� Erreur !Verifier que ce numero n`est pas encore enregistrer et il est
dans l`intervalle 1 a 90 �) ;
finsi
finpour
retourne r;
finfonction
Fonction testqtePts(qtePts[3] : Cha�ne): entier;
Debut
Var t 0 :entier;
Si (qtepts<>0 et qtepts<>1 et qtepts<>3) alors
t 1 ;
affcher(��le nombre de points doit etre 0, 1 ou 3��) ;
finsi
retourne t ;
finfonction
fonction testLongCode(num[11]:chaine):entier
debut
var r<--0:entier;
si(log(num)<>10)alors
r<--1;
afficher("le numero doit avoir 10 chiffres");
finsi
retourne r;
finfonction
fonction testCodeUnique(num[11]:chaine):entier
debut
var i,r<--0:entiers;
pour i allant de 0 a nbc-1 faire
si(Clb[i].num=num)alors
r<--1;
finsi
finpour
si(r=1)alors
afficher("ce code existe deja");
finsi
retourne r;
finfonction
Fonction testDoublonMatchDansUneJournee(jn;entire,nmc[40]:chaine) :entier ;
Debut
Var i ,r<--0 :entiers ;
Pour I allant de 0 a nbm-1 faire
Si(Mch[i].journee=jn)alors
Si(Mch[i].nomClub1=nmc ou Mch[i].nomClub2=nmc)alors
r<---1;
finsi
finsi
finour
afficher(� ce club a d�j� jou� dans cette meme journee �) ;
retourne r ;
finfonction

Fonction testDoublonMatchDansUnePhase(p:entire,nmc1[40]:chaine,
nmc2[40]:chaine):entier ;
Debut
Var i,r<--0 :entiers ;
Pour i allant de 0 a nbm-1 faire
Si(Mch[i].phase=p)alors
Si((Mch[i].nomClub1=nmc1 et Mch[i].nomClub2=nmc2) ou(Mch[i].nomClub2=nmc2 ou
Mch[i].nomClub1=nmc1))alors
r<--1;
afficher(�ses deux equipes ont deja rencontr�es dans cette meme phase �) ;
retourne r;
finfonction
fonction menuPrincipal():entier
var ch:entier;
afficher(" MENU PRINCIPAL ");
afficher("1. gestion entraineur");
afficher("2. gestion club");
afficher("3. gestion arbitre");
afficher("4. gestion joueur");
afficher("5. gestion match");
afficher("6. gestion resultat match");
afficher("faites votre choix");
lire(ch);
retourne ch;
finfonction

procedure menuPrincipal()
debut
var x:entier;
repeter
x<---menuPrincipal();
selon(x)faire

cas1:
{
gestionEntraineur();
}
cas2:
{
gestionClub();
}

cas3:
{
gestionArbitre();
}

cas4:
{
gestionJoueur();
}

cas5:
{
gestionMatch();
}

cas7:
{
menuPrincipal();
}
sinom
afficher("choisissez entre 1 a 7");
finsinon
finselon
finrpj
jusqu`a(x>=1 ou x<=7);
finprocedure
fonction menuPrincipal():entier
var ch:entier;
afficher(" MENU PRINCIPAL ");
afficher("1. gestion entraineur");
afficher("2. gestion club");
afficher("3. gestion arbitre");
afficher("4. gestion joueur");
afficher("5. gestion match");
afficher("6. gestion resultat match");
afficher("faites votre choix");
lire(ch);
retourne ch;
finfonction
procedure menuPrincipal()
debut
var x:entier;
repeter
x<---menuPrincipal();
selon(x)faire

cas1:
{
gestionEntraineur();
}
cas2:
{
gestionClub();
}

cas3:
{
gestionArbitre();
}

cas4:
{
gestionJoueur();
}

cas5:
{
gestionMatch();
}

cas7:
{
menuPrincipal();
}
sinom
afficher("choisissez entre 1 a ");
finsinon
finselon
finrpj
jusqu`a(x>=1 ou x<=7);
finprocedure
Proc�dure gestionentraineur()
Debut
Var x :entier;
repeter
X? menugestionEntraineurs() ;
Selon (x) faire
Cas 1 :
{
enregistrerEntraineurs() ;
}
Cas 2 :
{
afficherInfoEntraineurs() ;
}
Cas 3 :
{
rechercherEntraineurs() ;
}
Cas 4 :
{
modifierinfoEntraineurs() ;
}
Cas 5 :
{
licencierEntraineurs() ;
}
Cas 6 :
{
listeEntraineursavecclub() ;
}
Cas 7 :
{
gestionprincipal() ;
}
Sinon
Afficher(��mauvais choix��)
Fsinon
Fselon
Frj
Jusqu��(x>=1 ou x<=7)
finprocedure
Fonction menugestionClubs (): entier ;
Debut
Var nb :entier ;
Afficher(�*****Menu gestion clubs****��) ;
Afficher(��1. Enregistrer clubs��) ;
Afficher(��2. Afficher info clubs��) ;
Afficher(��3. Afficher infos club��) ;
Afficher(��4. Modifier info club��) ;
Afficher(��5. Retour au menu principale��) ;
Aficher(��faites votre choix��) ;
Lire(nb) ;
Retourne nb ;
finfonction
Proc�dure gestionclubs()
Debut
Var x :entier ;
repeter
X? menugestionClubs() ;
Selon (x) faire
Cas 1 :
{
Enregistrerclubs() ;
}
Cas 2 :
{
Afficherinfoclubs() ;
}
Cas 3 :
{
Rechercherinfoclub() ;
}
Cas 4 :
{
Modifierinfoclub() ;
}
Cas 5 :
{
gestionprincipal() ;
}
Sinon
Afficher(��mauvais choix��) ;
Fsinon
Fselon
Frj
Jusqu��(x>=1 ou x<=5)
finprocedure
Fonction menugestionJoueurs(): entier
Debut
Var nb :entier ;
Afficher(��--- Menu gestion joueurs---��) ;
Afficher(��1. Enregistrer un joueur clubs��) ;
Afficher(��2. Afficher joueurs championnat��) ;
Afficher(��3. Afficher joueur club��) ;
Afficher(��4. Afficher info joueur��) ;
Afficher(��5. Modifier info joueurs��) ;
Afficher(��6. Transf�rer joueur��) ;
Afficher(��7. Retour au menu principale��) ;
Aficher(��faites votre choix��) ;
Lire(nb) ;
Retourne nb ;
finfonction
Proc�dure gestionjoueurs()
Debut
Var x :entier ;
repeter
X? menugestionJoueurs() ;
Selon (x) faire
Cas 1 :
{
Enregistrerjoueurclubs() ;
}
Cas 2 :
{
Afficherjoueurchampionnat() ;
}
Cas 3 :
{
Afficherjoueurclub() ;
}
Cas 4 :
{
Afficherinfojoueurs() ;
}
Cas 5 :
{
Modifierinfojoueur();
}
Cas 6 :
{
Transfererjoueur() ;
}
Cas 7 :
{
gestionprincipal() ;
}
Sinon
Afficher(��mauvais choix��)
Fsinon
Fselon
Frj
Jusqu��(x>=1 ou x<=7)
finprocedure
Fonction menugestionArbitres (): entier ;
Debut
Var nb :entier ;
Afficher(��******Menu gestion arbitres****��) ;
Afficher(��1. Enregistrer arbitres��) ;
Afficher(��2. Afficher arbitres��) ;
Afficher(��3. Rechercher info sur un arbitre��) ;
Afficher(��4. Modifier info arbitre��) ;
Afficher(��5. Licencier un arbitres��) ;
Afficher(��6. Retour au menu principale��) ;
Aficher(��faites votre choix entre 1 a 6��) ;
Lire(nb) ;
Retourne nb ;
finfonction
Proc�dure gestionarbitre() ;
Debut
Var x :entier ;
repeter
X? menugestionarbitres() ;
Selon (x) faire
Cas 1 :
{
enregistrerArbitres() ;
}
Cas 2 :
{
Afficherarbitres() ;
}
Cas 3 :
{
rechercherInfoArbitres() ;
}
Cas 4 :
{
ModifierInfoArbitre() ;
}
Cas 5 :
{
licencierArbitre();
}
Cas 6 :
{
gestionprincipal() ;
}
Sinon
Afficher(��mauvais choix��) ;
Fsinon
Fselon
Frj
Jusqu��(x>=1 ou x<=6)
finprocedure
Fonction menugestionMatchs (): entier
Debut
Var nb :entier ;
Afficher(��***** Menu gestion matchs*****��) ;
Afficher(��1. Enregistrer matchs��) ;
Afficher(��2. Afficher matchs��) ;
Afficher(��3. Afficher matchs selon mois��) ;
Afficher(��4. Afficher matchs aller ��) ;
Afficher(��5. afficher matchs retour��) ;
Afficher(��6. Afficher info match par numero��) ;
Afficher(��7. Modifier info match��) ;
Afficher(��8. Annuler et reprogrammer match��) ;
Afficher(��9. Retour au menu principale��) ;
Aficher(��faites votre choix��) ;
Lire(nb) ;
Retourne nb ;
finfonction
Proc�dure gestionmatchs()
Debut
Var x :entier ;
repeter
X? menugestionmatchs () ;
Selon (x) faire
Cas 1 :
{
enregistrermatchallerretour () ;
}
Cas 2 :
{
affichermatchs() ;
}
Cas 3 :
{
Affichermatchsselonmois () ;
}
Cas 4 :
{
Affichermatchsaller () ;
}
Cas 5 :
{
Affichermatchretour() ;
}
Cas 6 :
{
Afficherinfomatchparnum () ;
}
Cas 7 :
{
modifierinfomatch () ;
}
Cas 8 :
{
annuleretreprogrammermatch() ;
}

Cas 9 :
{
gestionprincipal() ;
}
Sinon
Afficher(��mauvais choix��)
Fsinon
Fselon
Frj
Jusqu��(x>=1 ou x<=9)
finprocedure
Fonction menugestionResultas (): entier;
Debut
Var nb :entier ;
Afficher(��****** Menu gestion r�sultats*****��) ;
Afficher(��1. Afficher r�sultat matchs��) ;
Afficher(��2. Afficher r�sultats matchs all�s��) ;
Afficher(��3. Afficher r�sultats matchs retour��) ;
Afficher(��4. Afficher �quipe championne��) ;
Afficher(��5. Retour au menu principale��) ;
Aficher(��faites votre choix��) ;
Lire(nb) ;
Retourne nb ;
finfonction
Proc�dure gestionresultats()
Debut
Var x :entier ;
repeter
X? menugestionresultats() ;
Selon (x) faire
Cas 1 :
{
AfficherResultatmatchs() ;
}
Cas 2 :
{
Afficherresultatmatchsall�s() ;
}
Cas 3 :
{
Afficherresultatmatchretour () ;
}
Cas 4 :
{
Afficherequipechampionne () ;
}
Cas 5 :
{
gestionprincipal() ;
}
Sinon
Afficher(��mauvais choix��)
Fsinon
Fselon
Frj
Jusqu��(x>=1 ou x<=5)
finprocedure

Fselon
Frj
Jusqu��(x>=1 ou x<=6)
Finprocedure
Procedure enregistrerentraineur( )
Debut
Var i?nbe rep?0:entiers ;
Repeter
Repeter
Afficher(� Entrez le numero de l�entraineur �)
Lire(entr[i].no_ent) ;
FRJ jusqu�� ( testnumeroentraineur(entr[i].no_ent)=1) ou
testnumero2(entr[i].no_ent)=1) ou testnumero3(entr[i].no_ent)=1 ou
testnumeromatch(entr[i].no_ent)=1 ou testchampvide(entr[i].no_entr)=1 ou
testlongnumero(entr[i].no_ent)=1)
Repeter
Afficher(� Entrer le nom de l�entraineur �) ;
Lire(entr[i].nom) ;
FRJ jusqu�� (testchampvide(entr[i].nom)=1)
Repeter
Afficher(� Entrez le prenom �) ;
Lire(entr[i].prenom) ;
FRJ jusqu�� (testchampvide(entr[i].prenom)=1)
Repeter
Afficher(� Entrer l�adresse �) ;
Lire(entr[i].adresse) ;
FRJ jusqu�� (testchampvide(entr[i].adresse)=1)
Repeter
Afficher(� Entrez le sexe �) ;
Lire(entr[i].sexe) ;
FRJ jusqu�� (testsexentraineur(entr[i].sexe)=1 ou
testchampvide(entr[i].sexe)=1)
Repeter
Afficher(� Entrez l�age �) ;
Lire(entr[i].age) ;
FRJ jusqu�� (testageentraineur(entr[i].age)=1 ou
testchampvide(entr[i].age)=1)
Repeter
Afficher(� Entrez le salaire �) ;
Lire(entr[i].salaire) ;
FRJ jusqu�� (testchampvide(entr[i].salaire)=1) ou
entr[i].salaire<=0)
Afficher(� voulez vous enregistrer un autre entraineur (1=oui, 0=non) �)
Lire(rep)
i?i+1
nbe?nbe+1
FRJ jusqu�a (rep=1)
Finprocedure
Procedure afficherentraineurs( )
Debut
Var i entier
Pour i allant de 0 a nbe-1 faire
Afficher(entr[i].no_ent ,entr[i].nom ,entr[i].prenom ,entr[i].adresse ,entr[i].sexe
,entr[i].age ,entr[i].salaire) ;
Fpr
FRJ
Finprocedure
Procedure rechercherentraineur( )
Debut
Var i, pos?-1, r?0, :entiers
Var num[11] ;chaine
Repeter
Afficher(� Entrez le numero de l�entraineur �) ;
Lire(num) ;
FRJ jusqu�a (testchampvide(num)=1)
Pour i allant de 0 a nbe-1 faire
Si(entr[i].no_ent=num)alors
pos?i ;
r?1 ;
fsi
Fpr
Si(r=1)alors

Afficher(entr[pos].no_ent ,entr[pos].nom ,entr[pos].prenom ,entr[pos].adresse ,entr


[pos].sexe ,entr[pos].age ,entr[pos].salaire)
fsi
Finprocedure
Procedure modifier_info_entraineur( )
Debut
Var i, pos?-1, r?0,sal ,ag ,ch : entiers
Var num[11],nm[40],pren[50],adres[50],se[2] : chaine
Repeter
Afficher(� Entrez le numero de l�entraineur �) ;
Lire(num) ;
FRJ jusqu�� (testchampvide(num)=1)
Pour i allant de 0 nbe-1 faire
Si(ent[i].no_ent=num)alors
pos?i ;
r?1 ;
fsi
Fpr
Si(r=1)alors
Afficher(� voulez vous modifier quelle info�) ;
Afficher(� 1- modifier numero �) ;
Afficher(� 2- modifier nom �) ;
Afficher(� 3- modier prenom �) ;
Afficher(� 4- modifier adresse �) ;
Afficher(� 5- modifier sexe �) ;
Afficher(� 6- modifier age �) ;
Afficher(� 7- modifier salaire �) ;
Afficher(� 8- menu gestion entraineur �) ;
Lire(ch)
Selon(ch) faire
Cas 1 :{
Repeter
Afficher(� Entrez le nouveau numero �) ;
Lire(num1) ;
FRJ jusqu�� (testchampvide(num1)=1 ou testnumero1(num1)=1 ou testnumero2(num1)=1 ou
testnumero3(num1)=1 ou testnumeromatch(num1)=1 ou testlongnumero(num1)=1)
entr[pos].no_ent?num1 ;
}
Cas 2 : {
Repeter
Afficher(� Entrez le nouveau nom �) ;
Lire(nm) ;
FRJ jusqu�� (testchampvide(nm)=1)
entr[pos].nom?nm ;
}
Cas 3 : {
Repeter
Afficher(� Entrez le nouveau prenom �) ;
Lire(pren) ;
FRJ jusqu�� (testchampvide(pren)=1)
entr[pos].prenom?pren ;
}
Cas 4 : {
Repeter
Afficher(� Entrez la nouvelle adresse �) ;
Lire(adres) ;
FRJ jusqu�� (testchampvide(adres)=1)
entr[pos].adresse?adres ;
}
Cas 5 : {
Repeter
Afficher(� Entrez le nouveau sexe �)
Lire(sex) ;
FRJ jusqu�� (testchampvide(se)=1 ou testsexentraineur(se)=1)
entr[pos].sexe?se ;
}
Cas 6 : {
Repeter
Afficher(� Entrez le nouvel age �)
Lire(ag) ;
FRJ jusqu�� (testchampvide(ag)=1 ou testageentraineur(ag)=1)
entr[pos].age?ag ;
}
Cas 7 : {
Repeter
Afficher(� Entrez le nouveau salaire �)
Lire(sal)
FRJ jusqu�� (testchampvide(sal)=1 ou sal<=0)
entr[pos].salaire?sal ;
}
Cas 8 : {
menugestionentraineurs( ) ;
}
fselon
fsi
Finprocedure
Procedure licencierentraineur( )
Debut
Var i, pos?0,r?0 :entiers
Var num[11] : chaine
Repeter
Afficher(� Entrez le numero de l�entraineur �) ;
Lire(num) ;
FRJ jusqu�� (testchampvide(num)=1 ou testnumero1(num)=1 ou testnumero2(num)=1 ou
testnumero3(num)=1 ou testnumeromatch(num)=1 ou testlongnumero(num)=1)
Pour i allant de 0 a nbe-1 faire
Si(entr[i].no_ent=num)alors
pos?i ;
r?1 ;
fsi
Fpr
Si(r=1)alors
entr[pos].no_ent?� � ;
entr[pos].nom?� � ;
entr[pos].prenom?� � ;
entr[pos].adresse?� � ;
entr[pos].sexe?� � ;
entr[pos].age?� � ;
entr[pos].salaire?� � ;
fsi
Finprocedure
Procedure afficherentraineuretclub( )
Debut
Var i, j, r?0, pos1?-1, pos2?-2:entiers
Pour i allant de 0 a nbe-1 faire
Pour j allant de 0 nbc-1 faire
Si(entr[i].no_ent=clb[j].nomclub)alors
Afficher(entr[pos1].nom,entr[pos1].prenom,clb[pos2].nomclub) ;
fsi
Fpr
Finprocedure

Proc�dure enregistrerClubs ()
D�but
Var i?nc, rep?0: entiers;
R�p�ter
R�p�ter
Afficher("Entrer le nom du club");
Lire(Clu[i].nomClub);
FRJ
Jusqu'�(testChampVide(Clu[i].nomClub)=1 ou testDoublonNc(Clu[i].nomClub)=1);
R�p�ter
Afficher("Entrer le numero de l�antraineur du club");
Lire(Clu[i].no_entr);
FRJ
Jusqu'�(testChampVide(Clu[i].no_entr)=1 ou testNumero(Clu[i].n_entr)=1);
R�p�ter
Afficher("Entrer le d�partement");
Lire(Clu[i].departement);
FRJ
Jusqu'�(testChampVide(Clu[i].departement)=1);
R�p�ter
Afficher("Entrer la ville");
Lire(Clu[i].ville);
FRJ
Jusqu'�(testChampVide(Clu[i].ville)=1);
R�p�ter
Afficher("Entrer l'adresse du club");
Lire(Clu[i].adresse);
FRJ
Jusqu'�(testChampVide(Clu[i].adresse)=1);
R�p�ter
Afficher("Entrer les fonds");
Lire(Clu[i].fonds);
FRJ
Jusqu'�(testChampVide(Clu[i].fonds)=1);
Afficher("Voulez-vous enregistrer un autre club? (1. Oui 2. Non)");
Lire(rep);
i?i+1;
nc? nc+1;
FRJ
Jusqu'�(rep=1);
FinProc�dure

Proc�dure afficherInfoClubs ()
Debut
Var i?0: entier;
Pour i allant de 0 � nc-1 faire
Afficher("Nom club :", Clu[i].nomClub);
Afficher("Num�ro entraineur :", Clu[i].no_entr);
Afficher("D�partement :", Clu[i].departement);
Afficher("Ville :", Clu[i].ville);
Afficher("Adresse :", Clu[i].adresse);
Afficher("Fonds du club :", Clu[i].fonds);
FinPour
FinProc�dure

Proc�dure afficherInfoClub ()
D�but
Var i : entiers;
Var num[15]: cha�ne;
Afficher("Entrer le num�ro du club � afficher");
Lire(num);
FRJ
Jusqu'�(testChampVide(num)=1 ou testNumero(num)=1);
Pour i allant de 0 � nc-1 faire
Si(Clu[i].no_entr =num) alors
Afficher("Nom club :", Clu[i].nomClub);
Afficher("Num�ro club :", Clu[i]. no_entr);
Afficher("D�partement :", Clu[i].departement);
Afficher"Ville :", (Clu[i].ville);
Afficher("Adresse :", Clu[i].adresse);
Afficher("Fonds :", Clu[i].fonds);
FinSi
Sinon
Afficher("Ce num�ro de club n'existe pas");
FinSinon
FinPour
FinProc�dure

Proc�dure modifierInfoClub ()
D�but
Var num[15], noentr[15]; nomClub[50], [50], dep[50], vil[50], ad[50], ch: cha�nes;
Var fo :entiers ;
Var r?0, pos? -1,i: entiers;
R�p�ter
Afficher("Entrer le num�ro du club � modifier");
Lire(num);
FRJ
Jusqu'�(testChampVide(num)=1);
Pour i allant de 0 � nc-1 faire
Si(Clu[i].no_entr=num) alors
pos?i;
r?1;
FinSi
FinPour
Si(r=1) alors
R�p�ter
Afficher("1. Modifier nom club");
Afficher("2. Modifier numero entraineur");
Afficher("3. Modifier departement");
Afficher("4. Modifier ville");
Afficher("5. Modifier adresse");
Afficher("6. Modifier fonds");
Afficher("7. Retour au Menu Gestion entraineur");
Afficher("8. Retour au Menu Principal");
Afficher("Fa�tes votre choix");
Lire(ch);
Selon(ch) faire
Cas 1: {
R�p�ter
Afficher("Entrer le nouveau nom du club");
Lire(nomClub);
FRJ
Jusqu'�(testChampVide(nomClub)=1 ou testdoublonNc(nomClub)=1);
Clu[pos].nomClub?nomClub;
};
Cas 2: {
R�p�ter
Afficher("Entrer le nouveau numero de l�entraineur");
Lire(noentr);
FRJ
Jusqu'�(testChampVide(noentr)=1 ou testNumero(noentr)=1);
Clu[pos].no_entr?noentr;
};
Cas 3: {
R�p�ter
Afficher("Entrer le nouveau departement");
Lire(dep);
FRJ
Jusqu'�(testChampVide(dep)=1);
Clu[pos].departement?dep;
};
Cas 4: {
R�p�ter
Afficher("Entrer la nouvelle ville");
Lire(vil);
FRJ
Jusqu'�(testChampVide(vil)=1);
Clu[pos].ville?vil;
};
Cas 5: {
R�p�ter
Afficher("Entrer la nouvelle adresse");
Lire(ad);
FRJ
Jusqu'�(testChampVide(ad)=1);
Clu[pos].adresse?ad;
};
Cas 6: {
R�p�ter
Afficher("Entrer la nouveau fonds");
Lire(fo);
FRJ
Jusqu'�(testChampVide(fo)=1);
Clu[pos].fonds?fo;
};
Cas 7: {
gestionClubs();
};
Cas 8: {
menuPrincipal();
};
Sinon
Afficher("Mauvais choix");
FinSinon
FinSelon
FRJ
Jusqu'�(ch>=1 ou ch<=9);
FinSi
Sinon
Afficher("Entraineur introuvable");
FinSinon
FinProc�dure
Proc�dure enregistrerArbitres

finsi
retourne s ;
finfonction
Fonction testFond(fond[2] : Cha�ne): entier

Fonction testQteclub(club[12] : Cha�ne): entier


Debut
Var t 0 :entier;
Si (nbc<>10) alors
t 1 ;
affcher(��le nombre d��quipe doit etre 10 ��) ;
finsi
retourne t ;
finfonction
Fonction menugestionEntraineurs (): entier
Debut
Var nb :entier;
Afficher(��--- Menu gestion entraineur---��) ;
Afficher(��1. Enregistrer Entraineurs��) ;
Afficher(��2. Afficher info Entraineurs��) ;

Vous aimerez peut-être aussi