C++ std::cout težava

peter_nn

Pripravnik
4. okt 2007
509
2
18
V programu naredim 10x4 space separated tabelo, leva poravnava (vrednosti od -20.0 do +20.0)
Izpisujem v zanki s
std::cout << std::setiosflags(std::ios::left) << std::setw(8 ) << std::setprecision(1) << value;
Vrstico zaključim s std::cout << std::endl;

Težava je, da vedno dobim desno poravnavo.
Če preskočim del kode z meritvami (in "nakjučno" generiram tabelo) pa mi tabelo izšiše tako, kot želim z levo poravnavo.

Sem brez ideje kaj je narobe in kaj naj naredim.

Lp,
Peter
 

stein

Fizikalc
16. sep 2007
19.575
1
36
Torej

value = random();

std::cout << std::setiosflags(std::ios::left) << std::setw(8 ) << std::setprecision(1) << value;



izpise levo,



value = meritev();

std::cout << std::setiosflags(std::ios::left) << std::setw(8 ) << std::setprecision(1) << value;



pa desno ?

a meritev() šari kaj po std::cout ?
 
Nazadnje urejeno:

peter_nn

Pripravnik
4. okt 2007
509
2
18
Na začetek vrstice za izpis sem dodal << std::resetiosflags(std::ios::right) in sedaj deluje.

Izgleda kot da << std::setiosflags(std::ios::left) ne override-a ukaza << std::setiosflags(std::ios::right) pri predhodnih izpisih.

Samo na koncu delam levo poravnavo zaradi tabele, drugače pa je povsod desna.


Sedaj deluje, edino ni mi jasno zakaj.

Lp,
Peter
 

stein

Fizikalc
16. sep 2007
19.575
1
36
Citat:
Uporabnik peter_nn pravi:
Sedaj deluje, edino ni mi jasno zakaj.
Probal prebrat navodila ?
wink-1.gif