TEXTO CAMBIANDO DE COLOR SIN PARAR Y ESCRIBIR AL MISMO TIEMPO¿COMO?

CodigoDavid
03 de Abril del 2005
Hola, llevo un tiempo intentando hacer algo y todavia no se como hacerlo, seria lo siguiente, representa que habria un texto en la pantalla, por ejemplo "Hola programadores" que continuamente y indefinidamente iria cambiando de color gracias a un bucle y demas, pero es que al mismo tiempo quiero que mediante una serie de sentencias, entre ellas la scanf pueda yo escribir en la pantalla mientras hay un texto por alli cambiando de color continuamente, pero claro, como estoy utilizando un bucle para el texto que cambia de color sin parar pues entonces no puedo escribir al mismo tiempo en la pantalla, en principio la primera solucion que saltaria a la vista seria implementar el codigo para poder escribir en la pantalla dentro del bucle del texto que va cambiando de color, pero claro el problema llega cuando vaya a escribir por que durante el tiempo que este escribiendo el texto para de cambiar de color, y entonces me pregunto yo, ¿como se puede hacer para conseguir lo que yo digo?gracias

Noel Solw
03 de Abril del 2005
Fijate si esto es lo que quieres :

// borland C++ - ver 3.1

#include <stdlib.h>
#include <dos.h>
#include <string.h>
#include <conio.h>

const char *msg1 = "hola programadores.",
*msg2 = "entre datos, ESC para salir --> ";
const int len = strlen(msg1),
MAX = 30;

void main()
{
clrscr();
int x = strlen(msg2) + 6, y = 20, index = 0;
gotoxy(1,y);
cprintf("entre sus datos, ESC para salir -->");
char in[MAX+1];
for(char a;a != 27;)
{
gotoxy(10,10);
for(int i = 0;i < len;i++)
{
textcolor(random(15)+1);
cprintf("%c",msg1[i]);
}
if(kbhit())
{
gotoxy(x++,y);
a = getch();
if(a != 27)
{
textcolor(YELLOW);
cprintf("%c",a);
in[index++] = a;
if(index > MAX)
a = 27;
}
}
}
in[index] = 0;
gotoxy(10,23);
textcolor(WHITE);
cprintf("%s nn",in);
getch();
}