[c++] Couleurs de la console

Résolu/Fermé
Astrofan - 19 janv. 2007 à 14:49
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 16 déc. 2015 à 22:48
Bonjour tout le monde!!

Malgré les multiples conseils que j'ai vus sur ce site, je ne comprends toujours pas comment mettre dans mon programme en C++ un fond bleu clair et des lettres rouges!!

Quelqu'un pourrait m'expliquer plus en détail??

Merci parce que là...je suis paumé!!

Je suis en train de créer un programme d'électrotechnique qui permet de calculer automatiquement les formules!!

Merci d'avance!

Bonne Année!!
A voir également:

16 réponses

salut la couleur en mode console rien de plus simple on peu changer en meme temps la couleur du texte que celle du background de la console avec la fonction
system("color £#) où £ represente la couleur du texte et # la couleur de fond de la console voici les differentes correspondances pour les couleurs :
0 = Noir B=Cyan
1 = bleu foncé C=rouge
2 = vert D=rose
3 = bleu-gris E=jaune
4 = Marron F=blanc
5 = pourpre
6 = kaki
7 = gris clair
8 = Gris
9 = Bleu-clair
A = vert-clair

EXEMPLE D'APPLICATION: ecrire C++ qui affiche BONJOUR FORUM COMMENTCAMARCHE en bleu dans une console de couleur rose

RESOLUTION DE L'EXEMPLE D'APPLICATION:

#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{
system("color 1d");
cout<<"BONJOUR FORUM COMMENTCAMARCHE"<<endl;
return 0;
}


J'espere que ceci vous aidera!
amitié------fraternité-----respect
esprit de recherche et d'innovation
4
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 816
4 avril 2012 à 08:53
Tu mélanges le c++ et le c. Et sous windows il vaut mieux utiliser l'api que la fonction system.
0
merci
0
Utilisateur anonyme
16 déc. 2012 à 02:36
Meci!!!
0
mehdi the geek
21 juil. 2014 à 17:25
mercii bcp
0
afin de mettre un fond bleu et des lettres rouges il faut inclure conio2.h
tools->check for updates/packages
tu met le devpack server a devpacks.org ...
tu verras une liste de librairies apparaitre
tu trouveras un conio tu le telecharge

puis dans ton projet tu ajoute les linkers
project options -> parametres
-conio2
../lib/libconio.a

j'ai deja essayé et ça marche ;)
2
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 816
23 août 2010 à 22:07
Oui, on n'en doute pas que ça marche.
Mais on a dit que conio, ce n'est pas portable !!!

Il vaut donc mieux utiliser Ncurses.
0
mamiemando Messages postés 32283 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 mars 2023 7 572
24 août 2010 à 00:42
Merci fiddy tu m'ôtes les mots de la bouche :-)
0
###########EH REGARDE ICI##########
Utilise la fonction system(color ##), et a la place des diézes tu entre un caractere de cette liste
0=noir 1=bleu foncé 2=vert 3=bleu gris 4=marron 5=pourpre 6=kaki 7=gris claire 8=gris 9=bleu claire B=cyan C=rouge D=rose E=jaune F=blanc

le premier chiffre correspond a l'arriére plan (exemple: system(color F#); le fond est blanc) et le second chiffre correspond au texte donc system (color E2); il y aura un fond jaune et du texte vert ATTENTION ne pas mettre de virgule entre les 2 argument et ne pas oublier le point virgule

ALLER BY ^^
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 816
14 juil. 2011 à 11:35
@MY,
Pas besoin de mettre des dièses pour mettre en évidence ton commentaire...
De plus, system est une fonction à éviter pour deux raisons : fonction pas efficace, on préférera utiliser une API (déjà évoquée dans un post ci-dessus), et ta méthode n'est pas portable : il vaut mieux utiliser une bibliothèque (également déjà évoquée).
Cdlt,
0
mamiemando Messages postés 32283 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 mars 2023 7 572
19 janv. 2007 à 19:00
Euh comment ça ?
C'est un programme qui se lance dans une fenêtre et tu voudrais changer des couleurs ? Ou il se lance dans une console ?
0
oui c'est un programme en mode console car je ne sais encore faire le mode fenêtre!!

sais-tu comment faire??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 32283 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 mars 2023 7 572
20 janv. 2007 à 04:53
A priori il faut utiliser la librairie ncurses.

bonne chance
0
ncurse fonctionne très bien et est très facile à utiliser. ncurse t'offre d'autres passibilités comme redimensionner la console, créer des cadres, écrire à des coordonnées spécifiques...
Il y a aussi termios, mais je n'a jamais essayé.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 522
20 janv. 2007 à 14:38
Salut,

Pas besoin de ncurses, c'est une histoire de caractères spéciaux à afficher dans la console.
Voici un tutorial là dessus:
https://openclassrooms.com/fr/courses
0
mamiemando Messages postés 32283 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 mars 2023 7 572
20 janv. 2007 à 15:11
Oui mais a priori ca va dépendre de ton shell. Typiquement la tu donns les séquences d'échappement en bash (sous linux) alors qu'astrofan veut faire ça sous windows. L'avantage c'est qu'en ncurses tu dois pouvoir être indépendant du type du shell et au moins de l'OS. Et pourtant si tu installes cygwin on voit qu'il est possible d'avoir des couleurs dans la fenêtre "commandes msdos" ! Mais rien ne dit que ce sont les mêmes séquences d'échappement.

Bonne chance
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 522
20 janv. 2007 à 15:25
Ah oui tu as raison, j'avais pas pris en compte la portabilité...
0
mamiemando Messages postés 32283 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 mars 2023 7 572
21 janv. 2007 à 13:43
Pas de soucis :-)
0
Med from Sfax
16 juin 2007 à 18:38
Salut
Voici un morceau de code qui résoudra le probleme de couleur
#include<widows.h>
#include<stdio.h>
int main()
{
HANDLE manip_console=GETSTDHANDLE(STD_OUTPUT_HANDLE);
int couleur1,couleur2;
SetConsoleTextAttribute(manip_console,couleur1|couleur2);
printf("Un texte d'essai\n ");
return 0;
}
et le tour est joué
bon couleur1 et couleur 2 c'est pour le fond et le texte

ou bien t'as qu'à ,telecharger econio.h et econio.cpp
Ciao
0
mamiemando Messages postés 32283 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 mars 2023 7 572
17 juin 2007 à 15:25
Sauf que ça ne marchera que sous windows ;)
0
Et Windows, c'est mal.
0
EtiN Messages postés 70 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 24 juin 2010 7
24 juin 2010 à 09:01
ça c'est vrai. (linux powaa)
0
Et windows c'est très bien fait, et ça constitue la large majorité des ordinateurs.
0
mamiemando Messages postés 32283 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 mars 2023 7 572
12 nov. 2010 à 12:43
Sauf que ce n'est pas la question. Quand on peut faire un truc qui marche partout et un truc qui marche à certains endroit à coût équivalent, pourquoi ne pas choisir l'approche universelle ?
0
curite Messages postés 49 Date d'inscription dimanche 8 février 2009 Statut Membre Dernière intervention 24 février 2011 13
24 juin 2010 à 08:58
Bonjours, tu n'a qu'a regarder ici https://openclassrooms.com/fr/courses c'est en c mais c'est facilement adaptable.
0
lien mort. dommage c'était un bon tuto
0
mamiemando Messages postés 32283 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 mars 2023 7 572
10 nov. 2010 à 18:12
Effectivement il ne reste que la partie linux :
http://www.siteduzero.com/tutoriel-3-35298-des-couleurs-dans-la-console-linux.html

... raison de plus pour passer par une librairie ;-)
0
BaptisteM71
19 mai 2011 à 19:32
Pourquoi, il à supprimé le lien???
J'en ai besoin!
0
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 3 005
30 juin 2011 à 04:12
J'aime pas trop déterrer les vieux sujets, mais lorsque je fais des recherches sur Ncurses, le système supporté est POSIX, alors comment l'utiliser sous Windows ?

Note : moi je voudrais juste changer la couleur du texte et du fond d'écran de la console dans un projet C++/OpenGL/GLUT, de préférence portable, mais au minimum Windows.
0
mamiemando Messages postés 32283 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 mars 2023 7 572
30 juin 2011 à 14:57
En cherchant un tout petit peu sur google "libncurses windows" on trouve ceci :
https://en.wikipedia.org/wiki/Ncurses

qui mène ici :
http://gnuwin32.sourceforge.net/packages/ncurses.htm

Et voilà ;-)
0
Bonjour j'ai lu toutes vos réponses mais beaucoup de vos liens sont morts ( je sais j'arrive tard après la bataille ) j'ai le même soucis sous windows j'aimerais changer la couleur du texte dans la console mais seulement partiellement , juste sur quelques mots qui doivent s'afficher en bleu, savez vous comment faire ?
Avec vos conseils j'ai réussi à afficher tout le terminal en bleu, mais pas juste les mots qui m'intéressaient:/
merci d'avance
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 816
7 nov. 2015 à 15:14
Le lien pour pdcurses n'est pas mort.
De plus, il y a un post qui donne un bout de code sans lien (post #8).

Je t'invite donc à relire tout le fil, et tu trouveras la réponses à tes questions. N'hésite pas à ouvrir un nouveau post si tu n'y arrives pas.
0
morgane > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
8 nov. 2015 à 12:19
j'ai bien relu tout le fil , mais je ne vois pas de conseil permettant de mettre en couleur seulement une partie du terminal et non le terminal en entier , j'ai vraiment besoin d'afficher seulement une partie d'une chaine de caractère en bleu et non toute la console, si vous savez faire ça ou si vous connaissez un bon tutoriel je suis preneuse !
merci beaucoup
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 816 > morgane
8 nov. 2015 à 14:58
Et ça, ça ne te convient pas : https://openclassrooms.com/courses/des-couleurs-dans-la-console-linux ?
0
non parce que déjà c'est en c et que je n'ai aucune connaissance de ce langage pour le traduire et le tuto pour Windows de cette page est mort et je cherche les deux versions, celle linux et celle Windows (car actuellement je code sous Windows mais le programme final doit tourner sous linux ).
J'ai regardé ce lien, quand je dis que j'ai tout lu je ne mens pas , pas besoin d'être agressif, j'ai un soucis , je demande de l'aide et si personne ne peut m'aider ici ce n'est pas grave, je demanderai ailleurs :)
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 816
Modifié par fiddy le 8/11/2015 à 23:47
Ce n'était pas un ton agressif, rassure-toi ;-).

Sinon, oui le post était en C. Pour le C++, tu as juste à remplacer printf("...") par std::cout << "..."; et remplacer stdio.h par iostream.

Dans ton cas (portabilité sur windows et GNU/Linux), le seul moyen est l'utilisation d'une bibliothèque tierce. Ncurses par exemple. Un tuto : https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/
Note : il me semble un peu vieux le tuto. Mais en même temps, c'est pas tout neuf cette bibliothèque. Si tu veux plus de modernité, il faudra passer sur une bibliothèque à fenêtre comme Qt, GTK2+.
0
mamiemando Messages postés 32283 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 mars 2023 7 572
24 juin 2010 à 09:46
Outre le fait qu'on a dit que conio ne permettait pas d'avoir un programme portable (qui fonctionne sous windows, linux...) contrairement à un programme basé sur la librairie ncurses, ce programme comporte un certain nombre de fautes (dont l'inclusion #include <windows.h>).
https://en.wikipedia.org/wiki/Ncurses

Donc merci de prendre 2 minutes la prochaine fois pour lire ce qui a été écrit auparavant.
-1
Voici mon code sur code::block en c++ profiter bien :D


#include <iostream>
#include <stdlib.h>
using namespace std;

int main()
{
system("COLOR 1");
cout << "Bonjour Mon ptit vieux" << endl;
system("COLOR 2");
cout << "comment sava ?" << endl;
system("COLOR 3");
cout << "j'ai enfin reussi a mettre le texte en couleur!" << endl;
system("COLOR 4");
cout << "c'est une grande chose ? non ?" << endl;
system("COLOR 5");
cout << "aller travaille bien Michou" << endl;
system("COLOR 6");
cout << "bye" << endl;
system("COLOR 7");
cout << "bye" << endl;
system("COLOR FC");
cout << "bye" << endl;
return 0;
}
-3
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 816
16 déc. 2015 à 22:48
system("...") est déconseillé... Cf. le fil.
0