Coincé en un prog d'occurrence en C !!
mafia_boy
Messages postés
109
Statut
Membre
-
mafia_boy Messages postés 109 Statut Membre -
mafia_boy Messages postés 109 Statut Membre -
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 !
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:
- Coincé en un prog d'occurrence en C !!
- Robot prog - Télécharger - Édition & Programmation
- Comment enlever un bout de chargeur coincé dans l'iphone - Forum Mobile
- Cd coincé dans chaine hifi - Forum Enceintes / HiFi
- Cable ethernet coincé ✓ - Forum Matériel & Système
- Coque airpods coincé ✓ - Forum Accessoires & objets connectés
3 réponses
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:
Bonne continuation.
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.