Vous êtes sur la page 1sur 3

OFPPT

Office de la Formation Professionnelle et de la Promotion du Travail

Examen de Passage
Session Juin 2008

Filière : TDI
Epreuve : Pratique
Niveau : Technicien Spécialisé
Durée   : 4 h 15 Barème : 40 Pts

Variante 8
Important :

 Vous avez le choix d’utiliser un des langages suivants (C ++, Pascal, JAVA, Vb en mode consol) 
 Le choix da la technologie utilisée dépend de votre spécialisation (JAVA ou .NET)
 Le SGBDR utilisé est SQLSERVER ou ORACLE
 Organiser vos travaux dans des dossiers portant le nom de chaque partie
 Choisir les structures de stockage de données

 Partie 1   : Programmation structurée (8 pts)

Faire un programme permettant d’éditer une facture pour les clients. Les produits sont à
définir avec leurs prix dans un tableau.

Une fois le client choisi les produits, le programme calculera la somme Hors Taxe en
fonction de la quantité de chaque produit et le montant total TTC à payer en ajoutant
20% de la somme hors taxe.

Le programme doit :
 Demander le nom du client avant de commencer d’éditer la facture
 Contrôler le prix du produit (>0dh)
 Ajouter autant de produits
 Définir un menu de démarrage d’ajout de produits et calcul de la somme à payer

 Partie 2   : Programmation orientée objet (17 pts)  

A la création d’un compte bancaire par un client (CIN, Nom, Prenom, Adresse,
Fonction). On distinguera deux types de comptes, les comptes courants et les comptes
d’épargnes qui seront implémentés par deux classes distinctes CompteCourant et
CompteEpargne dérivant toutes les deux d’une même classe abstraite Compte. Les
comptes épargnes ont un montant minimal qui sera représenté par un champ
depotMinimal fixé à 300 dhs par mois.

Page 1/3
Dans la classe abstraite Compte, les champs seront :
- Un client cl de type client
- Un entier numero représentant le numéro du compte.
- Un entier long montant représentant le montant du compte.

Chaque nouveau client devra avoir un numéro de compte différent et un même client
peut avoir plusieurs comptes.

1. Créer la classe Client (2 Pts)


2. Créer les classe compte, CompteCourant et CompteEpargne (3 Pts)
3. Ajouter une méthode qui permet d’afficher un compte. On affichera pour chaque
compte, la personne, le numéro du compte et son type (courant ou épargne), puis
le montant. (2 Pts)
4. Créer les différents constructeurs (constructeur par défaut, constructeur
d’initialisation) (1 Pt)
5. Créer un vecteur permettant de stocker un compte (2 Pts)
6. Créer une méthode permettant le retrait d’un compte courant (1 Pt)
7. Créer une méthode permettant le dépôt dans un compte courant (1 Pt)
8. Ajouter une Exception qui interdit le retrait si le montant demandé est supérieur
au solde (1,5 Pts)
9. Ajouter un programme de recherche d’un compte (1,5 Pts)
10. Ajouter un programme qui affiche la liste des comptes d’épargne (1 Pt)
11. Ajouter un programme qui permet d’afficher le solde d’un compte
d’épargne (1 Pt)

 Partie 3   : Programmation Evénementielle (15 pts)

Proposer une interface permettant de faciliter la gestion des comptes de la partie 2 :

1. Ajout d’un client avec le contrôle de saisie et récupération de la date


d’enregistrement, un client ne doit être enregistré qu’une seule fois (2,5 Pts)
2. Ouverture d’un type de compte pour un client (2,5 Pts)
3. Modifier les données d’un client (1,5 Pts)
4. Supprimer un compte client, la suppression ne doit etre accépter que si le
solde du compte est 0 (2 Pts)
5. Afficher la liste des CompteCourant (1,5 Pts)
6. Afficher la liste des CompteEpargne (1 Pt)
7. Rechercher un client et afficher ces comptes avec leurs soldes (2 Pts)
8. Ajouter un fonction permettant le dépôt d’un montant x (1 Pt)

Page 2/3
9. Ajouter un fonction permettant le retrait d’un montant y, le retrait n’est
accepté que si le solde est supérieur au montant du retrait (1 Pt)

Page 3/3