CUESTIÓN

No logro que me funcione el movimiento del cursor en la práctica. Yo tenía puesto:
system("tput cup lugar 3"); 
lugar es una variable entera donde está la columna donde tiene que ir el cursor. Hablé con el profesor y me dijo que poniendo eso lo que hacía era que aparecieran los caracteres 'l', 'u', 'g', 'a' y 'r' en la cadena que se pasa a system, no el contenido de la variable lugar. Así que, ni cort@ ni perezos@, lo cambié por:
system("tput cup %d 3",lugar); 
Y me sigue sin funcionar. ¿Me tiene manía el ordenador?

SOLUCIÓN

Si la variable lugar contiene 13, por ejemplo, a system hay que pasarle una cadena de caracteres con los caracteres {'t','p','u','t',' ','c','u','p',' ','1','3',' ','3','\0'}. Hay varias maneras de hacerlo. La más sencilla sea quizás:
char cadena[30];
[...]
sprintf(cadena, "tput cup %d 3", lugar);
system(cadena);
[...]   
En cuanto a la última pregunta, el ordenador probablemente no te tiene manía, Kernighan y Ritchie puede que sí.
© 2000 Guillermo González Talaván.