[ kandelabr @ 09.01.2010. 13:23 ] @
E ovako, trebao bih da ispisujem neke poruke i da mi se automatski pomera kursor na ekranu, pri cemu je y koordinata uvek na nuli, evo primer:
Code:
for(int i=6; i<50; i+=6){
        cout << "10\n"<<"a"<<endl;
          curPos(i,0);
        
      }

pri cemu sam ovu f-ju curPos iskopao ne netu i ona glasi
Code:
void curPos(int x, int y) {
  HANDLE hStdout;
  CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
  hStdout=GetStdHandle(STD_OUTPUT_HANDLE);
  GetConsoleScreenBufferInfo(hStdout, &csbiInfo);
  csbiInfo.dwCursorPosition.X=x;
  csbiInfo.dwCursorPosition.Y=y;
  SetConsoleCursorPosition(hStdout, csbiInfo.dwCursorPosition);
}


E sad izlaz ovakvog programa je nesto ovako:

Code:

10      10      10      10      10      10      10       10
a


a meni bi trebelo
Code:

10     10     10     10     10     10     10     10
a      a      a      a      a      a      a      a


Problem je u tome sto svaki put kad se ispise kraj reda on sledeci red pocinje od pocetka i pri tome prepise staro a, a ja bih zeleo da i sledeci red pocinje od istog pomeraja na x-osi.

Ako neko ima resenje problema, ja se maximalno zahvaljujem.
[ Mihajlo Cvetanović @ 11.01.2010. 09:35 ] @
Zeza te onaj \n u cout << "10\n". Da bi ti ovo radilo moraš da pozivaš curPos(0,x), ispišeš 10, zatim curPos(1,x), i ispišeš a. Praktično pravilo je ako sam kontrolišeš kurzor onda ne koristiš \n.
[ kandelabr @ 11.01.2010. 11:52 ] @
Znam, skapirao sam ja to ali je stvar sto je ovaj programcic samo mali primer mog problema.
Meni u stvari treba da se ispisuju slova kao na displejima npr.
___
|
---
|
---

s tim sto se ona mogu naci bilo gde na ekranu, pa mi treba da kad se ispise ova gornja linija, i kad se predje u novi red da se kursor automatski pozicionira ispod a ne da ode na pocetak reda.
A ja sam slova pamtio kao stringove, npr. za E " ___\n| \n --- \n| \n --- "
Problem je upravo ono sto si rekao, kad se uradi \n on odma ode na pocetak sl. reda, tako da tu nesto mora da se sredi.
Hvala u svakom slucaju!
[ Mihajlo Cvetanović @ 11.01.2010. 12:07 ] @
Moguće rešenje bi bilo da imaš funkciju koja prima početnu koordinatu, kao i string sa \n delimiterima, i onda deli taj string na podstringove bez \n, i svaki od delova ispisuje u novom redu, s tim što je X koordinata konstantna. Drugo rešenje je da u toj funkciji primaš niz stringova umesto jednog stringa, ali u suštini svodi se na isto.