1.
Calculatrice avancée
Concepts couverts : Fonctions, structures conditionnelles, boucles, pointeurs.
• Créez une calculatrice capable de :
o Ajouter, soustraire, multiplier, diviser.
o Calculer la puissance (x^y) et la factorielle.
• Implémentez les fonctionnalités dans des fonctions séparées.
• Bonus : Gérer les erreurs (par exemple, division par zéro).
2. Gestionnaire de fichiers
Concepts couverts : Fichiers, pointeurs, chaînes, structures.
• Créez un programme pour gérer une liste de contacts :
o Les données de chaque contact incluent : nom, numéro, email.
o Les données sont stockées dans un fichier texte.
• Fonctions :
o Ajouter un contact.
o Supprimer un contact.
o Rechercher un contact.
o Afficher tous les contacts.
3. Analyse des données d'un capteur
Concepts couverts : Tableaux, gestion de mémoire, fichiers, structures.
• Simulez des données de capteur (par exemple, des valeurs de température).
• Tâches :
o Lire les données à partir d’un fichier.
o Calculer les statistiques : moyenne, minimum, maximum, écart-type.
o Enregistrer les résultats dans un autre fichier.
• Bonus :
o Implémentez un filtre passe-bas pour lisser les données.
4. Jeu du pendu
Concepts couverts : Chaînes de caractères, boucles, conditions.
• Implémentez le jeu classique du pendu :
o Choisissez un mot aléatoire dans une liste.
o Permettez au joueur de deviner les lettres.
o Affichez les tentatives restantes et les lettres déjà devinées.
5. Système de réservation
Concepts couverts : Structures, tableaux, gestion de fichiers.
• Créez un système pour gérer la réservation de places dans une salle :
o Stockez les informations sur les places dans un tableau de structures
(numéro de place, état réservé ou libre).
o Permettez à l'utilisateur de :
▪ Afficher les places disponibles.
▪ Réserver une place.
▪ Libérer une place.
▪ Sauvegarder l'état des places dans un fichier.
6. Simulateur de gestion mémoire
Concepts couverts : Pointeurs, mémoire dynamique, algorithmes.
• Implémentez un simulateur simplifié de gestion de mémoire :
o Simulez l'allocation (malloc) et la libération (free) de blocs de mémoire.
o Maintenez une liste de blocs libres et occupés.
o Affichez l’état actuel de la mémoire après chaque opération.
7. Tri d’un tableau avec des algorithmes personnalisés
Concepts couverts : Tableaux, fonctions, pointeurs.
• Implémentez plusieurs algorithmes de tri :
o Bubble sort.
o Quick sort.
o Merge sort.
• Permettez à l’utilisateur de choisir quel algorithme utiliser.
• Affichez le nombre de comparaisons et d'échanges effectués par chaque
algorithme.
8. Mini base de données
Concepts couverts : Structures, pointeurs, fichiers, fonctions avancées.
• Créez une mini base de données pour stocker les informations sur des
étudiants :
o Champs : ID, nom, âge, notes.
• Implémentez les fonctionnalités suivantes :
o Ajouter un étudiant.
o Modifier les informations d’un étudiant.
o Supprimer un étudiant.
o Rechercher un étudiant par ID.
o Afficher les étudiants triés par nom ou par moyenne.
9. Analyseur de texte
Concepts couverts : Chaînes, fichiers, structures de données.
• Écrivez un programme pour analyser un fichier texte :
o Comptez le nombre de mots, de lignes et de caractères.
o Trouvez les mots les plus longs et les plus fréquents.
• Bonus :
o Implémentez une fonction pour rechercher des mots spécifiques dans le
texte.
10. Jeu Snake (Console)
Concepts couverts : Tableaux, boucles, conditions, structures.
• Développez une version console du jeu Snake :
o Affichez la grille et le serpent à l'écran.
o Permettez au joueur de contrôler le serpent avec les touches
directionnelles.
o Gérez les collisions avec les murs ou avec le corps du serpent.
o Ajoutez des bonus (par exemple, des fruits à ramasser).
11. Simulation d'un système bancaire
Concepts couverts : Structures, fichiers, mémoire dynamique, algorithmes.
• Implémentez un système bancaire simplifié :
o Gérez des comptes bancaires avec des opérations de dépôt, de retrait et
de transfert.
o Enregistrez toutes les transactions dans un fichier.
o Affichez les relevés de compte.
• Bonus :
o Implémentez une authentification par mot de passe pour chaque
compte.
12. Calcul des chemins dans un graphe
Concepts couverts : Structures de données, pointeurs, algorithmes.
• Implémentez un programme pour résoudre le problème des plus courts
chemins :
o Utilisez l’algorithme de Dijkstra ou de Floyd-Warshall.
o Les données du graphe sont lues à partir d’un fichier (liste d'adjacence ou
matrice d’adjacence).
• Bonus :
o Affichez le chemin parcouru pour chaque paire de sommets.
13. Serveur de discussion simplifié
Concepts couverts : Programmation réseau, threads, structures, fichiers.
• Développez un serveur multi-clients en utilisant des sockets :
o Le serveur doit permettre à plusieurs utilisateurs de discuter en temps
réel.
o Implémentez la gestion des threads pour gérer plusieurs connexions.
• Bonus :
o Ajoutez une fonctionnalité d’historique de discussion.