01net    Web


Actuellement en ligne : 420 Utilisateurs dont 15 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@, smilblick  
01net > Forum de 01net > Programmation et développement > C/C++
> probleme logiciel pour calculer lair d'un cylindre

  Offre d'emploi : 01net recrute 2 développeurs PHP / MySql

Auteur
Message
 
<     1       >
lovis1993
  
   
      ?   @     Posté le 31/07/2007 17:48:14  
Voter pour ce message
Bonjour je suis un debutant en c++ (sa fait trois jour que j'ai commencer) et j'ai un probleme ce code si dessous ne marche pas, j'ai a peut près compris la raison il manque des float a la place de int mais je c'est pas lequelle!! Quand je change la valeur c et que je met une valeur entiere le code marche. Sinon le logiciel marche jusquau resultat: le logiciel me dit que c'est 0 merci de maider:
#include <iostream>
using namespace std;
int Ajout(int x, int y, int z) //fonction Ajout
{
return (x*y*y*z); //x=a; y=b; z=c=0,7854
}
int main()
{
cout << "ce programme calcul l air d un cylindre";
int a, b, c, d; //les valeurs
cout << " entrer en premier le diametre, espace, puis ensuite la hauteur";
cin >> a; //le 1er chiffre = a
cin >> b; //2eme chiffre=b
c= 0,7854; // valeur de c donc du z
d=Ajout(a, b, c); //fonction ajout du debut du code
cout << "c est egal a : " << d; //d est le resultat
return 0;
}
Beno@
  
  :-)
      ?   @     Posté le 31/07/2007 21:55:36  
Voter pour ce message
Merci de poster des réponses utiles et de rester courtois dans ce forum :jap:
-->Message édité par Beno@ le 31/07/2007 21:56:05<--
Togusa
  
   
      ?   @     Posté le 06/08/2007 15:39:57  
Voter pour ce message
Si il te réponds tout le temps 0, c'est uniqement parce que tu as déclaré c comme un entier ^^" Le problème, c'est que : float c=0,7854 est correct, mais int c = 0,7854 est faux. La base du problème est "mathématique", un entier est ... entier. Lorsque tu va affecter une valeur non entière à un entier, il va y avoir troncature. Ton 0,7854 va donc devenir 0, ce que renverra toujours ta fonction ;)
Généralement, pour toute application a but calculatoire, on passe en float^^
D3bug
  Mouais...
  :-)
      ?   @     Posté le 06/08/2007 20:13:09  
Voter pour ce message
+1 Togusa. Declare des float à la place des int là ou tu en as besoin:

#include <iostream>
using namespace std;
float Ajout(int x, int y, float z) //Un float tu renverras, car float il risque d'y avoir.
{
return (x*y*y*z); //x=a; y=b; z=c=0,7854
}
int main()
{
cout << "ce programme calcul l air d un cylindre";
int a, b, c; //les valeurs entières
float d; //les valeurs float
cout << " entrer en premier le diametre, espace, puis ensuite la hauteur";
cin >> a; //le 1er chiffre = a
cin >> b; //2eme chiffre=b
c= 0,7854; // valeur de c donc du z
d=Ajout(a, b, c); //fonction ajout du debut du code
cout << "c est egal a : " << d; //d est le resultat
return 0;
}

D'ailleurs tiens en passant, me souviens plus si tu peux multiplier des int avec des floats, te faudra peut être tout passer en float (et renomme ta fonction Ajout en quelque chose de plus parlant comme CylinderArea() , et ta formule est bizarre :p...)

-->Message édité par D3bug le 06/08/2007 20:19:41<--
-------
E6850 @ 3.6Ghz (stock, 9x400) / GA-P35-DS3 / Asus 8800GTX @ 600/1000 / Crucial Ballistix 4-4-4-12 @ 400, 1:1
lovis1993
  
   
      ?   @     Posté le 15/08/2007 18:59:06  
Voter pour ce message
merci a tous mais il y avait une autre erreur que personne n'avait remarquer a la place d'un piont j'avais mis une virgule. Je suis vraiment un boulet :(
D3bug
  Mouais...
  :-)
      ?   @     Posté le 15/08/2007 22:06:09  
Voter pour ce message
lovis1993 a écrit :
merci a tous mais il y avait une autre erreur que personne n'avait remarquer a la place d'un piont j'avais mis une virgule. Je suis vraiment un boulet :(


Ah ouaip, sur la valeur de c, exact...autant pour nous mais il n'empêche que les points soulignés sont aussi valables :sol: .
-------
E6850 @ 3.6Ghz (stock, 9x400) / GA-P35-DS3 / Asus 8800GTX @ 600/1000 / Crucial Ballistix 4-4-4-12 @ 400, 1:1
<     1       >

01net > Forum de 01net > Programmation et développement > C/C++
> probleme logiciel pour calculer lair d'un cylindre

Aller à :

Page générée en : 0.065s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2009 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Droppix Recorder
Gravez facilement vos fichiers.
Une suite logicielle extrêmement simple qui répond à tous vos besoins de gravure sur CD, DVD ou Bluray.