Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

versuche den sin und tan zu berechnen, das mit hilfe einer funktion und wertrückgabe über zeiger...

der haken an der sache ist das ich eben einen bestimmten wertebereich den w annehmen kann ausschließen muß. nur leider bringt er mir einen syntaxfehler `=` in der for-zeile...

das zweite was ich nicht verstehe ist ich habe am anfahnd die math.h includet, doch wenn ich dann M_PI reinschreib sagt er mir das sie nicht initialisiert ist...

Würd mich freuen wenn ihr mir weiter helfen könntet!!!

Danke gruß



#define _CRT_SECURE_NO_WARNINGS

#include <math.h>

#include <stdio.h>

#define PI = 3.14193


void sin_tan(double w, double *ws, double *wt);


int main(void)

{	

	double w, ws, wt;

	printf("Winkel im Bogenmass zw.0 und 3.14 eingeben:\n");

	scanf("%lf",&w);

	sin_tan(w, &ws, &wt);

	printf("Winkel im Bogenmass zw.0 und 3.14\n%f\nSinus= %f\nTangens= %f", w, ws, wt);


	return 0;

}


void sin_tan(double w, double *ws, double *wt)

{


	for ((w <= PI/2 -1e-6) && (w >= PI/2 +1e-6))


	*ws = sin(w);

	*wt = tan(w);


}

Ich verstehe Dein Konstrukt überhaupt nicht.

Du willst für _einen_ eingegeben Wert eine entsprechende Berechnung durchführen, wofür brauchst Du dann eine For-Schleife, die auch so, wie sie zu sehen ist, falsch ist?

Ob Du nun Deine Daten als Call-by-Reference oder by-Value übergibst und die Daten zurück liefert, naja darüber kann man diskutieren

Hi,

das problem ist das der tangens bei pi/2 nicht definiert ist, darum soll die berechnung nur ausgeführt werden wenn der übergebene winkel um weniger als 1e-6 von pi/2 entfernt ist...

das problem ist das der tangens bei pi/2 nicht definiert ist, darum soll die berechnung nur ausgeführt werden wenn der übergebene winkel um weniger als 1e-6 von pi/2 entfernt ist...

Das ist schon klar, da tan = sin/cos und der Cos eben periodisch bei pi/2 null wird. Das erklärt aber _nicht_ Deine For-Schleife.

Außerdem was ist bei 3*pi/2? Dieser Wert ist dann auch ungültig, du musst jedes Vielfache entsprechend ausschließen. Um erst einmal für pi/2 zu prüfen würde man If nehmen

deine for schleife ist trotzdem falsch. was du realisieren möchtest würde ich mit einer do while oder while schleife realisieren.

eine for schleife wird anders aufgebaut als du sie hast.

for ( Wert  ; Wann dies gemacht werden soll ; Erhöhung des Wertes )

{


}

ja sorry folks, ist klar das die for schleiße ein absoluter schwachsinn ist... habs jetzt mal mit do-while gemacht... aber immernoch der syntaxfehler ´=´

@flashpixx: das problem mit 3xpi/2 ist erledigt da der benutzer nur von 0-3.14 eingeben darf... fehleingaben werden nicht beachtet....


#define _CRT_SECURE_NO_WARNINGS

#include <math.h>

#include <stdio.h>

#define PI = 3.14193


void sin_tan(double w, double *ws, double *wt);


int main(void)

{	

	double w, ws, wt;

	printf("Winkel im Bogenmass zw.0 und 3.14 eingeben:\n");

	scanf("%lf",&w);

	sin_tan(w, &ws, &wt);

	printf("Winkel im Bogenmass zw.0 und 3.14\n%f\nSinus= %f\nTangens= %f", w, ws, wt);


	return 0;

}


void sin_tan(double w, double *ws, double *wt)

{

	do

	{


	*ws = sin(w);

	*wt = tan(w);

	}



	while ((w <= PI/2 -1e-6) && (w >= PI/2 +1e-6));



}

ja sorry folks, ist klar das die for schleiße ein absoluter schwachsinn ist... habs jetzt mal mit do-while gemacht... aber immernoch der syntaxfehler ´=´

Erklär mal bitte warum eine Schleife wenn Du in der Referenz nur einen Wert zurücklieferst !?

ja stimmt auch wieder...

was hältst du davon?


#define _CRT_SECURE_NO_WARNINGS

#include <math.h>

#include <stdio.h>

#define PI = 3.14193


void sin_tan(double w, double *ws, double *wt);


int main(void)

{	

	double w, ws, wt;

	printf("Winkel im Bogenmass zw.0 und 3.14 eingeben:\n");

	scanf("%lf",&w);

	sin_tan(w, &ws, &wt);

	printf("Winkel im Bogenmass zw.0 und 3.14\n%f\nSinus= %f\nTangens= %f", w, ws, wt);


	return 0;

}


void sin_tan(double w, double *ws, double *wt)

{


	if((w <= PI/2 -1e-6) && (w >= PI/2 +1e-6))

	{


	*ws = sin(w);

	*wt = tan(w);

	}

	else

		printf("Winkel im Bogenmass zw.0 und 3.14\n%f\nFehler", w);

}

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.