0% ont trouvé ce document utile (0 vote)
36 vues3 pages

Structures de données pour fleurs en C++

Transféré par

Àźwű Šāģhřű
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
36 vues3 pages

Structures de données pour fleurs en C++

Transféré par

Àźwű Šāģhřű
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

LIFAP1 – TP10 : Les structures

Objectifs : Manipulation des structures

Petit exercice d’échauffement

Une fleur est définie par


 son nom,
 sa couleur,
 un tableau comparatif de son prix chez 3 commerçants sélectionnés.

Une liste de fleurs est définie par


 le nombre de fleurs qu’elle contient,
 un tableau de fleurs.

1. Définir en langage C/C++ une constante CHMAX ayant pour valeur 50 qui sera
utilisée comme taille maximale des chaines de caractères.

2. Définir en langage C/C++ les structures de données fleur et liste_fleurs


permettant de stocker toutes les informations concernant une fleur et une liste de
fleurs.

3. Écrire en langage C/C++ un sous-programme saisir_fleur permettant de saisir


toutes les informations relatives à une fleur. Attention on recommencera la saisie tant
que les données de prix ne sont pas strictement positives.

4. Écrire en langage C/C++ un sous-programme saisir_liste_fleurs permettant


de saisir toutes les informations relatives à une liste de fleurs. On utilisera pour cela le
sous-programme de la question 3.

5. Afin d’effectuer des comparaisons tarifaires entre les 3 commerçants sélectionnés, on


souhaite connaître pour une liste de fleurs, le prix total de toutes les fleurs chez chacun
des 3 commerçants. Écrire en langage C/C++ un seul sous-programme
prix_liste_fleurs permettant d’extraire ces 3 informations. On s’assurera de
ne parcourir qu’une seule fois le tableau de fleurs.

6. Écrire en langage C/C++ un sous-programme affiche_fleurs_rouges


permettant d’afficher le nom de toutes les fleurs de couleur rouge de la liste de fleurs.

7. Écrire en langage C/C++ le programme principal permettant de remplir un tableau


avec les caractéristiques de 5 fleurs, d’afficher le nom de toutes les fleurs rouges de
cette liste et d’afficher le numéro du commerçant le moins cher des 3 pour cette liste.

#include <iostream>
#include <string.h>
using namespace std;
const int CHMAX =50;

struct fleur
{
char nom[CHMAX];
char couleur[CHMAX];
float prix[3];
};

struct bouquet
{
int nb;
struct fleur tab_fleur[15];
};

struct fleur saisir_fleur (void)


{
struct fleur f;
int i;

cout<<"donnez le nom de la fleur"<<endl;


cin>>[Link];
cout<<"donnez la couleur de la fleur"<<endl;
cin>>[Link];
for (i=0;i<3;i++)
{
do
{
cout<<"donnez le prix de la fleur chez le commercant "<<i<<endl;
cin>>[Link][i];

}
while ([Link][i]<=0);
}

return f;
}

void saisir_liste_fleurs (struct bouquet &b)


{
b.tab_fleur[[Link]]=saisir_fleur();
[Link]++;
}

void prix_liste (struct bouquet b, float &com1, float &com2, float &com3)
{
int i;

com1=0;
com2=0;
com3=0;

for (i=0;i<[Link];i++)
{
com1+=b.tab_fleur[i].prix[0];
com2+=b.tab_fleur[i].prix[1];
com3+=b.tab_fleur[i].prix[2];
}

void affiche_fleurs_rouges (struct bouquet b)


{ int i;
cout<<"Voila la liste des fleurs de couleur rouge : "<<endl;
for (i=0;i<[Link];i++)
{
if (strcmp(b.tab_fleur[i].couleur,"rouge")==0)
cout<<b.tab_fleur[i].nom<<endl;
}
}
int main (void)
{
struct bouquet bq;
float c1,c2,c3;
[Link]=0;
for (int i=0;i<5;i++)
{
saisir_liste_fleurs(bq);
}
affiche_fleurs_rouges (bq);
prix_liste(bq,c1,c2,c3);
cout<<"Prix chez le commercant 1 : "<<c1<<endl;
cout<<"Prix chez le commercant 2 : "<<c2<<endl;
cout<<"Prix chez le commercant 3 : "<<c3<<endl;

return 0;
}

Vous aimerez peut-être aussi