Couleur en c++

yan -  
 Genroa -
Bonjour,

je voudrais savoir comment faire pour integrer des couleurs dans mon programme c++, lorsque mes résultats s'affiche sous ms-dos.
pourriez vous me donner la commande?

merci,

18 réponses

yan
 
voila c'est pour faire apparaitre le menu en couleur!!!! mais c'est du c++.l'erreur : il me dit que textcolor n'est pas défini alor ke j'ai intégré la librairie conio.h



#include "CImg.h"
#include<math.h>
#include<stdio.h>
#include<conio.h>

void main()
{

printf("PLAN DE MON PROGRAMME\n\n\n\n");
printf("I. PROGRAMMER LA CONVOLUTION\n");
printf("\n- CONVOLUTION\n\n");
printf("\n\n -LA CONVOLUTION AVEC UN MASK ALÉATOIRE");
printf("\n\n -LA CONVOLUTION AVEC UN MASK QUI PERMET AUCUN CHANGEMENT");
printf("\n\n -CONVOLUTION AVEC MASK SOBELX");
printf("\n\n -CONVOLUTION AVEC MASK SOBELY");
printf("\n- CORRELATION\n");
printf("\n\n -CORRELATION AVEC MASK ALEATOIRE");
printf("\n\n -CORRELATION AVEC LE MASK DE L'OEIL");
printf("\n\n -CORRELATION AVEC LE MASK DE L'OEIL2");
printf("\n\n -CORRELATION AVEC LE MASK DE UN OEIL GRAND");
printf("\n\n -CORRELATION PONDEREE AVEC LE MASK DE UN OEIL ");

printf("\nAppuyez sur entree pour continuer.......\n");
getch();


printf("\n\nII. APPLICATION DES FILTRES MOYENNEURS\n");
printf("\n\n -MASK MOYENNEUR 1/16");
printf("\n\n -MASK GAUSS 5*5 ");
printf("\n\n -MASK SEPY ");
printf("\n\n -MASK SEPX ");

printf("\nAppuyez sur entree pour continuer.......\n");
getch();
}
3
Bob
 
N'as-tu pas remarqué qu'il existait une section pour la programmation?
1
Bob
 
La question est:
Es-tu certain d'avoir l'en-tête fourni avec ton compilo?
1
Ludwig_
 
'lut

Avec visuel c++6.0, il m'est imposible d'utiliser de la couleur.
comme precedement, textcolor est declaré comme indefini

ou peut-on trouver un site qui explique les librairies du c/c++?
quand j' edite conio.h, les fonctions textcolor et backgroundcolor ne sont pas definies. C'est normal?
1

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

Posez votre question
franc
 
SALUT

tu peux trouver dans laide de C++ comment utiliser la palette de couleurs
mais voici comment ca se passe avant lexpression que tu veux mettre en couleur tu ecris le nom de la couleur type :

le reset a la fin permet d'arreter la couleur a l expression qu'on veut.

tu dois savoir aussi qze la palette de couleur dans C++ est limitée. (tu peux utilise nemamoins : blue , green, red ).

blue();

printf("jai enfin resussi : waouuuu");

reset();

jespère ke ca pourra taider , ciao
1
henri
 
Du grand n'importe quoi !!
Hallucinant de sotir des aneries pareilles!
0
Genroa
 
N'importe quoi ce type...
0
Bob
 
bref pour mettre du texte en couleur tu peux essayer ça:

#include <conio.h>

...
int x;
x = 15;
textcolor(x);
...

/* L'en-tête <conio.h> ne fait pas partie du standard C mais est spécifique à Borland. Il n'existe pas de fonction standard pour les couleurs. */
0
yan
 
j'ai deja essayé mais ca marche pas en c++
0
Bob
 
C'est quoi l'erreur de compilation? Ou mieux jette ton code pour que j'y regarde un instant.
0
yan
 
j'utilise visual basic .net
0
Bob
 
Visual Studio .NET m'enfin! Recherche si le fichier "conio.h" existe dans ton dossier.
0
yan
 
il existe mais ca ne marche pas tout de même!! jsui découté
0
Bob
 
Ouais ben j'ai essayé sur Dev C++ c'est pas mieux mais en fait c'est mal foutu. Je m'explique normalement (apparement c'est une convention) on déclare les prototypes des fonctions, macros, classes dans l'en-tête (.h) puis les vraies fonctions dans le code source (.c) mais la j'ai essayer l'en-tête alors le compilo ne reconnait pas la fonction "textcolor()" cependant avec le code source "conio.c" ça fonctionne sans broncher. Bref il y a encore du boulot au niveau de la bibliothèque fournie avec les compilos mais bon "conio.h" n'est pas standard on va dire que c'est pas bien grave.
0
yan
 
kel est donc la solution?
0
Bob
 
Bah "#include <conio.c>" sinon tu déclares la fonction dans ton en-tête avec un truc du style "extern void textcolor(int color);".
0
Mo
 
Quand on utilise la fonction textcolor de conio.h, si on utilise ensuite printf, on ne verra pas de changement de couleur. Il faut donc préferer la fonction cprintf qui s'utilise de la meme façon, ormi le fait qu'il faille effectuer les retours chariots "manuellement". Par exemple printf("Hello World\n"); equivaut à cprintf("Hello World\n\r");
Enjoy ;) <Mo>
0
Julien
 
Salut Yan !
Utilise l'API Console de windows !

#include <windows.h>
#include <stdio.h>

int main(/*int argc_p, char* argv_p[]*/)
{
HANDLE console;
BOOL res;
COORD size;
SMALL_RECT bbox;
int i;
char buffer[1024];
DWORD chars;

console = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE, 0, NULL, CONSOLE_TEXTMODE_BUFFER, NULL);
if (console == NULL)
{
printf("Error: function 'CreateConsoleScreenBuffer' failed.\n");
}

SetConsoleActiveScreenBuffer(console);

res = SetConsoleTextAttribute(console, FOREGROUND_BLUE|FOREGROUND_GREEN|FOREGROUND_INTENSITY|BACKGROUND_GREEN);
if (res == FALSE)
{
printf("Error: function 'SetConsoleTextAttribute' failed.\n");
}

size.X = 10;
size.Y = 2;
res = SetConsoleCursorPosition(console, size);
if (res == FALSE)
{
printf("Error: function 'SetConsoleCursorPosition' failed.\n");
}

for (i=0; i<100; i++)
{
sprintf(buffer, "%d\n", i);
res = WriteConsole(console, buffer, strlen(buffer), &chars, NULL);
if (res == FALSE)
{
printf("Error: function 'WriteConsole' failed (%d).\n", chars);
}
Sleep(100);
}

CloseHandle(console);

return 0;
}

bon dev !
0
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
Pourquoi ne pas utiliser les séquences ANSI????

The software said "Requires Windows98, Win2000, or better,
So I installed Unix.
0
jskoul Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
salut
j'ai lu le tout et j'ai conclus qu'avec conio.c ça marche
parceque j'ai le meme probleme sous dev C++
mais meme avec #include <conio.c> ça ne veut pas marcher
aidez nous
j'ai besoin de ça pour un tp a rendre dans les plus brefs délais
MERCI d'avence pour vos reponses
0