Hogyan lehet úgy kiírni konzolra, hogy középre írja ki a szót az adott sorban rendelkezésre álló helyen (beállított hossz)?
Így gondoltam:
_________kiirtszoveg_________
Az alulvonások a space-eket jelölik. A szöveg plussz a space-ek hosszát (az egész hosszát) én állítom be, mindig nagyobb, mint a szöveg. Tudom, hogy ezt a hosszt kell venni, levonni belőle a kiirt szöveg hosszát, elosztani kettővel és megkapom az első és a hátsó space-ek számát... de nem tudom, milyen paranccsal tudom megadni, hogy ennyi space-t hagyjon ki mindkét oldalt (vagy akár csak bal oldalt). A width()-t már próbáltam, nem értem, hogy működik, nagyon nagy helyet hagyott ki, bármilyen számot adtam meg neki. Ráadásul azt is meg kell adnom, hogy milyen hosszú legyen a kiirt szöveg a space-ekkel.
Szia.
Vegyél fel egy 40 darab spacét tartalmazó stringet 80 karakteres képernyő esetén (illetve képernyőhossz/2 darab spacét tartalmazó stringet).
Aztán amikor kiszámoltad, hány space kellene a szöveg elé akkor ebből a stringből substring vagy részstring (nem tudom milyen függvény van rá C++-ban) segitségével irasd ki először az X darab spacét, aztán a szöveget.
Ha nem akarsz substringekkel bajlódni akkor for ciklus x-ig és egy egy darab space kiratása soremelés nélkül, aztán szöveg kiiratása soremeléssel.
Sok sikert.
Üdv.
Törölték a másik kérdést, ahova válaszoltam, mivel karakterre ugyanazt írtad ki mint itt, annak ellenére, hogy már itt kaptál választ. Nem is egyet.
Amit én akartam írni, az Sir Butcher megoldása, csak lépésekre bontva. Leírom azért, hátha használ:
1. Meghatározod a kiírandó szöveg hosszát, nyilván van rá egy length függvény.
2. Meghatározod a szélességet, amin belül akarsz közepelni.
3. Összesen szélesség-hossz db space-re van szükséged.
4. Bal oldalra ennek a fele, jobb oldalra szintén.
5. For ciklussal kiíratod a bal oldali space-eket.
6. Kiírod a szöveget.
7. For ciklussal kiíratod a jobb oldali space-eket.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!