• Aucun résultat trouvé

Entrées/sorties

N/A
N/A
Protected

Academic year: 2022

Partager " Entrées/sorties "

Copied!
2
0
0

Texte intégral

(1)

Entrées/sorties

Dans ce TP on s’intéressera au système de facturation d'une société. Cette société établit des factures numérotées (en incrémentant partant de 1 et en réinitialisant à 1 le 1er janvier de chaque année) et datées, comprenant le nom du client, le prix total de la commande et, pour chaque article commandé, sa référence, son prix unitaire, le nombre d’articles commandés et le prix total pour cet article.

1) Commencez par élaborer le diagramme des classes pour ce système de facturation.

Vous écrirez ensuite une classe TestFacture qui affiche une facture pour

• 10 stylos (choisissez ses caractéristiques)

• 15 ramettes de papier

• 2 lots de 5 stylos (différents des 10 stylos) et une autre facture pour

• 3 stylos

• 2 ramettes

pour 2 clients différents.

Le programme créera tous les objets nécessaires à l'affichage des 2 factures. Une facture s'affichera sur le modèle suivant (on ne demande pas d'affiner davantage le format d'affichage mais si vous pouvez faire mieux, n'hésitez pas !) :

--- Facture 12345 Client: Toto Date: 10 novembre 2012

Quant. Ref. Nom Marque PU PT 10 s1 Stylo Jade Watertruc 76.0 760.0 15 r1 Ramette haute qualité Clairefont 14.0 210.0 2 l1 Lot de 5 Stylo Marker 686.0 1372.0 Prix total facture : 2342.0 euros

---

2) Commencer par implémenter des méthodes load et save qui permettent de lire ou écrire les objets créés depuis ou vers un fichier texte :

save(String filename) {...}

load(String filename) {...}

Ces méthodes permettront de charger/écrire les attributs d'un stylo rouge par exemple dans un fichier stylo_rouge.txt.

(2)

3) Modifier le programme pour sauvegarder le contenu d'une facture dans un fichier sur le disque. Ce fichier pourrait être utilisé ultérieurement pour imprimer une facture, l'éditer,...

On adoptera le format suivant :

--- numero:12345||

Client:Toto||

Date:10-11-2012||

10|s1|Stylo Jade|Watertruc|76.0|760.0||

15|r1|Ramette haute qualité|Clairefont|14.0|210.0||

2|l1|Lot de 5 Stylo|Marker|686.0|1372.0||

---

4) Utilisez les techniques de sérialisations des objets étudiées en cours pour sauver/relire une facture.

5) Comparer les deux méthodes de sauvegarde.

6) Pour ceux qui veulent aller plus loin, modifiez votre programme pour lire deux factures à partir de deux fichiers, tester s'il s'agit du même client, et fusionner les deux factures.

Références

Documents relatifs

– mode ne doit contenir que des droits d’accès – on ne peut détruire qu’un répertoire vide.

Aide : Se demander de combien de valeurs on a besoin puis déterminer combien de valeurs peuvent être obtenues avec 6, 8 ou 10

 Il envoie un signal sur la ligne d'occupation pour préciser que le bus est

Les entrées sont les données envoyées par un périphérique (disque, réseau, clavier…) à destination de l'unité centrale ;.. • Les sorties sont les données émises par

7 Un process impose les contraintes temps réel suivantes : temps de latence <1000µs et temps séparant 2 événements consécutifs >2ms.. On choisira le mode d'

● Retourne le nombre de caractères lus et placés dans le CharBuffer cb, ou -1 si le Readable n'a plus rien à

– Le dernier appel à encode(), avec endOfInput à true, a renvoyé un CoderResult tel que isUnderflow() soit true (plus rien à lire). – Il faut faire flush() pour terminer le

Test d’une seule entrée : la technique consiste à effectuer un « masquage » (ET logique bit par bit) du registre d’entrée (pour neutraliser l’état des autres entrées), puis à