Im compiler log steht eigentlich alles was da so falsch war
allgemein zuerst einmal vorweg
wenn du variablen definierst sind diese namen der variablen nur in der funktion wo du sie deklariert (also da wo du sagst das name XXX vom typ YY ist z.B. float radius) hast gültig
ne funktion sieht immer so aus
typ name(typ parametername)
{ float radius;
...
}
dann kannst du nur in der funktion also zwischen den { } klammern den namen benutzen außerhalb also in einer anderen funktion sind die variablen nicht bekannt und du kannst sie nicht benutzen
so schaut man sich mal deinen code und den compiler log an sieht man sofort zumindest wenn man weiß was es bedeutet das du das nicht so eingehalten hast
Quote:
main.cpp: In function `float berechneKegelvolumen(float, float)':
main.cpp:6: error: `grundflaeche' undeclared (first use this function)
main.cpp:6: error: (Each undeclared identifier is reported only once for each function it appears in.)
main.cpp:6: error: `hoehe' undeclared (first use this function)
main.cpp:7: error: `v' undeclared (first use this function)
main.cpp: At global scope:
main.cpp:10: error: `main' must return `int'
|
main.cpp: In function `float berechneKegelvolumen(float, float)': <--- hier sagt er dir in welcher funktion der oder die fehler auftraten
main.cpp:6: error: `grundflaeche' undeclared (first use this function) <--- hier sagt er dir das er die variable grundflaeche nicht kennst das heißt du hast entweder den namen falsch geschrieben oder aber die variable heißt anders
bei dir hast du hier ---> float g=PI*r*r; die grundfläche g genannt daher kennt er grundflaeche bei dir nicht
main.cpp:6: error: (Each undeclared identifier is reported only once for each function it appears in.) <--- hier sagt er dir nur das wenn du eine variable hast die er nicht kennt und sie mehrmals vorkommt er es dir nur einmal sagt
main.cpp:6: error: `hoehe' undeclared (first use this function) <-- hier das selbe wie grundflaeche
deklariert hast du die vvariable hier ---> float berechneKegelvolumen(float r,float h) im funktions kopf float h dann müßtest du in der funktion das h beibehalten
main.cpp:7: error: `v' undeclared (first use this function) <--- hier wieder das selbe du meinst die variable volumen schreibst aber v der compiler kann ja nicht wissen was du meinst weil computer ja blöd sind sie sind halt nur maschienen
das main.cpp:7 sagt dir übrigens das der Fehler in der datei main.cpp auftrat und zwar in zeile 7 so kannst du immer ganz einfach und schnell zu den fehlern springen indem du einfach zu der Zeile gehst bzw. nen doppelklick auf die fehlermeldung genügt glaube ich auch
main.cpp: At global scope:
main.cpp:10: error: `main' must return `int' <--- hier ist noch ein fehler in cpp muss die main funktion vom typ int sein und darf nicht void = undefiniert sein
hier mal ein verbesserungs vorschlag von mir
Code:
#include <iostream.h>
float berechneKegelvolumen(float radius, float hoehe)
{
const float PI = 3.14f;
float grundflaeche = PI*radius*radius;
float volumen = (grundflaeche * hoehe) * 1/3;
return volumen;
};
int main()
{
float radius;
float hoehe;
cout<<"Bitte geben Sie den Radius ein: ";
cin>>radius;
cout<<"Bitte geben Sie die Hoehe ein: ";
cin>>hoehe;
cout<<"Das Volumen betraegt: "<<berechneKegelvolumen(radius,hoehe)<<endl;
return 1;
};