[C++] afronden in decimalen

Pagina: 1
Acties:

  • ejtnaj
  • Registratie: Juli 2002
  • Laatst online: 24-07 11:22
Ik ben met een opdrachtje voor school bezig, en ik moet ergens een prijs afronden op 2 decimalen, en daar bovenop afronden op 5 centen precies.

ik ben hier:

double prijs;
prijs = (a * a) / 314.159;
cout << "de prijs is " << prijs;

ten eerste (om ze even apart te houden): hoe moet je nou de prijs dat ik krijg afronden op 2 cijfers?

ten tweede (hoe moet je de tweede decimaal afronden op de dichtsbijzijnde x.x5/x.x0?

ik heb gezocht naar deze topics, ik vind bijna precies dezelfde vraag, maar als ik de oplossingen invoer krijg ik errors. Visual geeft aan 'unidentified identifier' bij setPrecision.

Verwijderd

welk progje gebruik je?

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 04:06

.oisyn

Moderator Devschuur®

Demotivational Speaker

het is setprecision, niet setPrecision (c++ is case sensitive)

Overigens kun je met C++ streams niet afronden op decimalen, je kunt slechts het aantal significante cijfers bepalen. Afronden op een aantal decimalen kan natuurlijk gemakkelijk door het met een bepaald getal te vermenigvuldigen, dan afronden op gehele getallen (daar zijn functies voor), en dan weer te delen

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • ejtnaj
  • Registratie: Juli 2002
  • Laatst online: 24-07 11:22
hmmm ja ik heb nu setprecision ingevoerd, wordt alsnog niet herkend... hoort niet bij een andere library (heet dat zo) dan?

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 04:06

.oisyn

Moderator Devschuur®

Demotivational Speaker

hij zit in een andere header, iomanip, maar dat kun je lezen in de documentatie dus ik ga er voor het gemak maar even vanuit dat je die ook geinclude hebt ;)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

zeker ook programmeermethoden op de uni leiden :D
Of precies dezelfde opdracht die wij hebben.
Bij ons mag je geen iomanip header gebruiken, maar probeer dit eens:

prijs = prijs * 100;
euros = prijs / 100;
centen = prijs % 100;

cout << euros << "," << centen << endl;

en voor afronden op 5 cent doe je het maal 20 ipv 100.

[ Voor 7% gewijzigd door Verwijderd op 18-09-2003 20:50 ]


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Of je pakt gewoon printf :z

Professionele website nodig?


  • PiepPiep
  • Registratie: Maart 2002
  • Laatst online: 08-06 11:02
foxFX, bij iets als 5.05 euro zou jou proggie zeggen :
5,5

486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22


  • _the_crow_
  • Registratie: September 2000
  • Laatst online: 30-03-2025

_the_crow_

Rare vogel

offtopic:
Hmm...programmeeropgave....
/me denkt en denkt waarvan hij die opgave kent.
O ja...Universiteit Leiden. >:)
Geen dingen voorzeggen he mensen.
Je mag et ook gewoon aan Kosters vragen hoor. :P :P

Schrödingers cat: In this case there are three determinate states the cat could be in: these being Alive, Dead, and Bloody Furious.


  • Terranca
  • Registratie: April 2000
  • Laatst online: 21-08 16:10
offtopic:
Ik denk al, komt me bekend voor deze opdracht :D Ook al leiden dus ;)


Ik heb t trouwens ook gewoon opgelost door vermenigvuldigen met 100 en daarna verschillende berekeningetjes. Die 0 kan je er extra bij printen als je getal < 10 is. Heeft Kosters trouwens ook nog op t college donderdag uitgelegd :P

Verwijderd

PiepPiep schreef op 18 September 2003 @ 21:58:
foxFX, bij iets als 5.05 euro zou jou proggie zeggen :
5,5
ok je moet er nog 0.5 bij optellen voordat je gaat delen. Dat was ik even vergeten :D
Pagina: 1