Toon posts:

C++ >> uitlijnen van tekst

Pagina: 1
Acties:
  • 375 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben bezig met een programma te maken voor een voetbalcompetitie. Nu wil ik dus variabele waarden afdrukken op het scherm zodat elke wedstrijd mooi recht onder elkaar komt te staan. Dit zal denk ik wel goed te realiseren zijn met printf, maar ik heb ik C++ eigenlijk alleen nog maar de functie cout gebruikt. Ik wil dus dat het er zo uit kom te zien:

edit: de layout hier fucked het ook :( Ik hoop dat jullie begrijpen hoe het eruit moet komen te zien.


ik heb nu deze regel om het af te drukken:

cout << wedstrijd->teamvoor << " " << wedstrijd->teamtegen << " " << wedstrijd->doelvoor << " " << wedstrijd->doeltegen << "\n";

Ik wou vragen aan jullie of hier een printf regel voor is om ze mooi uit te lijnen??

[ Voor 38% gewijzigd door Verwijderd op 02-04-2003 15:02 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 08-07 15:38
zoek eens op de functie setw()

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op 02 April 2003 @ 15:01:
zoek eens op de functie setw()
thnx, heel handig die functie _/-\o_

Verwijderd

Topicstarter
Het werkt toch nie goed dat setw, want telkens al doe ik dat nou dan gaat hij de karakters die ik als spaties wil hebben achter de variabele naam zetten. Dat heeft dus nog geen effect want al is de ene variabele langer als de ander dan is het nog niet uitgelijnd :(

Verwijderd

Topicstarter
ok deze mag gesloten worden!! Ik heb het namelijk al gevonden, met de functie gotoxy werkt het perfect :D

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
euh ik zou zeggen maak een simpele functie die van een bepaalde string een zekere
grootte maakt ie

[hello world] moet eigen 25 characters worden -> [hello world ]

(is dit setw toevallig?)

dan doe je je cout << column(wedstrijd->teamvoor, 20) << .... ;

en column zet dus die extra whitespaces. je kunt het nog veel ingewikkelder doen met een soort spreadsheet approach maar dit zal vast genoeg zijn.

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 12-06 11:45
Sluit maar niet als er iemand gotoxy() wil gebruiken, da's niet standaard.

Er zijn een paar oplossingen, maar het idee is meestal hetzelfde: Stop je output
in een std::string, resize() tot de gewenste lengte en print. Varianten zijn het resizen
naar een fixed-width en resizen naar lengte van de langste string uit een collectie.

Boost::format heeft 'absolute tabulations', die hetzelfde effect via een makkelijke syntax bereiken.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • writser
  • Registratie: Mei 2000
  • Laatst online: 06-07 23:42
En als de namen van de clubs niet heel erg verschillend zijn van lengte kun
je misschien ook gewoon tabs (\t) gebruiken? Zou het wel een stuk makkelijker maken.
Maar bij wedstrijden als:

C.S.V Tweede Exloermond - Excelsior 1-12
NAC - RBC 1-1

gaat dat wel mis natuurlijk :(

Onvoorstelbaar!


  • c0rneel
  • Registratie: December 2002
  • Laatst online: 08-06 15:07
cout<<setw(2)<<wedstrijd->teamvoor ;
cout<<setw(5)<<wedstrijd->teamtegen;
cout<<setw(8 )<<wedstrijd->doelvoor ;
cout<<setw(11)<<wedstrijd->doeltegen << "\n";
zoiets

-edit- die spatie na de 8 moet weg maar door die leuke smileys...:(

[ Voor 67% gewijzigd door c0rneel op 03-04-2003 11:51 ]


  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 14-06 09:12
ik neem aan dat je windows gebruikt aangezien je daar niets over zegt. Maar als je onder GNU/Linux bezig ben, probeer dan de ncurses library eens, scheelt je een hoop gezeur :)

Rookworst zonder R is ook worst.


  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 21-06 17:10
misschien nog klein tipje (als mosterd na de maaltijd): met setiosflags kan je links en rechts uit laten lijnen

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack


  • KnoppenSpook
  • Registratie: Augustus 2000
  • Laatst online: 04-09-2023
euhm, zijn we het DOS programma tijdperk nog niet uit?
We hebben toch grafische interfaces?

/me weet geen leuke quote voor in zijn signature

Pagina: 1