Dernoière chance

skone007 Messages postés 166 Date d'inscription mercredi 24 avril 2002 Statut Membre Dernière intervention 23 juin 2009 - 26 sept. 2003 à 22:37
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 - 28 sept. 2003 à 13:31
J'ai demandé à de multiple programmeur et aucun n'as reussie tous on abandoner ou par un harsard il ce sont deconnercter alors AIDER MOI :sad) %-6 :sad)

Voilà mon prb :question) :

cin >> var.symbole_at;
switch(var.symbole_at)
{
case h.at.symbole :
cout << "l\'hydrogene a ete ajouter" << endl;
break;
case he.at.symbole :
cout << "l\helium a ete ajouter" << endl;
break;
default :
break;
}

var.symbole est un pointeur char et h.at.symbole,
symbole est definie comme constante ds la struct At
et symbole est initialiser ds la struct h

Et ca marche pas.

Si vous voulez les sources au complet demander les moi.

je les enverais pas e-mail.

SKone le site

4 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
26 sept. 2003 à 23:00
Salut,
Puisque ce qui suit case dans un switch est une constante, met le en #define plutot que dans une structure.
0
skone007 Messages postés 166 Date d'inscription mercredi 24 avril 2002 Statut Membre Dernière intervention 23 juin 2009
28 sept. 2003 à 12:13
comment ca ds un define C une variable t peux m'expliquer ou mieu me monter
Vision Motion le jeu
VM production
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
28 sept. 2003 à 13:19
Salut,
Dans un switch(...), ce qui suit les case ne peut pas etre une variable, c'est obligatoirement une constante.

Et aussi ton var.symbole_at est une chaine de caractere, tu ne pourra pas la comparer avec h.at.symbole ou he.at.symbole dans un switch(...) comme tu le fais.
Pour cela il faut utiliser strcmp(...) dans des if imbriqués, a mon avis.
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
28 sept. 2003 à 13:31
Salut,
Si var.symbole_at, h.at.symbole et he.at.symbole sont des char*, cela devrait marcher:

if(!strcmp(var.symbole_at, h.at.symbole))
{
cout << "l\'hydrogene a ete ajouter" << endl;
}
else if(!strcmp(var.symbole_at, he.at.symbole))
{
cout << "l\helium a ete ajouter" << endl;
}
0
Rejoignez-nous