2016-10-01 2 views
-1

Ich versuche ein Programm zu schreiben, das Bereiche und Volumina und den Durchschnitt der angegebenen Zahlen berechnet.Ich habe erfolgreich diese, aber wenn ich versuche, die Standardabweichung zu berechnen, bekomme ich ein Fehler, ich weiß nicht, wie zu lösen und ich couldn sogar verstehen, was das Problem war, so wie mein letztes Mittel ich euch help.Thanks anfordern hier ist mein CodeUbuntu C Programmierung Expected Float aber Argument ist vom Typ double *

#include <stdio.h> 
#include <math.h> 
int squaresarea(int edge) 
{ 
    int area = edge * edge; 
    printf ("Area of the square : %d\n",area); 

    return 0; 
} 
int rectanglesarea(int edge1,int edge2) 
{ 
    int rectanglesarea = edge1 * edge2; 
    printf ("Area of the rectangle : %d\n",rectanglesarea); 
} 
float spheresvolume(int radius) 
{ 
    float spheresvolume = (4.0/3)*M_PI*radius*radius*radius; 
    printf("Volume of the sphere: %f\n",spheresvolume); 
} 
float cylindersvolume(float radius1,float height) 
{ 
    float cylindersvolume = M_PI*radius1*radius1*height; 
    printf("Volume of the cylinder %f\n",cylindersvolume); 
} 
double average(float edge,float edge1,float edge2,float radius,float radius1,float height) 
{ 
    double average = (edge + edge1 + edge2 + radius + radius1 + height)/6; 
    printf("Average of the values entered: %f\n",average); 
} 
double standarddeviation(int edge,float average) 
{ 

    double standarddeviation = (edge - average); 
} 
int main (int edge,int edge1,int edge2,int radius,int radius1,int height) 
{ 
    printf("Enter the length of your square`s edge: "); 
    scanf("%d",&edge); 
    squaresarea(edge); 
    printf("Enter the lengths of your rectangles edges:"); 
    scanf("%d %d",&edge1,&edge2); 
    rectanglesarea(edge1,edge2); 
    printf("Enter radius of your sphere: "); 
    scanf("%d",&radius); 
    spheresvolume(radius); 
    printf("Enter radius and height of your cylinder: "); 
    scanf("%d %d",&radius1,&height); 
    cylindersvolume(radius1,height); 
    average(edge,edge1,edge2,radius,radius1,height); 
    standarddeviation(edge,average); 
    return 0; 
} 

und hier ist der Fehler, den ich bekommen :

Error message screenshot

+0

Der Fehler liegt daran, dass Namen eindeutig sein müssen. Sie haben eine Funktion und eine Variable namens 'Standardabweichung'. Sie haben auch viel mehr Probleme in Ihrem Code: http://ideone.com/I7nSJJ – mch

+0

Bitte schreiben Sie Ihre Fehlermeldungen als Text statt. Außerdem gibt es zu viele Fehler in Ihrem Code. Versuchen Sie es mit "-Wall" zu kompilieren. – deniss

+0

also muss ich das in der Funktion Standardabweichung zu etwas anderem ändern? – mamikun

Antwort

0

standarddeviation() benötigt als zweites Argument einen float-Wert, aber Sie haben den Namen der Funktion - avearge() übergeben. Wenn Sie den Rückgabewert von average() übergeben möchten, sollten Sie standardabweichung() wie folgt verwenden:

Verwandte Themen