Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

09.08.2011, 17:16

c++ rechnung

Hallo ich wollte mal ein bissl Physik ausrechen
unteranderem der schräge wurf
ein freund von mir (ein physiker hat mir die Formel gegebn und so umgestellt das ich nur noch winkel und geschw (m/s) angeben muss.
mit dem Taschenrechner und den ganzen Brüchen hat es auch prima geklappt allerding nicht in C++
Mein Code:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <math.h>
#include <iostream>
#include <string>

using namespace std;

int main()
{
    double erg;
    double wert = 1;
    double cos1 = cos(wert);
    double sin1 = sin(wert);
    for( int x = 1; x <= 100; x++ )
    {
    erg = 300 * ( x / 300 / cos1 ) * sin1 - (9.81 / 2) * ( x / 300 / cos1 );  //Alles was in Klammern ist sind Brüche 
    cout<<erg<<endl;
    }
    cin.get();
}

Wenn ich es so schreibe:
erg = 300 * x/300/cos1 usw
dann kommt ein ergebnis aber Falsch!
leider kommt immer nur Null raus was mache ich falsch??
Danke MFG

Harry222

Alter Hase

Beiträge: 864

Beruf: Student

  • Private Nachricht senden

2

09.08.2011, 17:24

Wäre gut zu wissen, wie die ursprüngliche Formel hieß! ;)

Vllt. liegt da der Fehler!

Mfg Harry222

3

09.08.2011, 17:27

ähh ja ok nur wie kann ich die Posten??
ich kann leider / weis nicht wie ich v0 und die null nach unten schreibe oder brüche!
:D
EDIT: Es kann aber nicht sein das die Formel falsch ist mit nem Taschenrechner gehts ja!

Harry222

Alter Hase

Beiträge: 864

Beruf: Student

  • Private Nachricht senden

4

09.08.2011, 17:29

Unter "Antworten" gibt es da "LaTeX"!
Damit kann man sowas (so weit ich weiß) machen! ;)

z.B.:
§\frac {12}{12}§

Mfg Harry222

5

09.08.2011, 17:32

Und wie schribe ich ein dobbpelbruch? EDIT: OK

y = v0*§\frac{\frac{x}{v0}}{\frac{cos(a)}} * sin(a) - \frac{g}{2} * [\frac{\frac{x}{v0}}{\frac{cos(a)}}]§

diese fragezeichen einfach nicht beachten ich weis nett wie ichs wegbekomme
a = alpha der winkel
g = gravitation also 9.81
und v0 soll die geschw in m/s darstellen die null ist unten:D
MFG

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »schreib_muffel« (09.08.2011, 17:42)


David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

6

09.08.2011, 17:33

Dein Programm rundet unglücklich zu int... Versuch das:

C-/C++-Quelltext

1
erg = 300 * ( x / 300.0 / cos1 ) * sin1 - (9.81 / 2) * ( x / 300.0 / cos1 );
@D13_Dreinig

7

09.08.2011, 17:47

@David ok da kommt schon mal nict null raus aber leider auch was falsches wenn x = 1 dann ist f(x) = 0.01740054832 laut taschenrechner
laut programma aber 1.52715
alos das programm macht was falsch
MFG

Helmut

5x Contest-Sieger

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

8

09.08.2011, 17:54

sin() und cos() erwarten den Winkel in Radiant, nicht wie bei Taschenrechnern üblich in Grad.
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender)

9

09.08.2011, 17:59

Danke
also kann ich es so machen?=

C-/C++-Quelltext

1
2
3
#define pi 3.14159265358979323846264......
double radian = 0;
        radian = degree * (pi/180);

10

09.08.2011, 18:11

Also wen ichs so mache dann kommt wieder was falsches
Programm: 0.00110257
Taschenrechner: 0.01740054832

Werbeanzeige