Pb : "cannot convert char[2] to char, il m'écrit le code ASCII... - C++ - Programmation
Marsh Posté le 05-04-2004 à 12:50:29
dans ta struct transition tu as 5 char, alors il faut initialiser 5 char dans le main!
Marsh Posté le 05-04-2004 à 13:07:57
JagStang a écrit : dans ta struct transition tu as 5 char, alors il faut initialiser 5 char dans le main! |
bé oué mais je vois pas trop, je remplis bien 5 caractères par ligne quand j'écris transition table[10]={......} NON ???
Marsh Posté le 05-04-2004 à 13:20:10
up! svp help me !!
Marsh Posté le 05-04-2004 à 13:22:41
Code :
|
ca devrait etre mieux non ?
Marsh Posté le 05-04-2004 à 13:25:37
heu tjrs pareil, je comprend vraiment pas ce kil va pas : là il m'écrit tjrs les nombres correspond au code ASCII, et si je met des ", ba tjrs le mess derreur cannot convert....
Marsh Posté le 05-04-2004 à 13:31:42
bon voilà lerreur exacte ke j'ai :
error C2440: 'initializing' : cannot convert from 'char [2]' to 'char'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
Error executing cl.exe.
Marsh Posté le 05-04-2004 à 13:35:39
tonio_10 a écrit : bon voilà lerreur exacte ke j'ai : |
pour quelle ligne de ton code cette erreur??
A+,
Marsh Posté le 05-04-2004 à 13:36:10
ton "F.DrawInteger(z.posX+10,z.posY+6,z.carac);" ca sort d'ou ?
regardes si tu as pas un DrawChar , DrawString ou qqchose dans le genre.
paske les char c'est toujours que des nombres entre 0 et 255 ^^
Marsh Posté le 05-04-2004 à 13:38:01
Joel F a écrit : ton "F.DrawInteger(z.posX+10,z.posY+6,z.carac);" ca sort d'ou ? |
oué en effet je crois que ca vien de mon F.drawinteger ki sert a "dessine un entier de caractere depuis le point (iX,iY) avec le style définit par Setfont" donc oué je peux utliser drawstring a la place c pareil ??
Marsh Posté le 05-04-2004 à 13:53:41
avec drawstring fo utiliser des pointeurs ????
Marsh Posté le 05-04-2004 à 14:14:53
upupupupup
Marsh Posté le 05-04-2004 à 15:17:36
tonio_10 a écrit : |
j'en sais rien, c'est quoi ta bibliothéque d'affichage ?
Marsh Posté le 05-04-2004 à 12:44:28
Bjr @ tous, voila j'ai un projet d'info à réaliser, on doit en fait réaliser une machine de Turing...
Bref, on écrire sur une fenêtre graphique une table de transition qui comporte 9 lignes avec sur chacune delle 5 caractères correspondant à letat lu, le déplacement de la tete de lecture de lecture etc...
Mon prob est que je n'arrive pas à introduire des caractères : il me met "cannot convert char[2] to char" lorsque je met les caractères entre " et si je les met entre ' il ne me les écrit pas, mais m'écrit les numéros correspondants aux lettres référencés dans le code ASCII...
Donc est ce que qq'un peut m'aider svp ?
voici mes structures et fonctions :
typedef struct
{
double posX;
double posY;
char carac;
}caze;
void dessinercaze(caze z)
{
F.SetPen(BLACK,1);
F.SetBrush(WHITE);
F.DrawRectangle(z.posX,z.posY,z.posX+30,z.posY+30);
F.DrawInteger(z.posX+10,z.posY+6,z.carac);
}
void dessiner_caze(double posX,double posY)
{
int i,j;
i=j=0;
do
{
caze z={posX+i,posY,1};
dessinercaze(z);
i=i+29;
j++;
}
while (j!=23);
}
typedef struct
{
char etat_courant;
char symbole_lu;
char symbole_ecrit;
char deplacement;
char etat_suivant;
}transition;
void afficherligne(double posX,double posY,transition z)
{
F.DrawInteger(posX,posY,z.etat_courant);
F.DrawInteger(posX+40,posY,z.symbole_lu);
F.DrawInteger(posX+100,posY,z.symbole_ecrit);
F.DrawInteger(posX+140,posY,z.deplacement);
F.DrawInteger(posX+180,posY,z.etat_suivant);
}
void dessinertransition(int posX,int posY,transition table[])
{
int i,b;
i=b=0;
F.SetPen(BLACK,1);
F.SetBrush(YELLOW);
F.DrawRectangle(posX,posY,posX+220,posY+280);
do
{
afficherligne(posX+10,posY+b+5,table[i]);
b=b+30;
i++;
}
while (i!=9);
}
et là comment je rentre mes caractères (dans main) :
transition table[10]={'I',0,0,'D','I',
'I',1,1,'D','I',
'I','-','-','G','a',
'a','-','-','-','T',
'a',0,1,'G','b',
'a',1,0,'G','a',
'b','-','-','D','T',
'b',1,1,'G','b',
'b',0,0,'G','b'};
dessinertransition(550,250,table);
dessiner_caze(55,30);
---------------
Be myself, I have nothing to prove...