Comparaison de chaine

Résolu
cyberice67 Messages postés 88 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 7 novembre 2016 - 15 mai 2005 à 22:36
cyberice67 Messages postés 88 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 7 novembre 2016 - 15 mai 2005 à 22:58
Bonjour,



je cherche à comparer deux chaines de caractères entre elles mais ca découne :





Ma Classe :

private:

String* Type;

String* NomPers;

String* PrenPers;

int Anciennete;

int SalaireBase;





Ma Fonction Remplit_Type :

void C_Salarie::Remplit_Type(String* VType)

{

this->Type = VType;

}







Dans mon Form Load :

MonSalarie->Remplit_Type("Ouvrier");







puis dans une autre fonction le PROBLEME :



float C_Salarie::CalculSalaireTotal(int VSalaireBase)

{



if(this->Type = = "Ouvrier")

{

return (VSalaireBase * 0,35);

}

else

{

return (VSalaireBase * 2);

}







Il rentre toujours dans le cas du ELSE malgré que le contenu de mes chaines soient identiques...

j'ai tester:



if(this->Type = = this->Type) et là heureusement ca marche !




Th'x
Cyberice

3 réponses

cyberice67 Messages postés 88 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 7 novembre 2016
15 mai 2005 à 22:58
C'est bon je viens de trouver :

if(System::String::Compare(Convert::ToString(this->Type),"Ouvrier") = = 0)





Merci quand même

Cyberice
3
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
15 mai 2005 à 22:47
Bé normalement une chaine se compare pas avec le ==
Mais comme tu utilises des types spéciaux ( String ) je ne sais pas trop...
Tu devrais essayer
strcmp( chaine1, chaine2 )
renvoie 0 si identique
ou pas 0 si différente ;)
donc if( strcmp(...->Type, "Ouvrier") == 0 )
{
//code
}
strcmp( ) << include dans <string.h>


void Aurevoir( void ); //Bonne journée
0
cyberice67 Messages postés 88 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 7 novembre 2016
15 mai 2005 à 22:54
Hummm vi mais le prob c'est que je travaille avec des String* dc la
methode StrCmp() ne passe pas car cpp ne peut pas convertir de string*
en Char[]



donc j'ai fait :



if(System::String::Compare(Convert::ToString(this->Type),"Ouvrier"))



mais j'atteris toujours ds le ELSE.. donc meme probleme... D'autre idées ?

Cyberice
0
Rejoignez-nous