Tous les projets

Mobile, desktop & console

Football Tournament Manager · C++20

Une application console C++20 qui gère un tournoi de football, de l’inscription des équipes au classement final, avec des règles métier vérifiées.

  • Projet individuel
classes métier
5
phases : groupes et finales
2
avec CMake et la STL
C++20

01Le point de départ

Contexte & mission

Le problème

Un tournoi, c’est beaucoup de règles : capacité, effectifs minimum, phases, points, classements. En C++, il faut en plus gérer soi-même la mémoire.

La mission

Modéliser un tournoi complet en objets, avec des règles vérifiées et un cycle de vie des objets maîtrisé.

Mon rôle

Projet conçu et développé seul.

02Réalisation

Ce que j’ai fait

  1. Modèle objet

    Cinq classes (Tournoi, Equipe, Arbitre, Terrain, Match), déclarations et implémentations séparées.

  2. Ressources du tournoi

    Inscription et recherche des équipes (identifiant, nom, ville, score, classement), des arbitres par code et des terrains (ville, propriétaire, capacité).

  3. Matchs et phases

    Phases de groupes puis phases finales, scores enregistrés, points attribués et classement recalculé automatiquement.

  4. Règles et mémoire

    Effectif minimum et prérequis vérifiés avant le coup d’envoi ; allocation et libération explicites de la mémoire des matchs.

03Conception

Architecture

La classe Tournoi coordonne tout : configuration, participants, matchs et classements, pilotés depuis un menu console. Build avec CMake.

Le déroulé d’un tournoi
  1. ConfigurationNom · date · capacité
  2. InscriptionsÉquipes · arbitres · terrains
  3. Phase de groupes
  4. Phases finales
  5. ClassementRecalcul automatique

04Impact

Résultats

  • Un tournoi complet géré de bout en bout en console.
  • Des règles métier vérifiées avant chaque étape.

05Bilan

Ce que j’en retiens

Ce que ce projet démontre

Encapsulation, structures de données et cycle de vie des objets, sans ramasse-miettes pour rattraper les erreurs.

06Technologies

Stack complète

  • C++20
  • CMake
  • STL
  • OOP