"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

An die C++ Experten

nicman 18.10.2001 - 18:15 1519 24
Posts

nicman

-=[Hinich]=-
Avatar
Registered: Sep 2000
Location: 1020 Wien / 3222..
Posts: 1445
wasn muss ich eingeben damit er mir eine zahl dividiert aber nur zb auf eine oder 2 kommastellen rechnet.

der rechner spuckt nämlich a rechnung aus zb. a division da muss ich im das ergebniss eingeben und ich kann ja das ergebnis ned auf 100te nachkommastellen berechnen nur das mir der pc animmt.

also kurz ich brauch nur wie man eine rechengenauigkeit einstellt

thx nicman

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
du kannst auf 2 kommastellen kürzen, wennst die ausgabe machst in float mach:

f.2 ...2 nachkommas
f.1 ...1 nachkomma

etc.

cy

Hatzki

Pinky in action
Avatar
Registered: Apr 2000
Location: Dort wo DU nicht..
Posts: 1017
Wie wärs wennst ab der zweiten Nachkommastelle den Rest wegschneidest und eben nur das nimmst dasd brauchst ?! :rolleyes:

Oda hab i was falsch verstanden :o

Wie das mit der Genauigkeit geht beim Rechnen ... kA mehr ... is scho so lang her ... ;)

Hatzki

Pinky in action
Avatar
Registered: Apr 2000
Location: Dort wo DU nicht..
Posts: 1017
Zitat von CyTrobIc_[2nd]
du kannst auf 2 kommastellen kürzen, wennst die ausgabe machst in float mach:

f.2 ...2 nachkommas
f.1 ...1 nachkomma

etc.

cy

Ah so is das gangen :D

nicman

-=[Hinich]=-
Avatar
Registered: Sep 2000
Location: 1020 Wien / 3222..
Posts: 1445
wo gib ich da ein??

Hatzki

Pinky in action
Avatar
Registered: Apr 2000
Location: Dort wo DU nicht..
Posts: 1017
Beim "printf" zB ... dort wost immer das %d oda eben %f hast ... schreibst das dazu gleiches sollt mit scanf auch gehen ... oda wie auch immer das in C++ heisst ... ;)

cin und cout glaub ich mich zu errinnern :o

wobbo

...
Registered: Apr 2001
Location: Drehstuhl :)
Posts: 1022
cout is für die direkte ausgabe an stdout...

printf is für ne formatierte ausgaben ;)

nochmal die lösung für dein problem:
printf("Das Ergebniss lautet: %.2f",variable);

(nicht so wie da cytrobic gsagt hat %f.2)

nicman

-=[Hinich]=-
Avatar
Registered: Sep 2000
Location: 1020 Wien / 3222..
Posts: 1445
ihr habt mich falsch verstanden

er soll das errechnete ergrbnis mit dem ergebniss das ich eingebe vergleichen und feststellen ob richtig oder falsch

das schaut so aus (vereinfacht)

k=a/b

cin>>e
if(e==k)
{r++}else {f++}

k... Ergebniss das der pc errechnet
e... das was ich errechnet hab und eingebe
r... zähler für richtige antworten
f...zähler für falsch
und der darf das k nicht weiter als auf 2 kommastellen berechnen sonst muss sonst stimmt des ja mit e ned überein

wobbo

...
Registered: Apr 2001
Location: Drehstuhl :)
Posts: 1022
ah.. jetzt versteh ich...
wart bin am nachschaun... sowas hama in da ersten auch scho mal ghabt :D

wobbo

...
Registered: Apr 2001
Location: Drehstuhl :)
Posts: 1022
eine möglichkeit wäre:

int temp;
k *= 100;
temp = (int) k;
k= (float) temp;
temp /= 100;

und dann wären 2 errechnete kommastellen noch da (aber gerundet is nix)
ich schau nach, ob ich ne "schönere" lösung find ;)

HaBa

Legend
Dr. Funkenstein
Avatar
Registered: Mar 2001
Location: St. Speidl / Gle..
Posts: 19692
Glaube mich dunkel an den Befehl "round" zu erinneren.

Den float bei der Definition auf 2 Nachkommastellen festlegen würde IMHO auch was bringen.

wobbo

...
Registered: Apr 2001
Location: Drehstuhl :)
Posts: 1022
ich kenn nur ceil(l) und floor(l) für auf- und abrunden, aber die runden ned auf 2 stellen sondern auf mantisse-ganzzahlig. anteil-1 (einfacher gesagt: anzahl der nachkommastellen - 1 :) )

h4de5

-
Avatar
Registered: Sep 2001
Location: bgld
Posts: 1112
Zitat
int temp;
k *= 100;
temp = (int) k;
k= (float) temp;
temp /= 100;

umständlich, aba wirksam
oda:
if ( e < f + 0.01 && e > f - 0.01 )
....
ned gaunz so genau oba sollt a gehn

ansonsten: Read The F****** Manual (der spruch is geil)

mfg hades
Bearbeitet von h4de5 am 18.10.2001, 21:34

nicman

-=[Hinich]=-
Avatar
Registered: Sep 2000
Location: 1020 Wien / 3222..
Posts: 1445
@all danke werds ausprobieren
@h4de5
hab kann tfm ned lesen hab kanns
trotzdem danke

HaBa

Legend
Dr. Funkenstein
Avatar
Registered: Mar 2001
Location: St. Speidl / Gle..
Posts: 19692
Ist das jetzt nicht mehr auf <F1> ?

So haben wir das gemacht in der HTL, hat uns eigentlich immer ans Ziel geführt.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz