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 de programme en C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Vestigo
    Invité(e)
    Par défaut erreur de programme en C
    Bonjour tous le monde, pouvez vous m'aidez à résoudre mon code svp?

    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
     
    #include <stdio.h>
    #include <stdlib.h>
    #include<string.h>
     
    int main(int argc, char *argv[])
    {
       char villeHabite[200];
     
       printf("Ou habite tu?");
       scanf("%s",villeHabite);
       if(villeHabite==Rennes)
       {
          printf("Ah je connais bien");
       }
       else
       {
          printf("je connais pas");
       }
     
       system("PAUSE");
       return 0;
    }
    Dernière modification par gl ; 02/09/2007 à 18h20.

  2. #2
    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 Vestigo Voir le message
    Bonjour tous le monde, pouvez vous m'aidez à résoudre mon code svp?
    Tu peux le poster sans les numéros de ligne ?

  3. #3
    Membre émérite
    Avatar de Freed0
    Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    635
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 635
    Par défaut
    Salut,

    J'ai corrigé ton code, et je l'ai commenté... Pose des questions si tu ne comprends pas ^^
    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
     
    int main(int argc, char *argv[])
    {
        char villeHabite[200];
     
        printf("Ou habite tu ?\n");
        /* Je te conseille plutot d'utiliser fgets pour la saisie de chaine
        de caracteres */
        /* scanf("%s",villeHabite); */
        fgets (villeHabite, sizeof villeHabite, stdin);
        /* Pour fclean, fais une recherche sur le forum, on en a déjà parlé */
        fclean (villeHabite, stdin);
     
        /* La comparaison entre 2 chaines de caractères se fait à l'aide
        de strcmp (ou strncmp) */
        if (strcmp (villeHabite, "Rennes") == 0)
            printf ("Ah je connais bien.\n");
        else
            printf ("Je ne connais pas.\n");
     
        system("PAUSE");
     
        return 0;
    }
    Pense à regarder les prototypes des fonctions que tu ne connais pas..

  4. #4
    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 Freed0 Voir le message
    Pense à regarder les prototypes des fonctions que tu ne connais pas..
    Sauf que fclean() n'est pas standard...

  5. #5
    Vestigo
    Invité(e)
    Par défaut
    Merci à tous pour vos réponses, et excusez moi pour les numéros de lignes.
    Alors par contre pourquoi dois je utiliser fgets plutot que scanf? Je sais que tous le monde le dit mais qui pourait m'expliquer? Il y'a plein de mots en plus maintenant dans mon code que est ce vraiment nécessaire?

    Merci.

  6. #6
    Vestigo
    Invité(e)
    Par défaut
    Je viens de tester le code mais mon compilateur detecte 2 erreurs; les voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      [Linker error] undefined reference to `fclean'
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      ld returned 1 exit status
    Pouvez vous m'aidez?

  7. #7
    Membre éclairé Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Par défaut
    Tu n'as pas du inclure le header contenant la fonction fclean. De plus, Emmanuel a dit que ce n'était pas standard

  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 Vestigo Voir le message
    Je viens de tester le code mais mon compilateur detecte 2 erreurs; les voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      [Linker error] undefined reference to `fclean'
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      ld returned 1 exit status
    Voici un exemple d'implémentation de fclean() :

    http://www.developpez.net/forums/sho...01&postcount=2

  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 Vestigo Voir le message
    Merci à tous pour vos réponses, et excusez moi pour les numéros de lignes.
    Tu ne les a toujours pas enlevées...
    Alors par contre pourquoi dois je utiliser fgets plutot que scanf? Je sais que tous le monde le dit mais qui pourait m'expliquer?
    http://emmanuel-delahaye.developpez....tes.htm#saisie
    http://emmanuel-delahaye.developpez....s.htm#fichiers
    Il y'a plein de mots en plus maintenant dans mon code que est ce vraiment nécessaire?
    La sécurité a un cout...

  10. #10
    Vestigo
    Invité(e)
    Par défaut
    OK merci, je vais voir ça... Merci pour le lien il à l'air très clair. Et que faut il que je fasse pour les entrées sécuriseé?installation?

  11. #11
    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 Vestigo Voir le message
    Et que faut il que je fasse pour les entrées sécuriseé?i
    Suivre ce qui est explique dans le lien.
    C'est a dire ne pas faire confiance a l'utilisateur, ne pas utiliser les fonctions ne verifiant pas la taille des entrees (gets(), scanf(), etc.), verifier la validite de la saisie avant de l'utiliser, etc.

  12. #12
    Membre éclairé Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Par défaut
    En gros, utiliser fgets, puts...

Discussions similaires

  1. pb de memoire ou erreur de programmation?
    Par nina2007 dans le forum Linux
    Réponses: 14
    Dernier message: 14/08/2007, 07h28
  2. Erreur de programmation d'un DTS
    Par ninsekh dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 13/08/2007, 22h08
  3. erreur de programme
    Par acik59 dans le forum C
    Réponses: 7
    Dernier message: 16/05/2007, 12h40
  4. erreur dans programme java sur des vecteurs 3D
    Par HighSchool2005 dans le forum Langage
    Réponses: 18
    Dernier message: 15/02/2007, 16h38
  5. erreur compilation programme
    Par auxisteff dans le forum C
    Réponses: 8
    Dernier message: 09/02/2007, 21h27

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