Question

laissez-nous avoir une situation dans laquelle le programme suivant imprime environ 10 lignes de #

for(i=0;i<10;i++)
prinf("\n#");

maintenant, comment revenir à la 5 ème ligne et éditer ce # et en changer la couleur sans effacer l'écran ou les 5 lignes ci-dessous?

j'ai essayé

window(5,0,20,20);
textcolor(GREEN);
cprintf("#");

mais il n’est pas en train d’éditer celui-là mais il est imprimé sur le côté de l’original. Pourquoi?

existe-t-il un autre moyen de le faire et de changer dynamiquement la couleur du texte déjà imprimé? aidez-moi s'il vous plaît .. mon environnement est turbo c sur windows

Était-ce utile?

La solution

La fonction de fenêtre

créera généralement une fenêtre à partir du pixel correspondant aux deux premières coordonnées, c'est-à-dire, dans votre exemple (5,0), au pixel pointé par les 2 coordonnées suivantes. donc votre programme devrait fonctionner

l'essayer ou bien utiliser gotoxy ()

Autres conseils

On dirait que vous mélangez printf avec une autre bibliothèque de sortie - cela n'est pas recommandé. Printf s'attend à être envoyé à un terminal de caractère, tandis que la bibliothèque de sortie en question peut supposer à tort qu'elle dispose d'un accès exclusif (et peut se comporter de manière incorrecte.)

Sur la base d’une fonction, vous utilisez probablement conio.h. La documentation peut être trouvée ici , avec une table des matières montrant chaque fonction disponible. À partir de cet index, vous devriez pouvoir repérer la fonction instantanément.

La fonction window ne fait pas ce que vous voulez, car elle ne définit que la zone dans laquelle le curseur peut changer de texte - elle ne déplace pas le curseur, vous devez utiliser les autres fonctions de la bibliothèque.

-1: Quelques conseils pour publier des questions sur les devoirs:

1) Obtenez la bonne question! Le code publié ne fonctionne pas car la description indique:

 for(i=0;i<10;i++)
    prinf("#");

Ceci imprimera 10 caractères # sur une ligne, car il n'y a pas de caractère de fin de ligne. La description originale parle de "l’impression de 10 lignes".

2) Donnez les détails nécessaires: Quel environnement utilisez-vous: Windows? Linux? Quel compilateur? Est-ce un environnement fenêtré ou textuel?

3) STFW avant de poster. Recherchez les "séquences d'échappement ANSI". ou "positionner le curseur".

peut-être-

cprintf("\b#");

'b' est pour le retour arrière

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top