Vous êtes sur la page 1sur 2

TD – Structure des données

Programmation avancée – 2AP

Exercices supplémentaires
Les structures - Semestre 1

Exercice 1
Un joueur est caractérisé par un nom, un prénom, un émail, et un âge, poste de type chaine de
caractères (ça peut être défense, attaquant, milieu, ailier droit, ailier gauche, ou gardien).
Une équipe est caractérisée par un nom, un nom de l’entraîneur, un tableau dynamique de joueurs,
et une variable taille de type int (il s’agit de la taille du tableau).
Un matche est caractérisé par deux variables equipe1 et equipe2 de type Equipe, et deux variables
ScoreEquipe1 et ScoreEquipe2 qui stockent le nombre de buts marqués par chaque équipe.

1- Définir les types Joueur, Equipe, Matche.


2- Définir une fonction qui prend comme paramètre une équipe et un nom de joueur. La fonction
cherche dans le tableau de joueurs de l’équipe, s’il existe un joueur ayant le nom passé comme
paramètre et retourne 1 ; sinon elle retourne -1 ;
int chercherJoueur ( Equipe Eqp, char* nom)
3- Définir une fonction qui prend comme paramètre un tableau de joueurs, la taille du tableau, et
un entier n (passé par adresse). La fonction doit retourner un nouveau tableau contenant
uniquement les joueurs qui occupent soit le post défense, soit attaquant. La taille du tableau
retourné doit être enregistrer dans la variable n ;
Joueur* getJoueurs(Joueurs* tab, int taille, int *n)
4- Définir une fonction qui prend comme paramètre un tableau des matches et la taille du tableau.
La fonction doit afficher le nom des équipes qui ont marqué au moins deux buts dans leur
matche. On néglige les occurrences.
void afficherEquipe (Matche *tab, int taille)
5- Définir une fonction qui prend comme paramètre une équipe E et un joueur J. La fonction doit
ajouter le joueur J au tableau des joueurs de l’équipe E. Sachant que :
 On considère que le tableau des joueurs dans l’équipe E est trié selon l’ordre
alphabétique du nom des joueurs ;
 Il n’existe pas de joueurs qui ont le même nom ;
Il faut retourner la variable E à la fin.
Equipe trier (Equipe E, Joueur R)
TD – Structure des données
Programmation avancée – 2AP

Exercice 2
L’objectif est de créer une application qui gère les produits et les commandes.
On considère les structures suivantes :

- Un produit est caractérisé par : une référence (char*), un nom (char*), un prénom (char*),
un prix (float), une quantité en stocke (int), et une catégorie (char*). La variable catégorie
peut contenir : cosmétique, nourriture, autres;
- Une ligne de commande est caractérisée par une variable de type Produit, et une quantité
(int) qui est la quantité commandée ;
- Une commande est caractérisée par : un numéro (int), une date (exprimée en jours, mois,
et année), un tableau dynamique de type ligne de commande, et un entier contenant le
nombre de lignes de commande.
1. Définir les structures :
 Date
 Produit
 LigneCommande
 Commande

2. Définir une fonction qui prend comme paramètre un tableau dynamique de produit TAB, la
taille de tableau, et une variable PRD de type Produit, La fonction ajoute le produit PRD à la
fin du tableau TAB.
Produit* ajouter (Produit* TAB, int *n, Produit PRD)

3. Définir une fonction qui prend comme paramètre un tableau dynamique de produit TAB, la
taille du tableau, et une référence REF. La fonction retourne 1 s’il existe un produit dans TAB
ayant la référence REF, -1 sinon.
int chercher (Produit* TAB, int n, char* REF)

4. Définir une fonction qui prend comme paramètre une commande CMD, et retourne le nombre
des produits commandés qui font partie de la catégorie passée comme paramètre.
int compterCosmetique (Commande CMD, char *catégorie)

5. Définir une fonction qui prend comme paramètre un tableau des commandes et sa taille. La
fonction doit retourner un tableau des commandes dont le nombre des produits achetés dans
la catégorie cosmétique est supérieur à 5. La taille du tableau retourné doit être stocké dans la
variable taille2.
Commande* getCommandes (Commande* tab, int taille, int *taille2)

6. Définir une fonction qui prend comme paramètre une commande et retourne un tableau des
produits qui appartient à la catégorie nourriture. La taille du tableau retourné doit être stocké
dans la variable taille.
Produit* getNourriture (Commande cmd, int taille)

Vous aimerez peut-être aussi