[ wiktor91 @ 08.12.2009. 18:46 ] @
Radim proracun udaljenosti 2 tocke na ekranu i ta udaljenost se uvijek ispisuje u kutu kako ja pomocu tipkovnice pomičem te 2 točke, koristim WinBGIm biblioteku za grafiku i u njoj postoji funkcija outtextxy() koja ispisuje tekst na x,y kordinati.

Ta funkcija prima samo string varijable i ne prihvaca int tako da moram svoj rezultat onda pretvoriti u string kako bi ga mogao ispisati pomocu te funkcije, za to koristim itoa() funkciju i sve radi savršeno bez problema tako dugo dok ne priblizim te 2 tocke toliko da je udaljenost manja od 100px, e onda mi se dolje rezultat resetira i počne brojati od 990 sa korakom od 10, kao da se cjeli rezultat pomnoži za 10. Dali je netko imao takav problem?

Samo da napomenem da sam probao i na običnom primjeru sa brojevima manjim od 100 i opet je davalo rezultat pomnožen sa 10 tako da nije do mojeg programa i izračuna nego vjerovatno nešto krivo radim sa itoa() funkcijom ili čim več.

Več mi ja palo na pamet da napravim if-then kada je rezultat manji od 100 i rezultat jednostavno djelim sa 10 ali to mi je totalno neprihvatljivo i glupo rješenje.
[ Mihajlo Cvetanović @ 08.12.2009. 19:19 ] @
Nisi dao kod koji pokazuje kako koristiš itoa. Da jesi videli bismo da nije problem u itoa, već u načinu na koji outtextxy radi. Ako je novi string kraći od starog onda stari string neće biti potpuno prebrisan nego će ostati nešto od njega na ekranu. Da bi ovo rešio umesto itoa koristi sprintf(tvoj_string, "%4d", tvoj_broj). Broj će na ekranu zauzimati 4 znaka, što je valjda dovoljno za tebe. Ako nije onda povećaj tu četvorku.
[ wiktor91 @ 09.12.2009. 14:17 ] @
Hvala ti puno na odgovoru sprintf je rješio moj problem, sad sve radi ko zmaj!