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

Enonce TD-6

Le document présente des exercices avancés sur la gestion d'inventaire, des employés et des réservations de salles en C. Chaque exercice demande la création de structures et de fonctions spécifiques pour gérer les données, tout en posant des questions sur l'optimisation et la gestion des accès concurrents. Les exercices visent à renforcer la compréhension des structures imbriquées, des énumérations et des problématiques d'optimisation mémoire dans un contexte professionnel.

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)
21 vues2 pages

Enonce TD-6

Le document présente des exercices avancés sur la gestion d'inventaire, des employés et des réservations de salles en C. Chaque exercice demande la création de structures et de fonctions spécifiques pour gérer les données, tout en posant des questions sur l'optimisation et la gestion des accès concurrents. Les exercices visent à renforcer la compréhension des structures imbriquées, des énumérations et des problématiques d'optimisation mémoire dans un contexte professionnel.

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

# TD : Structures et Énumérations en C (Niveau Avancé)

## Exercice 1 : Gestion d'un inventaire professionnel

**Contexte :**
Vous devez développer un module de gestion d'inventaire pour un système de stockage
professionnel. Chaque article possède des caractéristiques techniques et des informations de suivi.

**Problème :**
1. Créez une structure `Article` comprenant :
- Un identifiant unique (entier)
- Un nom (chaîne de 50 caractères)
- Une quantité en stock (entier)
- Un prix unitaire (flottant)
- Une date de dernière mise à jour (sous-structure `Date` avec jour, mois, année)
- Un statut (énumération avec valeurs : DISPONIBLE, RUPTURE, COMMANDE)

2. Implémentez les fonctions :


- `ajouterArticle()` qui permet de saisir un nouvel article
- `afficherArticles()` qui liste tous les articles avec leurs détails
- `mettreAJourStatut()` qui modifie le statut d'un article selon son ID

**Questions avancées :**


- Comment optimiseriez-vous la gestion mémoire pour un inventaire de 10 000 articles ?
- Quelle structure de données utiliseriez-vous pour un accès rapide par ID ?
- Comment géreriez-vous les accès concurrents dans une application multi-thread ?

## Exercice 2 : Système de gestion d'employés

**Contexte :**
Développez un système RH pour gérer les employés d'une entreprise avec leurs compétences,
salaires et historique.

**Problème :**
1. Définissez une structure `Employe` contenant :
- ID (entier)
- Nom complet (structure avec nom, prénom)
- Poste (énumération : DEV, MANAGER, RH, etc.)
- Salaire (flottant)
- Compétences (tableau de chaînes)
- Années d'ancienneté (entier)

2. Créez une structure `Equipe` contenant :


- Nom de l'équipe
- Tableau d'employés
- Manager (pointeur vers un employé)

3. Implémentez :
- Une fonction pour calculer la masse salariale d'une équipe
- Une fonction pour trouver l'employé le plus ancien
- Une fonction pour promouvoir un employé (changement de poste et salaire)
**Questions avancées :**
- Comment implémenteriez-vous une hiérarchie managériale complexe ?
- Quelle solution proposez-vous pour gérer les compétences dynamiquement ?
- Comment optimiseriez-vous les recherches d'employés par critères ?

## Exercice 3 : Système de réservation de salles

**Contexte :**
Concevez un système de réservation de salles de réunion pour une entreprise.

**Problème :**
1. Définissez :
- Une structure `Salle` avec numéro, capacité, équipements (énumération : VIDEO, TABLEAU,
etc.)
- Une structure `Reservation` avec salle (pointeur), horaire (sous-structure), organisateur
- Une structure `Calendrier` contenant un tableau de réservations

2. Implémentez :
- Une fonction pour vérifier la disponibilité d'une salle à un créneau donné
- Une fonction pour ajouter/modifier une réservation
- Une fonction pour lister toutes les réservations d'un jour
- Une fonction pour trouver la salle la plus adaptée à un nombre de participants

3. Ajoutez un système de conflits avec énumération : CONFLIT_HORAIRE, CAPACITE, etc.

**Questions avancées :**


- Comment géreriez-vous les réservations récurrentes ?
- Quelle structure de données serait la plus efficace pour les recherches temporelles ?
- Comment implémenteriez-vous une persistance des données entre les exécutions ?

**Note pour l'enseignant :**


Ces exercices permettent d'aborder :
- Les structures imbriquées
- Les énumérations complexes
- La gestion de pointeurs
- Les problématiques d'optimisation mémoire
- Les cas réels du monde professionnel
- Les choix d'architecture logicielle

Vous aimerez peut-être aussi