Série 3 :
|
Préliminaires :Avant de commencer les exercices décrits dans cette série, créez le répertoire ~/Desktop/myfiles/cpp/serie16 et travaillez dans ce répertoire. IMPORTANT ! Concernant le projet, inscrivez officiellement par binômes ici avant la fin de la semaine prochaine. Exercice 0 : reprise de l'exemple du cours (Constructeurs/Destructeurs, niveau 0)Le but de cet exercice est de reprendre l'exemple du cours illustrant les différents constructeurs en utilisant comme support une classe Peluche. Cliquez ici si vous souhaitez faire cet exercice. Exercice 1 : apéritif (niveau 1)
Cet exercice correspond à l'exercice n°49 (pages 119 et 301) de l'ouvrage C++ par la pratique (3e édition,
PPUR).
Exercice n°5 du MOOC
Définir la classe int main() { Apero bic; cout << "Super !" << endl; bic.bis(); cout << "Non merci." << endl; return 0; } affiche le texte suivant : L'heure de l'apéro a sonné ! Super ! Encore une ? Non merci. À table ! Exercice 2 : un peu de douceur dans ce monde (niveau 1)
Cet exercice correspond à l'exercice n°50 (pages 119 et 301) de l'ouvrage C++ par la pratique (3e édition,
PPUR).
Exercice n°6 du MOOC
Dans un fichier poeme.cc définissez la classe int main () { Fleur f1("Violette", "bleu"); Fleur f2(f1); cout << "dans un cristal "; f2.eclore(); cout << "Donne un poème un peu fleur bleue" << endl << "ne laissant plus "; return 0; } affiche le texte suivant (inspiré d'un poème arabe du 5e siècle de l'hégire) : Violette fraichement cueillie Fragile corolle taillée dans un cristal veine de bleu Donne un poème un peu fleur bleue ne laissant plus qu'un simple souffle... qu'un simple souffle... Remarque : la solution n'est pas forcément unique. Exercice 3 : banque (niveau 3)
Exercice n°7 du MOOC
Le (très mauvais) programme banque1.cc dont le code est fourni ici, contient un programme bancaire qui est modularisé sous forme de fonctions. Transformez-le en programme orienté objet sous le nom de banque2.cc en suivant les étapes suivantes :
Exemple d'exécution du programme:Données avant le bouclement des comptes : Client Pedro de Genève Compte courant : 1000 francs Compte épargne : 2000 francs Client Alexandra de Lausanne Compte courant : 3000 francs Compte épargne : 4000 francs Données apres le bouclement des comptes : Client Pedro de Genève Compte courant : 1010 francs Compte épargne : 2040 francs Client Alexandra de Lausanne Compte courant : 3030 francs Compte épargne : 4080 francs Banque avec des clientes (Niveau 1)Vous avez certainement remarqué que l'affichage du programme précédent ne fait pas de différence entre les clients et les clientes. Ceci est facile à corriger dans la version orientée
objets du programme, par exemple en ajoutant une variable
d'instance booléenne Modifiez votre programme pour qu'il
affiche « Données avant le bouclement des comptes : Client Pedro de Genève Compte courant : 1000 francs Compte épargne : 2000 francs Cliente Alexandra de Lausanne Compte courant : 3000 francs Compte épargne : 4000 francs Données apres le bouclement des comptes : Client Pedro de Genève Compte courant : 1010 francs Compte épargne : 2040 francs Cliente Alexandra de Lausanne Compte courant : 3030 francs Compte épargne : 4080 francs Exercice 4 : supermarché (niveau 2)
Exercice n°8 du MOOC
Un supermarché souhaite que vous l’aidiez à afficher le total des achats enregistrés par ses caisses. Il s’agit de compléter le programme supermarche.cc fourni. Voici les entités nécessaires pour modéliser le fonctionnement du supermarché :
Coder ensuite les structures de données et les méthodes manquantes. Ces entités doivent pouvoir être testées avec le programme principal fourni. Dans ce fichier, déclarer les classes nécessaires à la modélisation du supermarché, telles que suggérées ci-dessus.
Il est suggéré d'utiliser un Faire bien attention à l'encapsulation (e.g. les attributs doivent être privées).
Les méthodes à implémenter dans la classe concernant les achats sont :
Pour les caddies :
Pour les caisses :
Exemple de déroulementUne fois le programme complété, l'exécution du programme principal devrait ressembler à ceci : Chou-fleur extra : 3.5 x 2 = 7 F C++ en trois jours : 48.5 x 1 = 48.5 F Cookies de grand-mere : 3.2 x 4 = 12.8 F Petit-lait : 2.5 x 6 = 7.5 F (en action) Sardines : 6.5 x 2 = 13 F ----- Total à payer : 88.8 F. ========================================= Les malheurs de Sophie : 16.5 x 1 = 8.25 F (en action) Cremeux 100%MG : 5.8 x 1 = 5.8 F Pois surgeles : 4.35 x 2 = 8.7 F Poires Williams : 4.8 x 2 = 9.6 F ----- Total à payer : 32.35 F. ========================================= 100% Arabica : 6.9 x 2 = 6.9 F (en action) Pain d'epautre : 6.9 x 1 = 6.9 F Cremeux 100%MG : 5.8 x 2 = 11.6 F ----- Total à payer : 25.4 F. ========================================= Résultats du jour : Caisse 1 : 121.15 F Caisse 2 : 25.4 F Projet : continuation et INSCRIPTIONSPour faire la partie concernant le projet, voir ici. Dernière mise à jour le 10 mars 2014 Last modified: Mon Mar 10, 2014 |