UdMHaut
UdMBAS

IFT1166
Programmation Orientée Objet avec C++

Département d'informatique et de recherche opérationnelle

Direction de l'enseignement de service en informatique
 

Image C++
 
Été 2008

Accueil

Professeurs et
Démonstrateurs

Horaires et locaux

Notes de cours

Cours
après Cours

Démonstrations
et devoirs

Examens

Liens utiles

Au sujet du
livre de cours

Consultez vos notes

Foire aux questions
(FAQ)

Sessions antérieures

  Démonstration #6  
 
Dernière mise à jour : sam 03 mai 2008 14:18:56 EDT
 

Buts:

  • [Chaînes de caractères, Passage de paramètres, Structures et méthodes.].

Chaînes de caractères

  • Q1: Soit le programme suivant: demo6exo1.cpp.
    [Solutionnaire].

    • a. Ce programme est-il syntaxiquement correct (c.-à-.d peut-il être compilé) ? Dans la négative, corrigez-le. Essayez de trouver la réponse sans vous aider de votre compilateur!

    • b. Ce programme contient une erreur importante de programmation que le compilateur ne peut détecter. Trouvez-la !

Passage de paramètres

Structures et méthodes

  • Q6: Le programme suivant (demo6exo6.cpp.) contient plusieurs erreurs (de conception), identifiez-les puis corrigez-les.
    [Solutionnaire].

  • Q7: Soit la structure aliments composée de deux champs : " Nom du produit " et " Prix " où " Nom du produit " est le nom d'un produit donné et " Prix " le prix de ce produit.
    [Solutionnaire].

    Soit le tableau –Tableau 1- qui contient les produits ainsi que leur prix comme suit :

    Nom du produit
    Prix
    Carottes
    1.0879
    Bananes
    0.2976
    Pommes de terre
    0.4537
    Raisin
    2.3769
    Salade
    0.9995

    Tableau –1-

    • Écrire une fonction, appelée {min_max}, qui permet de rechercher le produit le plus cher et le produit le moins cher dans un tableau " d'aliments ", décrit par le tableau 1.

      Cette fonction doit avoir comme arguments : un tableau " d'aliments " et la taille de ce tableau. Cette fonction ne doit retourner aucune valeur.

      Cette fonction permettra aussi d'afficher les noms des produits le plus cher et le moins cher ainsi que leur prix respectif, en respectant, dans l'ordre, le format suivant :

      • Pour le produit le plus cher :
        • Une largeur de champ de 35 caractères, en utilisant le caractère de remplissage le point " . ",
        • une justification à gauche, de l'affichage,
        • la chaîne "le produit le plus cher est:", puis le nom du produit,
        • la chaîne " son prix est : ", puis le prix du produit avec une précision de 3 chiffres après la virgule.
      • Pour le produit le moins cher :
        • Une largeur de champ de 35 caractères, en utilisant le caractère de remplissage le point " . ",
        • une justification à droite, de l'affichage,
        • la chaîne "le produit le moins cher est: ", puis le nom du produit,
        • la chaîne " son prix est : ", puis le prix du produit avec une précision de 3 chiffres après la virgule.
    • Écrire la fonction " main ", qui doit contenir l'initialisation d'un tableau d'éléments avec les données du tableau –1- ci-dessus, ainsi qu'un appel à la fonction min_max avec comme paramètres, le tableau d'éléments et sa taille.
    • Écrire ce programme en respectant les spécificités (E/S, commentaires etc.) C++, mais en utilisant les notions de structures déjà étudiées dans le langage C (pas de déclaration de classe).

  • Q8: Soit la structure date, ayant les 3 champs suivants:


    [Solutionnaire].
    
    -------------------------------
    
    	struct Date {
    		int mois;
    		int jour;
    		int annee;
    	}
    
    -------------------------------
    

    Écrire les fonctions suivantes:

    • void lire_date(Date& date)

      pour lire les champs de la structure Date à partir des entrées/sorties standards

    • void affiche_date(Date date)

      pour afficher les champs de la structure Date à partir des entrées/sorties standards

    • Et la fonction "main" qui appellera ces deux fonctions.




pift1166@iro.umontreal.ca
[top]