[C++] Justowanie tekstu wyświetlanego na konsoli.
Ostatnio zmodyfikowano 2014-01-14 22:12
Apolyon Temat założony przez niniejszego użytkownika |
[C++] Justowanie tekstu wyświetlanego na konsoli. » 2014-01-14 11:47:14 Witajcie,
chciałbym prosić o pomoc, a raczej nakierowanie na problem jaki mam rozwiązać.
Chciałbym w jakiś konkretny sposób uzyskać wyjustowany tekst wczytany z pliku, na konsoli o szerokości linii 180 znaków. Nie wchodzą w grę niestety żadne gotowe biblioteki/funkcje, nie proszę też o gotowy kod, jedynie naprowadzenie mnie jak najefektywniej uzyskać pożądany efekt.
Aktualnie myślałem o wykorzystaniu tablicy(?), w której przechowywałbym tekst oraz znajdował spacje, wziąć tyle słów by zmieściło się w 80 znakach i dopisywać spacje - i teraz pytanie gdzie? Czy dopisywać je od mniej więcej środka zdania czy od lewej/prawej równomiernie w stronę środka? Nie wiem czy dobrze myślę, że tablica byłaby tu najlepsza...
Gdyby ktoś miał jakąś cenną wskazówkę, byłbym bardzo wdzięczny. A najbardziej usatysfakcjonowałby mnie algorytm. :)
Kodu jeszcze nie mam, teoretyzuję, szukam najprostszego rozwiązania. Miałem długą przerwę od C++ stąd moja prośba. |
|
RazzorFlame |
» 2014-01-14 16:57:04 Użyj gotoxy. Żeby wyliczyć gdzie masz tekst umieścić użyj tego: string tekst;
int len = tekst.length(); int x = 180 / 2 - len / 2; gotoxy( x, 0 );
Ofc, musisz też ustawić potem aktualny wiersz. |
|
pekfos |
» 2014-01-14 18:02:21 |
|
RazzorFlame |
» 2014-01-14 21:28:12 @Up, znowu? Nie nudzi Cię to? Po pierwsze: gotoxy jest na tyle znane że po wpisaniu w google bez problemu autor znajdzie setki jak nie tysiące pomocnych stron a po drugie jeśli chodzi o to że autor nie chciał żadnej gotowej biblioteki to sam wiesz jakie jest rozwiązanie tego problemu: prawie żadne. Jedyne co to mógłby się pofatygować i użyć wstawek asm-a bo każda inna gotowa funkcja jest niedopuszczalna. |
|
Monika90 |
» 2014-01-14 22:12:43 Czy masz już tekst podzielony na linie i chcesz wyjustować każdą linię osobno, czy też algorytm ma tekst dopiero podzielić i wyrównać do lewej i prawej? |
|
« 1 » |