Tableau de char et condition c++ [Fermé]

Signaler
Messages postés
13
Date d'inscription
mercredi 24 mars 2010
Statut
Membre
Dernière intervention
11 juillet 2013
-
mohammed3011
Messages postés
23
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 février 2011
-
bonjour, je n'arrive pas à trouver ni à corriger mon erreur dans ce code!!!
le voici:


#include <iostream>

using namespace std;

int main()
{
char réponse1[10] ;
cout << "Bonjour" << endl;
cout << "Ce programe est destine a ceux qui n'arive pas a faire les fonctions lineaire " << endl ;
cout <<"ou qui ont la fleme de le faire :D"<<endl;
cout <<""<<endl;
cout <<"Si vous avez ouvert ce programe par erreur, tapez 'T', sinon, tapez 'C'" <<endl;
cin >> réponse1;
cout <<"Vous avez tape " << réponse1 << "" <<endl;
if (réponse1 == 'T')
{
cout <<"merci 1" << endl;
}
else if (réponse1 == 'C')
{
cout <<"merci 2" <<endl;

}
else
cout <<"Desolé, vous n'avez pas rentre un nombre corect, veullez relancer le programe"<<endl;
cout <<"Merci"<<endl;
return 0;
}



et voici les erreurs:

error C2446: '==' : pas de conversion de 'int' en 'char *'
error C2040: '==' : les niveaux d'indirection de 'char [10]' et de 'int' sont différents
error C2446: '==' : pas de conversion de 'int' en 'char *'
error C2040: '==' : les niveaux d'indirection de 'char [10]' et de 'int' sont différents

3 réponses

Messages postés
105
Date d'inscription
vendredi 20 juin 2008
Statut
Membre
Dernière intervention
31 mars 2011
14
Salut,

Deja l'accent dans le nom de la variable ca passe pas.
puis je pense que qd tu compare reponse1 == 'T'
il aime pas trop que tu compare un char* et un char simple.

tu devrais revoir tes comparaisons ;)
Messages postés
275
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
15 avril 2010
64
Salut, tu peux essayer le cast:
if (réponse1 == 'T')
à remplacer par
if (int(réponse1) =='T'))
Messages postés
23
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 février 2011

"if (réponse1 == 'T') "
ton erreur vient du fait que tu compare un entier 'T' (le code ASCII de T) et une chaine de caractère réponse 1