Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet úgy kiírni...

Amanda88 kérdése:

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)?

Figyelt kérdés

Í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.



2014. szept. 23. 04:54
 1/6 A kérdező kommentje:
Ja és C++-ban, elfelejtettem odaírni... -.-
2014. szept. 23. 05:59
 2/6 anonim ***** válasza:
Írass ki előtte annyi space-t.
2014. szept. 23. 08:11
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:
Nézd meg hány karakter hosszú, hány space kell még a teljes sor kitöltéséhez, a kapott space számot oszd el kettővel, és írj a szöveged elé annyit, amennyi kell.
2014. szept. 23. 08:14
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:
a kiirtszoveg mértete mindig változik...string.size()-al meg tudom nézni a méretét, de így nem tudom kézzel beírni, hány space kell... más ötlet?
2014. szept. 23. 09:55
 5/6 coopper ***** válasza:

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.

2014. szept. 23. 10:40
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:

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.

2014. szept. 23. 11:03
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!