Besoin d'aide en C++

cs_soulearth Messages postés 10 Date d'inscription dimanche 26 octobre 2003 Statut Membre Dernière intervention 11 février 2007 - 2 nov. 2005 à 16:50
Muner Messages postés 48 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 23 novembre 2005 - 3 nov. 2005 à 18:52
Bonjour,
Je suis en BTS Info et je dois faire un programme en C++ en mode console, permettant de gérer des commandes d'un magasin.
ex: Recherche de produits, création d'un devis...
J'ai besoin d'aide!!!
Chaques produits est enregistrés dans une "case" d'un tableau d'enregistrement a 1 dimension.
Ex: Tableau [1] = imprimante Canon
Tableau [2] = imprimante Lexmark
Tableau [3] = processeur AMD
Il me faudrai la commande permettant de rechercher uniquement les éléments " imprimante " afin d'afficher à l'écran la liste de toutes les imprimantes.
Merci d'avance
En espèrant que vous pourrez m'aider!
Gael

5 réponses

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
2 nov. 2005 à 17:02
Un talbeau a 1 dimension ? mais c'est quoi le type de ton tableau ? un
tableau de string ? de produit ? un tableau de tableau de char ?
0
Muner Messages postés 48 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 23 novembre 2005
2 nov. 2005 à 18:37
Bonjour,

tu pourrais faire un tableau de structure :

struct produit
{
char szNomProduit [100
] ;
int iStyleProduit ;
int iValeur ;
//rajouter d'autres choses si besoin (prix, code barre etc ...)
};

et installer des constantes d'entiers pour iStyleProduit :
const int IMPRIMANTE 0, PROCESSEUR 1, JE_NE_SAIS_QUOI = 2
, /*etc ...*/
;

pour donner cela :

#include

using namespace std ;

//Declaration de la structure et des constantes :

struct produit
{
char szNomProduit [100] ;
int iStyleProduit ;
int iValeur ;
};
const int IMPRIMANTE 1, PROCESSEUR 2, JE_NE_SAIS_QUOI = 3 ;

//Créer un tableau de la structure :

produit tableaustruct [1000] ;

//Valeur des variables des structures du tableau :

void InscriptionValeur (produit tableau [1000])
{
strcpy (tableau[0].szNomProduit, "imprimante Canon") ;
tableau[0].iStyleProduit = IMPRIMANTE ;
tableau[0].iValeur = 0 ;

strcpy (tableau[1].szNomProduit, "imprimante Lexmark") ;
tableau[1].iStyleProduit = IMPRIMANTE ;
tableau[1].iValeur = 1 ;

strcpy (tableau[2].szNomProduit, "processeur AMD") ;
tableau[2].iStyleProduit = PROCESSEUR ;
tableau[2].iValeur = 2 ;
}

//Fonction de recherche :

void search (int iValeur, bool tableaudesreponces [1000])
{
for (int iBoucle; iBoucle < = 1000 ; iBoucle ++)
{
if (iValeur = = tableaustruct[iValeur].iStyleProduit)
{
tableaudesreponces [tableaustruct[iValeur].iValeur] = true ;
}
else
{
tableaudesreponces [tableaustruct[iValeur].iValeur] = false ;
}
}
}

//Fonction principale :

int main ()
{
InscriptionValeur (tableaustruct) ;
cout << "Bienvenue dans le programme\n\nQue voulez-choisir comme style de produit ?\n\
1 - IMPRIMANTE\n\
2 - PROCESSEUR\n\
3 - JE_NE_SAIS_QUOI\n\
Votre choix : "
;

int iChoix, ;
bool tableau [1000] ;

cin >> iChoix ;
search (iChoix, tableau) ;

cout << "Voici la liste des produits trouves :\n" ;

for (int iBoucle ; iBoucle <= 1000 ; iBoucle ++)
{
if (tableau[iBoucle])
{
cout << "\n- " << tableaustruct[iBoucle].szNomProduit ;
}
}

main () ;
}

Voila voila

J'espère que cela pourra t'aider, je l'ai testé il y a quelques petites erreurs . Tu pourras y mettre quelque modifications .

Cordialement


MUNER

Dev-Cpp 4.9.9.2., (rarement) Microsoft Visual C++ 6.0 Introductory Edition

Comment ...
... retourner à la ligne en console ?
... mettre du Blander3D dans une api Win32 .
... utiliser DirectX .
... faire plusieurs _beep() à la fois .
0
cs_soulearth Messages postés 10 Date d'inscription dimanche 26 octobre 2003 Statut Membre Dernière intervention 11 février 2007
2 nov. 2005 à 22:29
merci beaucoup, ca devrai m'aider enormement.
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
3 nov. 2005 à 00:28
Tu fais du C++ donc je me permets de modifier un peu le code qu'il te propose.

Deja char szNomProduit[100] est tres "maladroit" si je peux me permettre. Utilise le type string.

De plus, pour désigner le style d'un produit, il me parait plus adapter de déclarer un enum, cad:

enum type_produit { IMPRIMANTE, PROCESSEUR, etc }



En soit, ca ne change rien, mais autant travailler avec un type "dédié" qu'un lien virtuel entre les données.



Dernier point, le "produit tableaustruct[1000]" a éviter absolument,
car tu ne pourras pas dépasser 1000 et si tu en utilises seulement 10%,
tu perds bcp de place. Mais utilises plutot un vector de #include
<vector> ou un list de #include<list>




Donc ca donnerait ca:



#include <string>

#include <vector>

using namespace std;



enum type_produit { IMPRIMANTE, PROCESSEUR, ETC };



struct produit

{

string nom;

type_produit type;

ce que tu veux ensuite...

};



// et surtout

vector liste_de_produit; // au lieu de déclarer un tableau statique de données.



Bon voila, ++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Muner Messages postés 48 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 23 novembre 2005
3 nov. 2005 à 18:52
Bonjour à tous,

si je peux conseiller une chose sur cette discussion c'est bien de prendre le code de luhtor : le mien n'étant pas opérationnel n'étant que depuis le début de l'année en C++ : mon code n'utilise que des bases, mieux vaut utiliser de vraies fonctions plutôt que celles que j'ai utilisé ! (au moins j'ai eu une petite leçon de C++) J'espère que son code et le mien pourront t'aider !

Ciao

Cordialement,


MUNER

Dev-Cpp 4.9.9.2., (rarement) Microsoft Visual C++ 6.0 Introductory Edition

Comment ...
... retourner à la ligne en console ?
... mettre du Blander3D dans une api Win32 .
... utiliser DirectX .
... faire plusieurs _beep() à la fois .
0
Rejoignez-nous