Vous êtes sur la page 1sur 2

UNIVERSITE DE CARTHAGE DEPARTEMENT

FACULTE DES SCIENCES DE BIZERTE INFORMATIQUE

Travail à rendre
Atelier de Programmation
GLSI/ SEIoT

La Fédération Internationale de l’Automobile (FIA) vous a demandé de développer une application


pour la gestion des courses de Formule 1 (F1).

Une saison de F1 est basée sur 6 Grands Prix, courses à bord de voitures monoplaces disputées sur
circuits. Durant la saison deux championnats sont organisés : un championnat mondial des pilotes et
un championnat mondial des constructeurs automobiles.

Chaque année, 10 constructeurs prennent part à la compétition en proposant deux pilotes. A l’issue
de chaque course, des points seront attribués aux 10 premiers pilotes et aussi à leurs écuries
respectives. Le système de points est le suivant :

1er : 25 points / 2ème : 18 points / 3ème : 15 points / 4ème : 12 points / 5ème : 10 points / 6ème : 8
points / 7ème : 6 points / 8ème : 4 points / 9ème : 2 points / 10ème : 1 point.

Un pilote est caractérisé par son nom et prénom, son pays, son écurie et le nombre de points qu’il a
accumulé durant la saison.

Une écurie est caractérisée par son nom, son pays et son nombre de points accumulé durant la
saison.

Un Grand Prix est défini par le nom du circuit, le nombre de tours, sa date et le classement final de la
course.

Le classement affichera le nom du pilote, le temps qu’il a effectué et sa nationalité.

On devra aussi pouvoir consulter à tout moment le classement mis à jour des pilotes et des
constructeurs.

Le classement des pilotes affichera le nom du pilote, son pays et le nombre total de ses points.

Le classement des constructeurs affichera le nom de l’écurie et le nombre total de ses points.

Votre application doit fournir les services suivants :

- Ajouter un pilote
- Mettre à jour le nombre de point des pilotes
- Supprimer un pilote
- Ajouter une écurie
- Mettre à jour le nombre de point des écuries
- Supprimer une écurie
- Ajouter un Grand Prix
- Mettre à jour un Grand prix en saisissant les résultats d’une course
- Supprimer un Grand Prix
- Afficher la liste des Grand Prix
- Afficher le classement d’une course
- Afficher le classement général des pilotes
- Afficher le classement général des constructeurs

1
UNIVERSITE DE CARTHAGE DEPARTEMENT
FACULTE DES SCIENCES DE BIZERTE INFORMATIQUE

Travail demandé :

Ecrire en langage C l’application décrite ci-dessus en proposant des menus de choix clairs et faciles à
utiliser. Prenez soin de bien définir vos structures de données (vous devez travailler avec les
tableaux).

Ajoutez toutes les fonctionnalités qui n’ont pas été demandées et qui vous semblent nécessaires.

Il est recommandé de suivre les étapes suivantes :

Etape 1 : Analyser le problème

1°/ Identifier les fonctionnalités que doit offrir votre application à l’utilisateur

Etape 2 : Concevoir la solution

2°/ Identifier les structures de données nécessaires pour votre application et créer les types
nécessaires que vous utiliserez dans la suite de votre application.

3°/ Donner l’architecture de l’application sous forme d’une arborescence de fonctions.

4°/ Identifier les signatures des fonctions dont vous aurez besoin pour développer votre application.

Etape 3 : Codage

5°/ Implémenter avec le langage C les fonctions identifiées à la question 3

6°/ Dans la fonction main, proposer un menu principal permettant de naviguer vers des écrans

Evaluation :

Il vous sera demandé de remettre

- Un rapport décrivant votre travail (1 page descriptive des choix effectués + le code source),
- Le programme sur support numérique, prêt à être exécuté.

La validation technique aura lieu en séance de TP (la date et les modalités vous seront
communiquées ultérieurement).

NB : les travaux identiques seront identifiés et sanctionnés par des zéros, sans aucune distinction.