Savoir si un mot est contenue dans un tableau de string

Sarah1609_2710 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour
Je rencontre un problème :

def Struct {
Char activite [20];
Int jour;
}Organisation ;
Organisation tab[N]


Je voudrais récupérer chaque activité de tab[i].activite pour savoir si elle contient le mot « gymnastique » la fonction doit me renvoyer vraie meme quand l’activité est matin gymnastique

Voici ce que j’ai essayé mais ça ne marche pas

int i;
char *suiteChaine;

for (i=0;i<N;++i)
{

    scanf("%s",tab[i].activite);
        
suiteChaine =  strstr(tab[i].activite,"gymnastique");
     
if (suiteChaine != NULL)
{
printf("contient le mot gymnastique");
} 

else{

printf("aucun mot ne contient gymnastique\n");

} 
}



Typedef Struct {
Char activite [20];
Int jour;
}Organisation ;
Organisation tab[N]


Je voudrais récupérer chaque activité de tab[i].activite pour savoir si elle contient le mot « gymnastique » la fonction doit me renvoyer vraie meme quand l’activité est matin gymnastique

Voici ce que j’ai essayé mais ça ne marche pas

int i;
char *suiteChaine;

for (i=0;i<N;++i)
{

    scanf("%s",tab[i].activite);
        
suiteChaine =  strstr(tab[i].activite,"gymnastique");
     
if (suiteChaine != NULL)
{
printf("contient le mot gymnastique");
} 

else{

printf("aucun mot ne contient gymnastique\n");

} 
}
A voir également:

14 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, "ça ne marche pas": qu'observes-tu?
as-tu fait printf de tes variables?
0
Sarah1609_2710 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Ca ne m’affiche rien enfaite... du coup je sais pas si deja ma méthode est juste pour récupérer les mots contenu dans tab[i].activite
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
as-tu déjà fait une programme plus simple, juste pour lire un texte?
0
Sarah1609_2710 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Non comment ça ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
un petit programme qui lit et qui affiche quelques phrases.
0
Sarah1609_2710 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Oui c’est facile
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
et cela fonctionne? peux-tu montrer ce programme, pour comparer à celui qui ne fonctionne pas?
0
Sarah1609_2710 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
J’ai essayer avec du texte ça ne marche pas non plus ca affiche «  error assignement makes integer from pointer without a cast » voici le lien du code que j’ai mis :
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
peux-tu partager du texte, pas des images, et utiliser les balises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

à quelle ligne as-tu le message d'erreur?
0
Sarah1609_2710 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
void question7(confinement tab[N]){
int i;
char *suiteChaine=NULL;
char chaine[]="gymnastique";


for (i=0;i<N;++i)
{


scanf("%s",tab[i].activite);



suiteChaine = strstr(tab[i].activite,chaine);


if (suiteChaine != NULL)
{
printf("Le texte que vous recherchiez a ete trouve" );
}

else{

printf("Le texte que vous recherchiez n'a pas ete trouve\n");
}


}
0
Sarah1609_2710 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Ce code marche mais ne prend pas en compte les mots déjà rentrés dans tab[i].activite plus haut dans le
Programme et me demande de retaper tab[i].activite or moi je veux comparer tout les mots dans tab[i].activite et savoir si au moins un contient le mot gymnastique
0
Sarah1609_2710 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
<code c>

void question7(confinement tab[N]){

char *suiteChaine=NULL;

char chaine[]="exemple";
char essai[]="exemple en maths";

suiteChaine = strstr(chaine,essai);

if (suiteChaine != NULL)
{
printf("Le texte que vous recherchiez a ete trouve" );
}

else{

printf("Le texte que vous recherchiez n'a pas ete trouve\n");
}

}



</code>


Exemple qui marche avec du texte
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
peux-tu choisir le langage "C" quand tu utilises les balises de code?
tu ne montres qu'une partie de ton programme.
le programme "demande" comment de retaper tab[i].activite?
0
Sarah1609_2710 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
J’ai reussi je met mon programme si ça peut aider quelqu’un :

for (i=0;i<N:i++){
printf("\nsaisir l'activite\n");
scanf("%s",tab[i].activite);
}



int i;
char *suiteChaine=NULL;
char chaine[]="gymnastique";

for (i = 0; i < N; ++i)
{

if (tab[i].debutheure!=0 && tab[i].debutminute!=0 ){


 suiteChaine = strstr(tab[i].activite,chaine);


    if (suiteChaine != NULL)
    {
        printf("Le texte que vous recherchiez a ete trouve" );
    }

    else{

    printf("Le texte que vous recherchiez n'a pas ete trouve\n");
    }
}

}

}



0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
peux-tu alors marquer la discussion comme résolue?
0