2017-06-11 1 views
-6

J'ai ce programme C qui doit calculer l'aire d'un cercle qu'un utilisateur entre. Je dois utiliser avant la fonction principale:Comment dois-je configurer la fonction pour calculer l'aire d'un cercle - C

void area_circum(double radius, double *area, double *circum); 

Je vais avoir du mal à obtenir le programme de travail. J'utilise la fonction principale et une autre appelée area_circum();

C'est ce que j'ai en ce moment:

#include <stdio.h> 


void area_circum(double radius, double *area, double *circum); 

int main(void) { 

    double radius, area, circum; 

    printf("Please enter the radius of the circle: "); 
    scanf("%f", &radius); 

    area_circum(radius, area, circum); 

    printf("Area of circle : %0.4f\n", area); 

    return 0; 
} 


void area_circum(double radius, double *area, double *circum) { 
    double PIE = 3.141; 

    double areaC = 0; 

    areaC = PIE * radius * radius; 
} 

Quand je construis et l'exécuter, il fonctionne, je entrer un numéro, mais il retourne 0,00

+2

s'il vous plaît obtenir un livre de texte sur C et regardez la signature pour 'main'. Alsio lors de la lecture chapitre un début sur le chapitre deux –

+0

correctif comme [this] (http://ideone.com/wfNClC) – BLUEPIXY

+0

Merci @BLUEPIXY. Je vois que je n'aurais rien passé dans les paramètres de la fonction principale. – JDog

Répondre

-4
#include <stdio.h> 

void area_circum(double radius); 

int main() { 

    double radius; 

    printf("Please enter the radius of the circle: "); 

    scanf("%lf", &radius); 

    area_circum(radius); 

    return 0; 

} 


void area_circum(double radius) { 

    double PIE = 3.141; 

    double areaC = 0; 

    areaC = PIE * radius * radius; 

    printf("Area of circle : %0.4f\n", areaC); 

} 
+0

ya thanx Je n'ai pas remarqué que l'éditeur de texte n'était pas inclus # – Aashi

+0

C'est une façon de le faire. Merci – JDog

+0

@melpomene 'scanf ("% f ", & rayon);' changé en 'scanf ("% lf ", & rayon);' – 4386427

0

Vous êtes presque Là. Tout ce que vous devez faire est de retourner la valeur calculée:

void area_circum(double radius, double *area) { 
    double PIE = 3.141; 
    *area = PIE * radius * radius; 
} 

et appeler comme:

area_circum(radius, &area); 
1

Il est évident à partir du nom et de la signature de cette fonction, qu'il doit calculer la superficie et la circonférence . En outre, il est évident que vous devez lui passer les adresses de deux variables int (ou deux pointeurs vers int) qui sera ensuite donné les résultats des calculs:

#include <stdio.h> 

void area_circum(double radius, double *area, double *circum); 

int main(void) 
{ 
    double radius, area, circum; 

    printf("Please enter the radius of the circle: "); 
    scanf("%lf", &radius); // Note: You should add a check to see if 
          //  scanf() failed. 
    area_circum(radius, &area, &circum); // &area is the address of area 
              // &circum is the address of circum 
    printf("Area of circle : %0.4f\n", area); 
    printf("Circumference of circle : %0.4f\n", circum); 
    return 0; 
} 

void area_circum(double radius, double *area, double *circum) 
{ 
    double PIE = 3.1416; 
    *area = PIE * radius * radius; 
    *circum = PIE * radius * 2; 
}