Comment doubler strstr? [Résolu]

Signaler
Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015
-
Messages postés
3838
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
19 février 2021
-
Salut, alors voilà j'ai trouvé un code pour qui permet de trouver un texte dans une chaine, et qui est le suivant :

suiteChaine = strstr(ph, "voiture");

Seulement j'aimerai doubler la recherche comme si je cherchais deux mots dans la phrase cible, aulieu d'un seul.
Si la phrase est "la voiture rouge est en panne",
je voudrais pouvoir chercher "voiture" et "en", par exemple...

Dans ma tete il faudrait un truc du genre :
suiteChaine = strstr(ph, "voiture", ph2 "en");

mais c'est pas ça, mdr...

Quelqu'un pourrait m'aider sur ce pb svp?...

Merciiiii...

5 réponses

Messages postés
3838
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
19 février 2021
119
Bonjour.

Que cherches-tu à faire ?
Je dirais, sans plus de détails de ta part un simple:
suiteChaine1 = strstr(ph, "voiture");
suiteChaine2 = strstr(ph, "en"); 


________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015

Bonjour, ce que je cherche à faire est chatbot, en mode console... là j'en suis au fait de taper une phrase genre "salut ça roule". le prog reconnaît "ça roule", et balance au choix "ouais ça roule", "bof, chui claqué" :) ce genre de chose...

Et je pense que ce sera plus pertinent de se baser sur deux mots plutôt qu'un seul... je ne veux pas faire de la vraie IA qui déchire, je suis loin d'avoir le niveau pour ça hihihi, juste un petit prog qui fait "style"...

Donc j'ai trouvé plusieurs bouts de codes en C et C++ et j'ai tout mélangé, et ça a l'air de marcher.

Je vais essayer ta suggestion tout à l'heure CptPingu, et merci. je reviendrai après dire si "ça roule"
Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015

Trop cool, ça marche, !!!

Les "suitechaine" constituent les différents trucs à chercher, et "ph" ça correspond au champs de saisie en fait...
J'ai testé avec "voiture" et "bleue".

"J'aime la couleur bleue !!", il capte pas.
"Ma voiture est rouge", il capte pas non plus.

"Ma voiture est bleue !!", il capte

Merci donc, c'est cool ;)
Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015

Pour le truc juste après (j'ai oublié de le dire), il a fallut que j'imbrique un if dans un autre if.
genre :
if voiture est capté {
if bleue est capté {
alors là ok tu balances la réponse
}
}

car au départ je misais sur :
if voiture + bleue sont captés... et ça marchait pas.
Messages postés
3838
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
19 février 2021
119
Au lieu de:

if voiture est capté
{
  if bleue est capté
  {
    alors là ok tu balances la réponse
  }
}


Tu peux faire:
if (voiture est capté ET bleue est capté)
{
    alors là ok tu balances la réponse
}


On écrit cela:

if (condition1 && condition2)
{
 // code
}


________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question