Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1599 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [Pb]Projet en C : Distributeur de boisson

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Pb]Projet en C : Distributeur de boisson

n°1510699
frodon131
Mon précieux
Posté le 04-02-2007 à 22:21:02  profilanswer
 

Bonsoir à tous


Message édité par frodon131 le 12-05-2007 à 19:40:55
mood
Publicité
Posté le 04-02-2007 à 22:21:02  profilanswer
 

n°1510708
Trap D
Posté le 04-02-2007 à 22:29:52  profilanswer
 

Erreur ici : printf("prix=%d\n",&pri);
Il faut écrire printf("prix=%d\n",pri);
 
Pas terrible le mélange prix, pri, c'est une source potentielle d'erreurs.
 
D'autre part, évite d'utiliser scanf, fgets suivi de strtol est bien meilleur.


Message édité par Trap D le 04-02-2007 à 22:33:19
n°1510713
frodon131
Mon précieux
Posté le 04-02-2007 à 22:35:14  profilanswer
 

Merci, en fait avec le deboggeur, il me dit que l'erreur vient de la ligne
*result=(-1);

n°1510718
frodon131
Mon précieux
Posté le 04-02-2007 à 22:41:48  profilanswer
 

ca y est merci, j'ai resolu mon probleme:
pas la peine de passer par des pointeurs

Code :
  1. void prix (struct produit *tableau,int cod,int m,int *p)
  2. {
  3.     int result;
  4.     result=-1;
  5.     int i;
  6.     for(i=0;i<m;i++)
  7.     {
  8.         if (tableau[i].code==cod)
  9.         {
  10.             result=(tableau[i].prix);
  11.         }
  12.     }
  13.     *p=result;
  14. }

n°1510722
Trap D
Posté le 04-02-2007 à 22:43:43  profilanswer
 

Pourquoi tu ne fais pas une fonction ?
int prix (struct produit *tableau,int cod,int m) qui retourne le prix trouvé ?

n°1510729
frodon131
Mon précieux
Posté le 04-02-2007 à 22:59:04  profilanswer
 

Trap D a écrit :

Pourquoi tu ne fais pas une fonction ?
int prix (struct produit *tableau,int cod,int m) qui retourne le prix trouvé ?


 
bonne idée
j'en ai fait une qui marche pas mal avec une boucle for

Code :
  1. int prix (struct produit *tableau,int cod,int m)
  2. {
  3.     int result;
  4.     result=-1;
  5.     int i;
  6.     for(i=0;i<m;i++)
  7.     {
  8.         if (tableau[i].code==cod)
  9.         {
  10.             result=(tableau[i].prix);
  11.         }
  12.     }
  13.     return(result);
  14. }


 
Pour optrimiser le systeme je pensais faire une boucle while; on s'arret dés que le code à été trouvé mais elle marche pas
 

Code :
  1. int prix (struct produit *tableau,int cod,int m)
  2. {
  3.     int result;
  4.     result=-1;
  5.     int i=0;
  6.     while ((result==-1) && (i<m))
  7.     {
  8.         if (tableau[i].code==cod)
  9.         {
  10.             result=(tableau[i].prix);
  11.             i=i+1;
  12.         }
  13.     }
  14.     return(result);
  15. }

n°1510730
frodon131
Mon précieux
Posté le 04-02-2007 à 23:10:38  profilanswer
 

probleme resolu, le i++ c'est pas dans le if qu'il faut le mettre...
faut vraiment que je me concentre

n°1510749
zapan666
Tout est relatif
Posté le 05-02-2007 à 00:31:10  profilanswer
 

frodon131 a écrit :


Pour optimiser le système je pensais faire une boucle while; on s'arrête dés que le code à été trouvé mais elle marche pas


Code :
  1. int prix (struct produit *tableau,int cod,int m)
  2. {
  3. int i;
  4. for(i=0;i<m;i++)
  5. {
  6.     if (tableau[i].code==cod)
  7.    {
  8.           return tableau[i].prix;
  9.     }
  10. }
  11. return -1; // code d'erreur
  12. }

Message cité 1 fois
Message édité par zapan666 le 05-02-2007 à 00:31:59

---------------
my flick r - Just Tab it !
n°1510753
frodon131
Mon précieux
Posté le 05-02-2007 à 00:39:50  profilanswer
 

zapan666 a écrit :

Code :
  1. int prix (struct produit *tableau,int cod,int m)
  2. {
  3. int i;
  4. for(i=0;i<m;i++)
  5. {
  6.     if (tableau[i].code==cod)
  7.    {
  8.           return tableau[i].prix;
  9.     }
  10. }
  11. return -1; // code d'erreur
  12. }



 
merci :jap:  
c'est vrai que c'ets plus simple et direct
j'en suis arrivé sinon au choix des pieces à rendre mais la je patauge un peu sur comment choisir les pieces...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [Pb]Projet en C : Distributeur de boisson

 

Sujets relatifs
Projet C++/SDLProjet C++ : RPG 2D (Librairie SDL)
[HTML/CSS/JavaScript]Projet interface site web 3d inspiré de XGlCréer un projet Windows
Compiler un projet visual studio depuis un .bat[Projet] Motec sur afficheur LCD externe 240x128 ! Besoin d'aide !
[C] Des accolades "just pour le fun" ?[PHP/MySQL] Je sers la Science (moteur cataloguage recherche pdf)
aide pour un projet persoProjet Hoshimi - Imagine Cup 2007
Plus de sujets relatifs à : [Pb]Projet en C : Distributeur de boisson


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR