Calcul de volume d'un cylindre

Calcul de volume d'un cylindre - C - Programmation

Marsh Posté le 04-10-2014 à 22:55:39    

Bonjour,
 
Je réalise un programme qui calcule le volume d'un cylindre (V=pi r² h) mais je suis persuadé qu'il est encore possible de l'améliorer bien qu'il soit déjà fonctionnel.
Le couac est que je n'ai plus fait de C depuis 2007 :D Je sais que pour calculer r², il existe pow(r,2) dans la bibliothèque de maths mais le gain ici n'est pas a priori probant. Surtout, je fais deux fois l'acquisition d'une distance (float) mais je ne me souviens plus comment le passer en fonction à part et l'appeler dans le main.
 

Code :
  1. #include <stdio.h>
  2. #define pi 3.14159
  3. int main()
  4. {
  5.     float h,r;
  6.     printf("Calcul du volume d'un cylindre\n" );
  7. // Rayon
  8.     printf("Rayon ?\n" );
  9.     scanf("%f",&r);
  10.     while(getchar()!='\n');
  11. // Hauteur
  12.     printf("Hauteur ?\n" );
  13.     scanf("%f",&h);
  14.     while(getchar()!='\n');
  15. // Test de la positivité de r et h
  16.     if(r>0&&h>0)
  17.     {
  18.         printf("Volume :\n" );
  19.         printf("%f",pi*r*r*h);
  20.     }
  21.     else
  22.     {
  23.         printf("Impossible" );
  24.     }
  25.     return 0;
  26. }

Reply

Marsh Posté le 04-10-2014 à 22:55:39   

Reply

Marsh Posté le 06-10-2014 à 10:58:58    

Il me semble qu'en C, il existe une constante pour PI :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 06-10-2014 à 21:49:49    

Dé mémoire (à l'époque de VC6, en tous cas, je n'ai pas retenté depuis :) ), M_PI (et ses variantes M_PI_2, M_PI_4, ...) n'était pas définie dans le math.h de VC++ (alors qu'elle l'est dans celui de gcc).
 
Bonne continuation !


Message édité par Farian le 06-10-2014 à 21:50:31
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed