www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

C++ std::cout težava

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika za začetnike
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
twom
Član
Član



Pridružen-a: Ned 26 Okt 2003 0:37
Prispevkov: 986
Aktiv.: 4.15
Kraj: Ljubljana

PrispevekObjavljeno: Sre Dec 19, 2007 6:49 am    Naslov sporočila:  C++ std::cout težava Odgovori s citatom

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
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
chaos
Član
Član



Pridružen-a: Sob 16 Sep 2006 22:12
Prispevkov: 1063
Aktiv.: 4.64
Kraj: Zagorje ob Savi

PrispevekObjavljeno: Sre Dec 19, 2007 12:37 pm    Naslov sporočila:  Re: C++ std::cout težava Odgovori s citatom

Lahko pripneš cel program oz. relevanten del kode?
Jaz tukaj ne vidim, v čem je problem. A se ti vsi stolpci poravnajo desno? A nastaviš width za vse stolpce? A že kje prej v programu spreminjaš stream format flage? Poskusi resetirati flage (resetiosflags) pred tem izpisom.

Sem na hitro preizkusil:
Koda:

cout << setiosflags( ios::left ) << setw( 6 ) << values1[i] << resetiosflags( ios::left ) << setw( 10 ) << setprecision( 1 ) << values2[i] << endl;


... pa dela normalno ...

LP!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
twom
Član
Član



Pridružen-a: Ned 26 Okt 2003 0:37
Prispevkov: 986
Aktiv.: 4.15
Kraj: Ljubljana

PrispevekObjavljeno: Sre Dec 19, 2007 3:01 pm    Naslov sporočila:   Odgovori s citatom

Hvala za namig!

Na začetek vrstice
std::cout << std::setiosflags(std::ios::left) << std::setw(8 ) << std::setprecision(1) << value;
sem dodal še << std::resetiosflags(std::ios::right) in sedaj deluje kakor sem hotel.

Sem mislil da std::setiosflags(std::ios::left) override-a predhodno std::setiosflags(std::ios::right) komando (ki jo uporabljam pri predhodnih izpisih).


Lp,
Peter
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika za začetnike Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 8 dni


Powered by phpBB © 2001, 2005 phpBB Group