C - vystup realneho cisla

Programovacie jazyky, rady, poradňa...
zvonenie33
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 905
Registrovaný: 09 jún 2005, 14:23
Bydlisko: Myslis si ze sa ta netyka stiepna reakcia vodika?
Kontaktovať používateľa:

C - vystup realneho cisla

Príspevok od používateľa zvonenie33 »

Mam takyto problem:
Chcem aby mi realne cislo vypisalo na najnizsi mozny pocet desatinnych miest. (tj. ak je to 10/4 tak ako 2.5 ale ak 225/100 tak ako 2.25.
V Cecku som uplny zaciatocnik
Dakujem
Frigo112
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 51
Registrovaný: 19 apr 2008, 10:43
Kontaktovať používateľa:

Príspevok od používateľa Frigo112 »

Nazdar.Tak namiesto int daj pred premennu float alebo double.

napr:
float a;
double a;
tuti
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 740
Registrovaný: 01 okt 2006, 19:23
Bydlisko: Prievidza

Príspevok od používateľa tuti »

frigo112: kravina... ked ma realne cislo tak nemoze mat int ;)

printf som uz davno nepouzil ale myslim ze cecko je natolko inteligentne ze to vypisuje na najmensi pocet miest...

tebe staci pouzit %f

Kód: Vybrať všetko

printf("realne cislo su %f %f %f", 3.12, 0.125, 1.5)
pre uplnost vsetky formatovacie znacky: http://www.cplusplus.com/reference/clib ... rintf.html
zvonenie33
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 905
Registrovaný: 09 jún 2005, 14:23
Bydlisko: Myslis si ze sa ta netyka stiepna reakcia vodika?
Kontaktovať používateľa:

Príspevok od používateľa zvonenie33 »

tuti napísal:frigo112: kravina... ked ma realne cislo tak nemoze mat int ;)

printf som uz davno nepouzil ale myslim ze cecko je natolko inteligentne ze to vypisuje na najmensi pocet miest...

tebe staci pouzit %f

Kód: Vybrať všetko

printf("realne cislo su %f %f %f", 3.12, 0.125, 1.5)
pre uplnost vsetky formatovacie znacky: http://www.cplusplus.com/reference/clib ... rintf.html
ak dam
c=10/4;
printf("%f",c);
tak na vystupe mam 2.5000
///EDIT
Tak uz to mam. Stacilo dat %g miesto %f. Ale aj tak diky za pomoc
Frigo112
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 51
Registrovaný: 19 apr 2008, 10:43
Kontaktovať používateľa:

Príspevok od používateľa Frigo112 »

Ved ja nehovorim ze ma dat int. ja hovorim float, alebo double

//autoeditácia príspevku ( 06 Jul 2008, 18:10 )
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
float a = 10;
float b = 4;
float c = a/b;
cout << c << endl;

system("PAUSE");
return EXIT_SUCCESS;
}


vysledok 2.5
tuti
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 740
Registrovaný: 01 okt 2006, 19:23
Bydlisko: Prievidza

Príspevok od používateľa tuti »

c nie je c++ ;) takze ziadne cout
Frigo112
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 51
Registrovaný: 19 apr 2008, 10:43
Kontaktovať používateľa:

Príspevok od používateľa Frigo112 »

sory
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

tuti napísal:c nie je c++ ;) takze ziadne cout
ale údajové typy sú v ňom rovnaké
tomPD
Star
Star
Používateľov profilový obrázok
Príspevky: 679
Registrovaný: 17 okt 2005, 14:41
Bydlisko: Senec
Kontaktovať používateľa:

Príspevok od používateľa tomPD »

audiotrack napísal:ale údajové typy sú v ňom rovnaké
Hej ale je rozdiel medzi cout a printf ;) uz len vo formatovani vystupneho textu
Napísať odpoveď