Forum: C-Programmieren
Moderatoren: juergen, Martin ConradThema: Fragen zu einer Bogenmaß-Funktion
[EDIT] - Re: Fragen zu einer Bogenmaß-Funktion
icefire am 05.12.2011 um 16:38
Zitat:
Letztendlich lag es am falschen Datentyp.
Ich hab dann irgend wann mal es mit float probiert und schon lief die Sache durc.
Nein, am falschen Conversion Specifier für scanf.
scanf_s("%d", &winkel);
Mit %d erwartet sich scanf einen Integer, keinen Float. Wenns momentan funktioniert, dann nur zufällig.
mfg, Wolfgang
--
Hex, Bugs and Rock 'n Roll
[EDIT] - Re: Fragen zu einer Bogenmaß-Funktion
cryl0v am 06.12.2011 um 20:18
Es ist aber zu empfehlen "%lf" als Formatzeichen zu verwenden, da du nicht mit float sondern double und damit doppelter Genauigkeit arbeitest.
Ebenfalls PI als Konstante der C-Standard-Library mit einzubeziehen
Vergleich mal meine Version mit deiner. Dann wirst du feststellen, dass du dir viele Variablendeklaration sparen und zum Beispiel gleich in printf die Funktion aufrufen kannst.
#include <stdio.h>
#include <math.h>
double bogenmass(double wink)
{
return (M_PI* (double)wink/180);
}
int main(void)
{
double winkel;
int i= 0; //Zählvariable
printf("Bitte geben Sie einen Winkel ein: ");
scanf("%lf", &winkel);
printf("Bogenmass: %lf\n", bogenmass(winkel));
return 0;
}
Re: Fragen zu einer Bogenmaß-Funktion
bcc-fan am 06.12.2011 um 20:52
scanf("%lf", &winkel);
nicht versteht. Eventuell können das ja die neuesten Compiler des Anbieters, aber die älteren wollten nur
scanf("%f", &winkel);
Nur falls da mal jemand stolpern sollte
MfG bcc-fan
--
C/C++
only just for fun
