Académique Documents
Professionnel Documents
Culture Documents
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 ;
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();
�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 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
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