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 :

Erreur d'incompatibilité de types


Sujet :

C

  1. #1
    Membre éclairé Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Par défaut Erreur d'incompatibilité de types
    Bonsoir à tous les developpeurs,
    J'ai un pb:

    j'ai developpé une foction qui retourne les mts d'une chaine de caractere(phrase)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void fgetword (char chaine[50])
    {
         int i =0;
         while(chaine[i] != "")
                 i++;
         word = substr(ligne, 0,i);
    }

  2. #2
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Essaie d' ecrire en français.
    C' est quoi dejà le probleme ?

  3. #3
    Membre éclairé Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Par défaut
    Mon problème consiste à :
    - Parcourir un fichier,
    - Lire chaque ligne
    CETTE ETAPE CA VA

    Après, extraire les mots de chaque ligne et les stocker dans des listes chainées.
    C'est ça que je ne sais pas faire, merci.

  4. #4
    Membre confirmé Avatar de LeBelge63
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 73
    Par défaut
    Elle est ou la liste chainée la ?

  5. #5
    Membre éclairé Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Par défaut re
    je l'ai pas déclaré je sais, mais juste je suis entrain de tester la fonction qui affiche les mots c tout.
    merci de me trouver une solution

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    au risque de repeter ce que mes eminents collegues ont deja dit dans d'autres posts :

    LIS UN COURS ou UN TUTORIEL !!!!!!!!!!

    On ne programme pas au hasard....

    Et tant que tu n'y mets pas de la bonne volonte, nous non plus

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par cyrine
    OK je quiite ce forum, car il aprait que je suis pas la bienvenue ici.
    je vous souhaite tous bon travail
    je ne te comprend pas..

    C'est juste qu'ici ce n'est pas un forum où on fait le travail à ta place.

    On aide, on dépanne, on se creuse la tête, MAIS à condition que les gens fassent le minimum aussi pour participer...

    Quand on dit que la programmation, ça s'invente pas, c'est pour ton bien..

    Nous on gagne notre vie avec. On sait ce que c'est.

    C'est simplement que si tu poses des questions ou des morceaux de code qui montrent que tu n'as même pas essayé de lire ce qui concerne ce que tu veux faire, on perd notre temps et le tien, car tu n'apprendras jamais comme ça.

    Cordialement

  8. #8
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par cyrine Voir le message
    Bonsoir à tous les developpeurs,
    J'ai un pb:

    j'ai developpé une foction qui retourne les mts d'une chaine de caractere(phrase)
    SMS Detecté

    Merci d'écrire dans un français correct.

  9. #9
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par cyrine Voir le message
    je l'ai pas déclaré je sais, mais juste je suis entrain de tester la fonction qui affiche les mots c tout.
    merci de me trouver une solution
    Tu cherches à extraire les mots de la ligne, c'est ça ?

    strtok() n'est pas la meilleure fonction du C, mais elle peut faire ce travail... Lire la doc, essayer, poster le code si il y a un problème.

  10. #10
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Par défaut
    j'ai bien compris le probleme , mais qu'elle rapport avec le titre ?
    ou se trouve l'incompatibilité de type?

    Cordialement
    over
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

  11. #11
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 971
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 971
    Par défaut
    Meo,
    Citation Envoyé par Overcrash3181 Voir le message
    j'ai bien compris le probleme , mais qu'elle rapport avec le titre ?
    ou se trouve l'incompatibilité de type?

    Cordialement
    over
    [TROLL]

    Les mots ont été mal extraits pour créer le titre.

    [/TROLL]

  12. #12
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    J' ai vu ta souffrance !
    Voici un bout de code :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    #include "stdafx.h"
    #include "stdlib.h"
    #include "conio.h"
    #include "string.h"
     
     
    void  extraireMot(char mot[],int *i)
    { //on extrait le mot à partir de la position i
     
    // on elimine les espaces eventuels	
     while (strlen(mot)>(unsigned)(*i) && mot[(*i)]==' ') (*i)++;
     
     //on affiche maintenant le mot
     while (strlen(mot)>(unsigned)(*i) && mot[(*i)]!=' ')
     {
    	 printf("%c",mot[(*i)]);
    	 (*i)++;
     }
     
    }
     
    int _tmain(int argc, _TCHAR* argv[])
    {
    	char t[20];
    	int i=0;
    	printf("Mot 1 : ");
    	extraireMot("  hello  world  from  developpez.com", &i);
     
    	printf("\nMot 2 : ");
    	extraireMot("  hello  world  from  developpez.com", &i);
     
     
    	printf("\nMot 3 : ");
    	extraireMot("  hello  world  from  developpez.com", &i);
     
    	printf("\nMot 4 : ");
    	extraireMot("  hello world  from  developpez.com", &i);
     
     
    	getch();
    	return 0;
    }

  13. #13
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    Citation Envoyé par darrylsite Voir le message
    J' ai vu ta souffrance !
    Voici un bout de code :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    #include "stdafx.h"
    #include "stdlib.h"
    #include "conio.h"
    #include "string.h"
     
     
    void  extraireMot(char mot[],int *i)
    { //on extrait le mot à partir de la position i
     
    // on elimine les espaces eventuels    
     while (strlen(mot)>(unsigned)(*i) && mot[(*i)]==' ') (*i)++;
     
     //on affiche maintenant le mot
     while (strlen(mot)>(unsigned)(*i) && mot[(*i)]!=' ')
     {
         printf("%c",mot[(*i)]);
         (*i)++;
     }
     
    }
     
    int _tmain(int argc, _TCHAR* argv[])
    {
        char t[20];
        int i=0;
        printf("Mot 1 : ");
        extraireMot("  hello  world  from  developpez.com", &i);
     
        printf("\nMot 2 : ");
        extraireMot("  hello  world  from  developpez.com", &i);
     
     
        printf("\nMot 3 : ");
        extraireMot("  hello  world  from  developpez.com", &i);
     
        printf("\nMot 4 : ");
        extraireMot("  hello world  from  developpez.com", &i);
     
     
        getch();
        return 0;
    }
    Computer strlen() pour rien à chaque itération des 2 while, ca c'est fort et ca plombe les perfs !
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  14. #14
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Citation Envoyé par darrylsite Voir le message
    J' ai vu ta souffrance !
    Voici un bout de code :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    #include "stdafx.h"
    #include "stdlib.h"
    #include "conio.h"
    #include "string.h"
     
     
    void  extraireMot(char mot[],int *i)
    { //on extrait le mot à partir de la position i
     
    // on elimine les espaces eventuels	
     while (strlen(mot)>(unsigned)(*i) && mot[(*i)]==' ') (*i)++;
     
     //on affiche maintenant le mot
     while (strlen(mot)>(unsigned)(*i) && mot[(*i)]!=' ')
     {
    	 printf("%c",mot[(*i)]);
    	 (*i)++;
     }
     
    }
     
    int _tmain(int argc, _TCHAR* argv[])
    {
    	char t[20];
    	int i=0;
    	printf("Mot 1 : ");
    	extraireMot("  hello  world  from  developpez.com", &i);
     
    	printf("\nMot 2 : ");
    	extraireMot("  hello  world  from  developpez.com", &i);
     
     
    	printf("\nMot 3 : ");
    	extraireMot("  hello  world  from  developpez.com", &i);
     
    	printf("\nMot 4 : ");
    	extraireMot("  hello world  from  developpez.com", &i);
     
     
    	getch();
    	return 0;
    }
    ce code ne compile pas et n'est pas standard!!!

  15. #15
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par darrylsite Voir le message
    J' ai vu ta souffrance !
    Voici un bout de code :
    Mais c'est supair !
    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
    16
    17
    18
    19
    20
    21
     
    Project   : Forums
    Compiler  : GNU GCC Compiler (called directly)
    Directory : D:\dev\forums\
    --------------------------------------------------------------------------------
    Switching to target: default
    Compiling: main.c
    main.c:1:20: stdafx.h: No such file or directory
    main.c: In function `extraireMot':
    main.c:16: warning: implicit declaration of function `printf'
    main.c: At top level:
    main.c:22: error: syntax error before "_TCHAR"
    main.c:23: warning: function declaration isn't a prototype
    main.c: In function `_tmain':
    main.c:27: warning: passing arg 1 of `extraireMot' discards qualifiers from pointer target type
    main.c:30: warning: passing arg 1 of `extraireMot' discards qualifiers from pointer target type
    main.c:34: warning: passing arg 1 of `extraireMot' discards qualifiers from pointer target type
    main.c:37: warning: passing arg 1 of `extraireMot' discards qualifiers from pointer target type
    main.c:24: warning: unused variable `t'
    Process terminated with status 1 (0 minutes, 1 seconds)
    2 errors, 7 warnings

  16. #16
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Aie !
    Il suffisait de supprimer #include "stdafx.h". C' est par ce que j 'ai compilé sous vc++ 2008.

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    #include "stdio.h"
    #include "stdlib.h"
    #include "conio.h"
    #include "string.h"
     
     
    void  extraireMot(char mot[],int *i)
    { //on extrait le mot à partir de la position i
     
    // on elimine les espaces eventuels	
     while (strlen(mot)>(unsigned)(*i) && mot[(*i)]==' ') (*i)++;
     
     //on affiche maintenant le mot
     while (strlen(mot)>(unsigned)(*i) && mot[(*i)]!=' ')
     {
    	 printf("%c",mot[(*i)]);
    	 (*i)++;
     }
     
    }
     
    int main(int argc, char* argv[])
    {
    	int i=0;
    	printf("Mot 1 : ");
    	extraireMot("  hello  world  from  developpez.com", &i);
     
    	printf("\nMot 2 : ");
    	extraireMot("  hello  world  from  developpez.com", &i);
     
     
    	printf("\nMot 3 : ");
    	extraireMot("  hello  world  from  developpez.com", &i);
     
    	printf("\nMot 4 : ");
    	extraireMot("  hello world  from  developpez.com", &i);
     
     
    	getch();
    	return 0;
    }
    j' ai copié/collé le code tel qu' il etait dans l' editeur.

  17. #17
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par défaut
    Citation Envoyé par darrylsite Voir le message
    Aie !
    Il suffisait de supprimer #include "stdafx.h". C' est par ce que j 'ai compilé sous vc++ 2008.
    Même sous VC++2008, stdafx.h ne sert à rien ici.

    En outre qu'elle est l'intérêt de conio.h et de getch() ? Pourquoi ne pas utilisé les fonctions définies par le C ?

    Et pour les entête standards, c'est #include <stdio.h> et non #include "stdio.h"

  18. #18
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Citation Envoyé par darrylsite Voir le message
    Aie !
    Il suffisait de supprimer #include "stdafx.h". C' est par ce que j 'ai compilé sous vc++ 2008.

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    #include "stdio.h"
    #include "stdlib.h"
    #include "conio.h"
    #include "string.h"
     
     
    void  extraireMot(char mot[],int *i)
    { //on extrait le mot à partir de la position i
     
    // on elimine les espaces eventuels	
     while (strlen(mot)>(unsigned)(*i) && mot[(*i)]==' ') (*i)++;
     
     //on affiche maintenant le mot
     while (strlen(mot)>(unsigned)(*i) && mot[(*i)]!=' ')
     {
    	 printf("%c",mot[(*i)]);
    	 (*i)++;
     }
     
    }
     
    int main(int argc, char* argv[])
    {
    	int i=0;
    	printf("Mot 1 : ");
    	extraireMot("  hello  world  from  developpez.com", &i);
     
    	printf("\nMot 2 : ");
    	extraireMot("  hello  world  from  developpez.com", &i);
     
     
    	printf("\nMot 3 : ");
    	extraireMot("  hello  world  from  developpez.com", &i);
     
    	printf("\nMot 4 : ");
    	extraireMot("  hello world  from  developpez.com", &i);
     
     
    	getch();
    	return 0;
    }
    j' ai copié/collé le code tel qu' il etait dans l' editeur.
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
     
    void extraireMot(char *mot, size_t *ret);
     
    int main (void)
    {
       size_t i = 0;
       int j;
       char mot[] = "  hello  world  from  developpez.com";
     
       for (j = 1; j <= 4; j++)
       {
          printf ("Mot %d : ", j);
          extraireMot (mot, &i);
          puts ("");
       }
     
       getchar ();
       return 0;
    }
     
    void extraireMot (char *mot, size_t *ret)
    {
       size_t i = *ret;
       size_t len = strlen (mot);
     
       while (len > i  &&  mot[i]==' ')
       {
          i++;
       }
     
       while (len > i  &&  mot[i]!=' ')
       {
          putchar (mot[i]);
          i++;
       }
     
       *ret = i;
    }

  19. #19
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    et de toutes façons, vu le message auquel j'ai répondu plus haut dans le post (MP), le PO (la) ne nous a pas trouvé à son goût et a disparu

    (elle cherchait vraiment onfaittesdevoirs)

  20. #20
    Membre éclairé Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Par défaut merci

    Je veux vraiement remercier tous ceux qui m'ont aidé là.
    merci à vous infiniment.
    en fait vous m'avez donner le gout de programmer.

Discussions similaires

  1. [E-03] Erreur 13 : incompatibilité de type
    Par bong03 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/04/2009, 10h27
  2. [A-07] Erreur n°13 : Incompatibilité de type
    Par Leimi dans le forum VBA Access
    Réponses: 2
    Dernier message: 17/03/2009, 11h15
  3. DLookup, Erreur d'incompatibilité de type (13)
    Par athos7776 dans le forum VBA Access
    Réponses: 5
    Dernier message: 08/08/2007, 17h25
  4. Erreur 13 : incompatibilité de type
    Par Donatelli dans le forum Access
    Réponses: 1
    Dernier message: 03/01/2007, 12h19
  5. [VBA-A] ADO - Erreur 13 Incompatibilité de Type
    Par db30 dans le forum VBA Access
    Réponses: 4
    Dernier message: 15/04/2006, 14h30

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