Académique Documents
Professionnel Documents
Culture Documents
Antonio Tavares
Pénalité de retard: Chaque jour de retard entraînera une pénalité de 5 points (sur 20 points) par
jour.
Note: Le travail en équipe de deux (au maximum) est permis. Vous ne remettez alors qu'un
travail par équipe.
Barème: corrigé sur 20 points.
Conseil amical: N’attendez la semaine précédant la remise avant de commencer... vous n’aurez pas
le temps!
Assurez-vous d’avoir écrit vos coordonnées (nom et code d’usager) ainsi que ceux de votre
coéquipier (s’il y a lieu) en commentaires au début de chaque programme. Les équipes de 2
personnes ne doivent remettre qu’une seule copie du T.P.
Les équipes de 3 étudiants et plus sont interdites.
Remise électronique:
Remettez vos fichiers sources pour vos programmes.
1
Objectifs :
Objets, classes et héritage, String, tableaux, diagramme de classes en UML et révision des
concepts acquis en ift1870.
Implémentation d’un mini système bancaire
Il s’agit d’implémenter un mini système bancaire. Ce système bancaire se compose d’une banque
qui possède un certain nombre de clients. Chaque client possède un ou plusieurs comptes dans cette
banque.
La banque possède un guichet auprès duquel il est possible de réaliser les actions suivantes :
Enregistrer un nouveau client (définir ses attributs : numéro, nom, prénom (classe
Personne), adresse (classe Adresse : numéro civique, rue, ville, code postal) , numéro de
téléphone, date de naissance (classe Date), sexe, état civil, nip. En plus le numéro du
compte et le solde.
Radier un client existant
Ouvrir un nouveau compte à un client (classe Compte_Client)
Fermer le compte d’un client
Consulter le compte d’un client
Effectuer une opération sur le compte d’un client
Les opérations qu’il est possible de réaliser sur un compte sont les suivantes :
De plus cette banque possède un distributeur bancaire dans laquelle chaque client peut grâce à
une carte à puce (numéro du client) et à un code confidentiel retirer de l’argent (classe Distributeur :
un distributeur classique tel qu’on peut en rencontrer partout). Les données sont conservés dans un
Vector et toute la gestion se fera à partir de celui-ci.
Travail à réaliser
Analyser le projet en terme de classes. Attention, la programmation orientée objets étant un style
de programmation très structuré, il est indispensable d’avoir correctement identifié les
différentes classes avec leurs attributs et méthodes
Implémenter les différentes classes en respectant la modularité du projet.
Le programme principale (classe Gestion_Bancaire (avec le main) possédera lui-même une
petite interface (menu) pour pouvoir lancer le guichet ou le distributeur.
2
Critères de correction du TP1
Non fonctionnel 50% (en partant)
Sinon :
Utilisation des conditions et boucles (if, switch,while etc) 10%
Valider les données 10%
Utilisation des classes, héritage, composition, Vector 60%
Formats des écrans de sortie 10%
Commentaires et présentation générale 10%
ANNEXE
Classe Vector
La classe Vector permet de créer et de manipuler des tableaux d'objets dynamiques. La dimension
du tableau peut en effet varier automatiquement quand on y insère de nouveaux éléments. Pour des
raisons d'efficacité, il est conseillé d'accroître sa taille avant l'ajout d'un nombre important
d'éléments afin de limiter les réallocations mémoire au minimum. Il n'y a pas de restrictions sur la
nature des objets (on peut même mélanger des objets différents dans un Vector).
Les constructeurs sont Vector( ) qui crée un tableau vide de dimension nulle, Vector(int nb) qui crée
un tableau vide de dimension nb et Vector(int nb, int inc) qui crée un tableau vide de dimension nb
et dont la taille augmente de inc à chaque fois que la taille maximum est atteinte.
Il n'est pas possible de stocker de nombres dans un vecteur mais il est possible de stocker des
instances des classes Integer, Double ... car ce sont des objets.
3
De la classe Vector dérive la classe Stack qui implémente une pile d'objets. La méthode push( )
place un objet sur le haut de la pile, pop( ) supprime l'objet situé sur le haut de la pile et la méthode
peek( ) retourne l'objet situé sur le haut de la pile sans l'enlever.
FIN DE L'ÉNONCÉ