0% ont trouvé ce document utile (0 vote)
9 vues2 pages

Enonce TD 5

Le document présente trois exercices de programmation en C, chacun axé sur la gestion de structures de données. Le premier exercice concerne un catalogue de produits, le second la gestion d'étudiants avec des calculs statistiques, et le troisième un système de gestion d'employés avec des dates. Chaque exercice inclut des parties sur la déclaration de structures, la manipulation de données, et la création de menus interactifs.

Transféré par

amalchaaleli2
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
9 vues2 pages

Enonce TD 5

Le document présente trois exercices de programmation en C, chacun axé sur la gestion de structures de données. Le premier exercice concerne un catalogue de produits, le second la gestion d'étudiants avec des calculs statistiques, et le troisième un système de gestion d'employés avec des dates. Chaque exercice inclut des parties sur la déclaration de structures, la manipulation de données, et la création de menus interactifs.

Transféré par

amalchaaleli2
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

### **Exercice 1 : Gestion d’un catalogue de produits**

**Objectif** : Manipuler une structure simple et utiliser des fonctions pour gérer un tableau de
produits.

#### **Partie 1 : Déclaration et initialisation**


1. Définissez une structure `Produit` contenant les champs suivants :
- `id` (entier) : identifiant unique du produit.
- `nom` (tableau de 50 caractères) : nom du produit.
- `prix` (flottant) : prix unitaire.
- `stock` (entier) : quantité disponible en stock.

2. Déclarez un tableau global de 10 `Produit` et initialisez-le avec des valeurs par défaut (exemple :
`{ {1, "Laptop", 999.99, 5}, ... }`).

#### **Partie 2 : Fonctions de manipulation**


3. Écrivez une fonction `afficherProduit` qui prend un `Produit` en argument et affiche ses détails.
4. Écrivez une fonction `afficherCatalogue` qui parcourt le tableau et affiche tous les produits.
5. Écrivez une fonction `rechercherProduit` qui demande un `id` à l’utilisateur et affiche le produit
correspondant (ou un message d’erreur si non trouvé).

#### **Partie 3 : Modification interactive**


6. Écrivez une fonction `modifierPrix` qui demande un `id` et un nouveau prix, puis met à jour le
produit.
7. Écrivez une fonction `ajouterStock` qui augmente le stock d’un produit sélectionné par son `id`.

#### **Partie 4 : Menu principal**


8. Créez un menu interactif avec les options :
- `1. Afficher le catalogue`
- `2. Rechercher un produit`
- `3. Modifier le prix d’un produit`
- `4. Ajouter du stock`
- `5. Quitter`

---

### **Exercice 2 : Gestion d’étudiants avec calculs statistiques**


**Objectif** : Utiliser un tableau de structures et implémenter des calculs avancés.

#### **Partie 1 : Déclaration et saisie**


1. Définissez une structure `Etudiant` contenant :
- `nom` (tableau de 30 caractères).
- `notes` (tableau de 5 flottants, représentant 5 matières).
- `moyenne` (flottant, calculée automatiquement).

2. Déclarez un tableau de 5 `Etudiant` et remplissez-le via une fonction `saisirEtudiants`.

#### **Partie 2 : Calculs et affichage**


3. Écrivez une fonction `calculerMoyenne` qui met à jour la moyenne de chaque étudiant.
4. Écrivez une fonction `afficherEtudiants` qui affiche tous les étudiants avec leur moyenne.
5. Écrivez une fonction `meilleurEtudiant` qui retourne l’étudiant avec la meilleure moyenne.

#### **Partie 3 : Statistiques avancées**


6. Écrivez une fonction `moyenneClasse` qui calcule la moyenne générale de la classe.
7. Écrivez une fonction `rechercherEtudiant` qui affiche les détails d’un étudiant à partir de son
nom.

#### **Partie 4 : Menu interactif**


8. Créez un menu avec les options :
- `1. Afficher tous les étudiants`
- `2. Afficher le meilleur étudiant`
- `3. Afficher la moyenne de la classe`
- `4. Rechercher un étudiant`
- `5. Quitter`

---

### **Exercice 3 : Système de gestion d’employés avec dates**


**Objectif** : Utiliser des structures imbriquées et des opérations sur dates.

#### **Partie 1 : Structures imbriquées**


1. Définissez une structure `Date` avec `jour`, `mois`, `annee` (entiers).
2. Définissez une structure `Employe` contenant :
- `nom` (tableau de 30 caractères).
- `salaire` (flottant).
- `dateEmbauche` (de type `Date`).

3. Déclarez un tableau de 5 `Employe` et initialisez-le avec des valeurs par défaut.

#### **Partie 2 : Affichage et recherche**


4. Écrivez une fonction `afficherEmploye` qui affiche un employé avec sa date d’embauche (format
`JJ/MM/AAAA`).
5. Écrivez une fonction `afficherEquipe` qui affiche tous les employés.
6. Écrivez une fonction `rechercherEmploye` qui recherche par nom et affiche le résultat.

#### **Partie 3 : Ancienneté et augmentation**


7. Écrivez une fonction `anciennete` qui calcule le nombre d’années depuis l’embauche.
8. Écrivez une fonction `augmenterSalaire` qui applique une augmentation de 5% aux employés
ayant plus de 5 ans d’ancienneté.

#### **Partie 4 : Menu principal**


9. Créez un menu avec les options :
- `1. Afficher tous les employés`
- `2. Rechercher un employé`
- `3. Calculer l’ancienneté d’un employé`
- `4. Appliquer une augmentation`
- `5. Quitter`

---

### **Remarques pour tous les exercices**


- **Validation des entrées** : Assurez-vous que les saisies utilisateur sont valides (ex : pas de notes
négatives).
- **Modularité** : Décomposez le code en petites fonctions réutilisables.
- **Affichage clair** : Formatez correctement les sorties (ex : prix avec 2 décimales).

Vous aimerez peut-être aussi