Permalänk
Medlem

hjälp med cpp

jag har gjort en andragradsfunktion i cpp, vad är det för fel på den? ;o

void andragradsfunktion()
{
double p;
double q;
cout << "skriv in värdet för p" << endl;
cin >> p;
cout << endl << "skriv nu in värdet för q";
cin >> q;
double lol = p/2;
double x1 = (-lol)+sqrt((lol)*(lol)-q);
double x2 = (-lol)-sqrt((lol)*(lol)-q);
cout << "dina punkter är" << x1 << "samt" << x2;
}

edit: förutom att åäö inte kommer synas ;o
Har includeat cmath ;o

Permalänk
Medlem

Vad är det som inte fungerar då? Får du några felmeddelanden?

Permalänk
Medlem

Typ att det inte går att köra pow ;_;

Permalänk
Medlem

det körs iaf här, minns dock inte mycket av andragradsekvationer
EDIT: ändrade iofs lite, pyttelite

#include <iostream> #include <math.h> using namespace std; void andragradsfunktion() { double p = 0; double q = 0; cout << "skriv in värdet för p" << endl; cin >> p; cout << endl << "skriv nu in värdet för q" << endl; cin >> q; double lol = p/2; double x1 = (-lol)+sqrt((lol)*(lol)-q); double x2 = (-lol)-sqrt((lol)*(lol)-q); cout << endl; cout << "dina punkter är " << x1 << " samt" << x2; } int main() { andragradsfunktion(); system("pause"); }

Visa signatur

Laptop - MacBook 2.0GHz, 4GB ram, Intel GMA 950
Stationär - i5 3570k @ 4ghz, 8gb ram, 120gb ssd + 2tb hdd, Windows 8 64bit, fractal design arc
Citera så jag hittar tillbaka :)

Permalänk
Medlem

Skulle också föreslå

double lol = p/2.0;

istället för

double lol = p/2;

tror inte du får några decimaler i lol-variabeln annars.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Athkore

Typ att det inte går att köra pow ;_;

Du använder ju inte pow i din kod, så det verkar konstigt. Vad sägs om att klistra in de felmeddelanden du får här?

Citat:

Ursprungligen inskrivet av Eik
Skulle också föreslå

double lol = p/2.0;

istället för

double lol = p/2;

tror inte du får några decimaler i lol-variabeln annars.

Eftersom p är en double så kommer 2 automatiskt bli 2.0 när divisionen utförs. Det kan dock vara en bra idé att använda 2.0 ändå, för att klargöra att det är flyttals-division det handlar om. Men för kompilatorn så är det strunt samma vilken man använder i det här fallet, resultatet blir samma ändå.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Eik
tror inte du får några decimaler i lol-variabeln annars.

Man ska inte tro i onödan, 1.0 / 2 ger 0.5 i resultat. 2 kommer type-promotas från int till double. Men det är ändå bättre att skriva d / 2.0 så det är uppenbart vad man menar ska ske.

Visa signatur

void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.

Permalänk
Medlem

Tack för all hjälp <3~~