Jump to content
Bekijk in de app

Een betere weg om onze GTA community te volgen. Leer meer.

GTAGames.nl - De Nederlandse Grand Theft Auto Community!

Een volledig scherm app op het beginscherm inclusief notificaties, badges en meer.

Om deze app op je iPhone en iPad te installeren
  1. Druk op het icoon in Safari
  2. Scroll in het menu en druk op Zet op beginscherm.
  3. Druk op Voeg toe rechts bovenaan.
Om deze app op je Android toe te voegen
  1. Druk op het 3-punten menu (⋮) rechts bovenaan in de browser.
  2. Druk op Toevoegen aan beginscherm of Installeer app.
  3. Druk op Toevoegen om te bevestigen.
Geplaatst:

#include <iostream>
#include <math.h>
using namespace std;
int main ()
{
int a, b, c, d;
long double x, y;
cout << "abc-formule. ax^2 + bx + c\n";
cout << "Voer a b en c (gehele getallen) in met een spatie";
cin >> a >> b >> c;
cin.get();
d = (b ^ 2) - 4 * a * c;
if (d < 0)
cout << "Deze formule is niet mogelijk";
x = (-b + long double sqrt( long double d )) / (2 * a);
cout << "X is " << x << "of\n";
y = (-b - long double sqrt( long double d )) / (2 * a);
cout << "X is " << y;
cin.get();
}

Ik krijg 2 errors:

1>d:\ikt\visual studio 2008 projects\projects\cin2\cin2\cin2.cpp(15) : error C2062: type 'long double' unexpected
1>d:\ikt\visual studio 2008 projects\projects\cin2\cin2\cin2.cpp(17) : error C2062: type 'long double' unexpected

Featured Replies

Geplaatst:

Van een wijs persoon die te lui is om zelf te posten, ook wel klasgenootje genoemd:

je moet

x = (-b + long double sqrt( long double d )) / (2 * a);

veranderen in:

x = (-b + (long double) sqrt( (long double) d )) / (2 * a);

want je voert een typecast uit op de uitkomst van sqrt(), en ook een op d. typecasts zijn altijd tussen ()

dit moet je natuurlijk ook bij de formule met de - doen.

Bewerkt: door marcootje

Geplaatst:
  • Auteur

Van een wijs persoon die te lui is om zelf te posten, ook wel klasgenootje genoemd:

je moet

x = (-b + long double sqrt( long double d )) / (2 * a);

veranderen in:

x = (-b + (long double) sqrt( (long double) d )) / (2 * a);

want je voert een typecast uit op de uitkomst van sqrt(), en ook een op d. typecasts zijn altijd tussen ()

dit moet je natuurlijk ook bij de formule met de - doen.

Gesnopen.

Edit: Werkt

Bewerkt: door ikt

Geplaatst:
  • Auteur

Ben ik weer :)

Nu werkt het programma (ik moet nog 1 ding toevoegen, en dat is dat die maar 1x antwoord als de discriminant 0 is), maar dat ding begrijpt de abc formule blijkbaar niet. :puh: Er komt iets heel anders uit dan normaal. xD

#include <iostream>
#include <math.h>
using namespace std;
int main ()
{
int a, b, c, d;
long double x, y;
cout << "abc-formule. ax^2 + bx + c\n";
cout << "Voer a b en c (gehele getallen) in met een spatie ";
cin >> a >> b >> c;
cin.get();
d = (b ^ 2) - ( 4 * a * c );
if (d < 0) { cout << "Deze formule is niet mogelijk\n";
cin.get();
return 0;
}
cout << "De discriminant is " << d << "\n";
x = (-b + (long double) sqrt( (long double) d )) / (2 * a);
cout << "X is " << x << " of\n";
y = (-b - (long double) sqrt( (long double) d )) / (2 * a);
cout << "X is " << y;
cin.get();
}

Edit: HET IS ME GELUKT!

#include <iostream>
#include <math.h>
using namespace std;
int main ()
{
int a, b, c;
long double d, x, y;
cout << "abc-formule. ax^2 + bx + c\n";
cout << "Voer a b en c (gehele getallen) in met een spatie ";
cin >> a >> b >> c;
d = (b * b) - ( 4 * a * c );
cin.get();
if (d < 0) { cout << "Deze formule is niet mogelijk\n";
cin.get();
return 0;
}
cout << "De discriminant is " << d << "\n";
x = (-b + (long double) sqrt( (long double) d )) / (2 * a);
cout << "X is " << x << " of\n";
y = (-b - (long double) sqrt( (long double) d )) / (2 * a);
cout << "X is " << y;
cin.get();
}

Bewerkt: door ikt

Geplaatst:

als je toch een macht wilt gebruiken ipv

(b * b)

kun je dit doen:

pow(b, 2)

Geplaatst:
  • Auteur

als je toch een macht wilt gebruiken ipv

(b * b)

kun je dit doen:

pow(b, 2)

Ik heb geen idee waar je over praat :)

Geplaatst:

in je eerste code heb je deze berekening voor de discriminante, die niet werkt:

d = (b ^ 2) - 4 * a * c;

Later los je dit op door de ^ weg te halen:

d = (b * b) - ( 4 * a * c );

Dat de eerste niet werkt ligt eraan dat ^ in C++ niet 'tot de macht' betekend, maar XOR (in een vergelijking, óf de eerste statement moet TRUE zijn, óf de tweede, maar niet beide).

Machten moet je op een andere manier berekenen, met de functie pow(), zoals ik al zei:

d = pow(b, 2) - 4 * a * c;

Maar dit hoeft niet per se... je kunt het natuurlijk ook bij b*b houden. Het was zomaar een zijopmerking ;) .

Bewerkt: door marcootje

Geplaatst:
  • Auteur

in je eerste code heb je deze berekening voor de discriminante, die niet werkt:

d = (b ^ 2) - 4 * a * c;

Later los je dit op door de ^ weg te halen:

d = (b * b) - ( 4 * a * c );

Dat de eerste niet werkt ligt eraan dat ^ in C++ niet 'tot de macht' betekend, maar XOR (in een vergelijking, óf de eerste statement moet TRUE zijn, óf de tweede, maar niet beide).

Machten moet je op een andere manier berekenen, met de functie pow(), zoals ik al zei:

d = pow(b, 2) - 4 * a * c;

Maar dit hoeft niet per se... je kunt het natuurlijk ook bij b*b houden. Het was zomaar een zijopmerking ;) .

Aha, zo! pow(getal, macht) is het dus. Zal ik onthouden.

pow = power net zoals sqrt = square root?

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.

Configureer push berichten

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.