Laboratoire 9 - Structures et données
Sommaire
Produit
readLine
Écrivez une routine readLine
qui:
- Alloue
a0
octets dans le tas, - Lit son contenu avec
readString
(maximuna0
octets). - Retourne l’adresse de la chaîne,
readProduit
Écrivez une routine readProduit
(sans argument) qui:
- Alloue un nouveau produit dans le tas.
- Demande à l’utilisateur sa description: utilisez
readInt
etreadLine
- Retourne l’adresse du produit.
Utilisation
- Lisez deux produits avec
readProduit
et affichez-les
Liste chainée
addLastProduit
- Implémentez
addLastProduit
qui ajoute un produit à la fin de la liste des produits
Attention à gérer correctement le cas de la liste vide.
Le retour de fold
foldlist
Implémentez une routine foldlist
qui prend en paramètre
a0
: l’adresse d’un maillon (ou0
pour une liste vide)a1
: le décalage du pointeur vers le maillon suivant (prNext
pour les produits par exemple)a2
: l’adresse d’une routine à appelera3
: une valeur initiale
foldlist
fonctionne comme fold
mais invoque la routine a2
sur les maillons successifs.
Utilisation de foldlist
Utilisez foldlist
pour réaliser les opérations décrites.
Pour ce faire, implémentez les routines auxiliaires nécessaires (a2
)
- Afficher la somme des prix des produits.
- Affichez tous les produits d’une liste.
- Afficher le produit le plus cher.