IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

reconnaissance d'un mot dans une phrase


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 12
    Par défaut reconnaissance d'un mot dans une phrase
    Bonjour,
    j'ai un programme en C a faire qui doit reconnaitresi un mot est compris dans une phrase et les mots peuvent etre séparés par plusieurs espaces ou une virgule.
    Débutant dans le language C, je me suis dit que le programme doit d'abord enregistrer la phrase puis il demande le mot a verifier. Je me suis donc lancer et pour l'instant je suis parvenu a ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    int main(void)
    {	
    	int phrase;
    	int fois;
    	int mot;
    	fois=0;
    	printf ("Entrez une phrase SVP");	
    	gets (phrase);
    	while(fois<strlen(phrase));
    	{
    		if (mot==phrase);
    		printf (trouvé);
    	}
    	fois++;
    }
    Je sais que j'irai pa loin avec ceci mais je voudrais savoir si je suis bien parti et me donner quelques idées pour reussir ce programme.
    Merci

  2. #2
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 123
    Par défaut
    oulaaa ça va etre compliqué... bon déjà c'est bien t'as déjà tenté de codé quelques choses...
    Alors déjà si tu veux faire rentrer une phrase une chaine de caractère par un utilisateur, déclare ta variable en chaine de caractere et non pas en int!Ensuite utilise plutot un scanf plutot qu'un gets...Et pourquoi tu mets un ";" après ton if ? Lis un peu de doc sur strtok et strcmp...

  3. #3
    Membre confirmé
    Avatar de Nykoo
    Profil pro
    Inscrit en
    Février 2007
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 234
    Par défaut
    Bon courage c'est le 3ème topic qu'il lance, et en 3 pages on est arrivé à rien. Bon chance avec lui

  4. #4
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 201
    Par défaut
    Salut,

    Tu as dabord un probleme avec les data types, une phrase constitue de mots ne peut etre declare en tant que "int" qui est pour les nombres entiers. Tu dois donc la declarer en tant que char et specifier combien elle doit contenir de caracteres.

    Ensuite pour comparer deux strings tu dois utiliser la fonction strcmp(), presente dans <string.h>...

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Par défaut
    Pour l'apprentissage du C, n'oubliez pas les ressources de developpez.com
    Pour débuter

  6. #6
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 539
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 539
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int mot
    if (mot==phrase);
    c'est limite bêtisier du C.Bon comme on a été débutant on peut pardonner mais d'un int le transformer en un char[] si quelqu'un connait je suis preneur

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 12
    Par défaut
    Merci de votre aide, je vais réessayé d'utiliser au mieux vos conseils

  8. #8
    Membre éprouvé Avatar de siegfried64
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Maroc

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Par défaut
    deja une boucle infini :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while(fois<strlen(phrase));
    	{
    		if (mot==phrase);
    		printf (trouvé);
    	}
    	fois++;
    tu dois incrementer ta variable dans la boucle et pas en dehors, le bon code serai. apart ca, printf ne s utilise pas comme ca, tu dois mettre ta phrase entre "";
    la bonne amnniere de faire c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while(fois<strlen(phrase));
    	{
    		if (mot==phrase);
    		printf ("trouvé");
                    fois++;
    	}
    apart ca , dans c on fait pas mot==phrsae, lorsqu on veut comparer deux chaines de caracteres o utilise strcmp(phrase,mot) qui va vous retourner soit 0 en cas d'egalité, ou 1 dans l autre cas.
    Apart ca, tu dois te focaliser plus sur les pointeurs c'est indisponsable pour faire ce genre de programm.
    Une fois que tu aura assimilé ca, tu dois penser a un bon algorithme qui te permettra de verifier si bien un mot est dans une phrase. si tu as toujours besoin d aide o est la pour ca

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] supprimer des mots dans une phrase
    Par anarchoi dans le forum Langage
    Réponses: 6
    Dernier message: 10/05/2007, 09h44
  2. Nombre d'occurences d'un mot dans une phrase
    Par cirtey dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 07/05/2007, 21h01
  3. requête pour trouver un mot dans une phrase
    Par FRIGAUX dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 25/11/2006, 22h18
  4. recherche par mots dans une phrase ou titre
    Par pierrot67 dans le forum Bases de données
    Réponses: 3
    Dernier message: 11/09/2006, 09h29
  5. Recherche d'un mot dans une phrase se touvant dans un champ
    Par Grandbastien dans le forum Access
    Réponses: 3
    Dernier message: 02/04/2006, 09h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo