Programmation C++/Les structures/Exercices

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche


Exercices sur les structures[modifier | modifier le wikicode]

EXERCICE 1[modifier | modifier le wikicode]

a) Écrire une structure fraction composée de 2 entiers : un numérateur et un dénominateur.
b) Écrire une fonction pgcd de 2 entiers positifs.
c) Écrire une fonction normalise qui normalise une fraction de la manière suivante :
- le numérateur et le dénominateur doivent être premier entre eux
- le dénominateur est positif
d) Écrire une fonction saisir qui permet de saisir une fraction.
e) Écrire une fonction affiche qui affiche une fraction.
f) Écrire une fonction somme qui calcule la somme de 2 fractions. Le résultat doit être normalisé.
g) Écrire 3 autres fonctions : différence, multiplie et divise comme au f)
h) Écrire un programme qui permet de saisir les fractions A, B, D, E et F et qui calcule (A+B)/(D-E*F) .
Le résultat sera affiché à l’écran.

EXERCICE 2[modifier | modifier le wikicode]

On veut gérer des produits dans un entrepôt. Un produit est défini par 2 chaînes de caractères : le code produit ("H567" par exemple et qui comporte au maximum 9 caractères utiles), l'intitulé ("pots de peinture" et qui comporte au maximum 99 caractères utiles) et un entier qui indique la quantité en stock (803 par exemple). Il faut gérer une liste de produits en veillant à ce qu'il n'y ait pas deux produits avec le même code produit. Bien sûr la quantité en stock ne peut pas être négative. La liste comportera au maximum 100 produits.
Il faut gérer la liste grâce au menu suivant :
1. Ajouter un produit (on tape le code produit et l'intitulé, la quantité est initialisée à 0).
2. Afficher la liste de produits.
3. Supprimer un produit en tapant le code produit.
4. Acheter un produit en tapant le code produit et la quantité achetée.
5. Vendre un produit en tapant le code produit et la quantité vendue.
6. Quitter

On veillera à bien décomposer ce problème en différents modules et à mener une réflexion sur les fonctions nécessaires dans chaque module.

EXERCICE 3[modifier | modifier le wikicode]

On veut écrire un programme qui permet de gérer une liste de disques. Un disque est défini par un code référence (une chaîne de caractères par exemple "H345"), nom de chanteur, un nom de chanson et prix. Le code référence fera au maximum 9 caractères utiles, le titre du disque et le nom du chanteur feront au maximum 99 caractères utiles.
On veut gérer une liste de disques grâce au menu suivant :

1. Ajouter un disque à la liste.
2. Afficher la liste.
3. Supprimer un disque grâce à son code référence.
4. Afficher tous les disques d'un chanteur donné.
5. Afficher tous les disques ayant un titre donné.
6. Quitter
On veillera à bien décomposer ce problème en différents modules et à mener une réflexion sur les fonctions nécessaires dans chaque module.