Wyświetlanie w tabeli C / C++


(Matrix) #1

Witam. Szukam rozwiązania wyświetlania danych jakby w ramkach / tabeli. Mam np. 4 kolumny, i zeby w każdej komórce tekst był równany do prawego. Ew. jak tekst / string jest dluższy od X to przenosi na nową linie.

coś w deseń:

Kolumna | Kolumna | Kolumna | Kolumna |

tekst | dłuższy | .........| ...........|

tekst |

mam nadzieję, że zobrazowałem przypadek dobrze :wink:


(Fiołek) #2

Konsola czy okienka?

Jeśli konsola: musisz to sobie sam napisać.

Jeśli okienka: jw. tylko trochę mniej roboty z pozycjonowaniem tekstu.


(Matrix) #3

Nic sie samo nie napisze... wiem ze w printf() jest coś jak ustalanie max. pozycji tekstu. od - do.. tylko nie pamiętam...


(Fiołek) #4

Trafne stwierdzenie. Nic samo się nie napisze. A więc nie pisz takich postów, tylko usiądź do kompa, napisz ten program i nie śmieć forum.

printf ma tylko ustalanie ilości miejsc w liczbach. iostream ma możliwość formatowania tekstu. A więc dosiądź do dokumentacji i ją przejrzyj.


(Matrix) #5

Już wczoraj znalazłem w mojej 'biblli' do C++, funkcja fill() wypełnia znakami:

cout.fill('*');

i dostosowywanie szerokości pól:

int width(); // zwraca jaka jest aktualna szerokość komórki

int width(int i); // ustawia jaka ma być szerokość komórki


cout <<'#';

cout.width(12);

cout<<12<<"#"<<24<<"#\n";

wynik bedzie taki m/w:

12#24

O to mi chodziło :wink:

Pozdrawiam :slight_smile:

(Szkoła Programowania - Język C++, Stephen Prata, str. 1060 ;])