Forum: C-Programmieren
Moderatoren: juergen, Martin ConradThema: Fragen zu einer Bogenmaß-Funktion
Fragen zu einer Bogenmaß-Funktion
Nanobot am 04.12.2011 um 04:24
Ich muss ein Programm schreiben das den Bogenmaß berechnet.
Da ich mal ein bischen den Umgang mit Funktionen üben möchte hab ich folgendes gebastelt:
double bogenmaß(double wink)
{
wink = ((2*3.1415926535898)*(wink/360));
return wink;
}
int main(void)
{
double winkel;
double bogen;
int i= 0; //Zählvariable
printf("Bitte geben Sie einen Winkel ein: ");
scanf_s("%d", &winkel);
bogen = bogenmaß(winkel);
printf("Bogenmas: %d\n", bogen);
}
Leider weiß ich nicht was ich falsch gemacht habe. Also es kommen aufjeden Fall keine sinnvollen Zahlen bei raus.
Ich nehme als Datentyp double, dda die anderen sonst leider zu klein sind. Gibt es eigentlich noch einen größeren datentyp als double?
Vielen Dank für eure Hilfe!
Gruß
Nano
[EDIT] - Re: Fragen zu einer Bogenmaß-Funktion
bcc-fan am 04.12.2011 um 08:54
"scanf_s format"
z.B. msdn scanf_s
und auch
"printf format"
MfG bcc-fan
--
C/C++
only just for fun
Re: Fragen zu einer Bogenmaß-Funktion
icefire am 04.12.2011 um 14:25
Allgemeiner Tipp: Bei solchen Fehlern hilfts, wenn man entweder mit einem Debugger
das Programm durchsteppt, oder zwischendrin printf's einfügt. Wenn du dir direkt nach dem Einlesen den eingegebenen Wert ausgeben lässt, wirst du sehen, dass dort schon der Fehler drinnen ist. Mit solchen printf-Überprüfungen kann man Fehler relativ schnell eingrenzen.
Zitat:
double bogenmaß(double wink)
Darf man in C wirklich in Funktionsnamen 'ß' verwenden? Meckert dein Compiler da nicht?
Zitat:
wink = ((2*3.1415926535898)*(wink/360));
Man braucht PI normalerweise nicht selber einfügen. Wenn man die Datei math.h inkludiert, dann gibt es üblicherweise die Konstante M_PI, die genau diesen Wert definiert. Ich schreibe 'üblicherweise', weil mir persönlich keine C-Implementierung bekannt ist, die den Wert nicht definiert, aber laut den C-FAQs
das nicht immer der Fall sein muss.
mfg, Wolfgang
--
Hex, Bugs and Rock 'n Roll
Re: Fragen zu einer Bogenmaß-Funktion
bcc-fan am 04.12.2011 um 19:42
Da könnte je nach Einstellung des Compilers 'ß' akzeptiert werden.
Hab keinen Compiler von denen aktuell am Start, um das zu testen.
Aber wenn man nicht in Fettnäpfchen treten will, ist es meist sicherer 'ä, ö, ß, ü' nicht in Funktionsnamen zu nutzen.
MfG bcc-fan
--
C/C++
only just for fun
Re: Fragen zu einer Bogenmaß-Funktion
Nanobot am 04.12.2011 um 23:52
Vielen Dank für die Hinweise!
Letztendlich lag es am falschen Datentyp.
Ich hab dann irgend wann mal es mit float probiert und schon lief die Sache durc.
ß funktioniert beim MS Compiler 2010, aber ich glabue man sollte es trotzdem einfach lieber lassen. :)
Vielen Dank und macht euch noch ne schöne Zeit!
Gruß
Nano
