Coincé en un prog d'occurrence en C !!

mafia_boy Messages postés 104 Date d'inscription   Statut Membre Dernière intervention   -  
mafia_boy Messages postés 104 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,
Alors mon problème est dans la deuxième partie du programme, compter le nombre d'occurrence du mot dans la chaîne, ça commence à me tapper sur les nerfs :S
Programme:
"Ecrire un programme C permettant de saisir un mot et une phrase tous les deux non vides, de les convertir en majuscule, et d'afficher si le mot existe ou non dans la phrase et si oui avec quel nombre d'occurrences."

Voici mon travail :
"#include<stdio.h>
#include<conio.h>
#include<ctype.h>
#include<string.h>
int main ()
{
char c[100], t[100];
int i,nbr,l;
/* Saisir d'une phrase */
do
{printf ("donner une phrase : ");
gets (c);}
while (strlen(c)==0);

/* Saisir d'un mot */
do
{printf ("donner un mot : ");
gets (t);}
while (strlen(t)==0);

/*Convertir la phrase en Majuscule */
for (i=0;c[i];i++)
c[i]=toupper(c[i]);

/*Convertir le mot en Majuscule */
for (i=0;t[i];i++)
t[i]=toupper(t[i]);

/*L'existance d'un mot dans une phrase*/
nbr=0;

{if(strstr(c,t)==0)
{printf (" <%s> n'existe pas dans <%s> \n",t,c);}
else
{
nbr++;
printf (" <%s> existe %d dans <%s> \n",t,nbr,c);
}
}
}
"
Merci pour votre aide !



A voir également:

3 réponses

mafia_boy Messages postés 104 Date d'inscription   Statut Membre Dernière intervention   1
 
up !!!
0
loupius Messages postés 697 Date d'inscription   Statut Membre Dernière intervention   148
 
Mais ton programme fonctionne bien... enfin disons qu'il fait ce qu'on lui demande!
Je pense que tu as oublié de faire une boucle.
J'aurais plutôt terminé le programme par:
  /*L'existence d'un mot dans une phrase*/
  nbr=0;
  char* ptr = c;
  while (ptr)
    if( (ptr = strstr(ptr,t)) )
    {
      nbr++;
      ptr += strlen(t);
    }
  if (nbr)
    printf (" <%s> existe %d fois dans <%s> \n", t, nbr, c);
  else
    printf (" <%s> n'existe pas dans <%s> \n", t, c);
  return EXIT_SUCCESS;
Enfin ce n'est que mon humble avis.
Bonne continuation.
0
mafia_boy Messages postés 104 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci bien :)
0