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 :

Problème de lecture


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Par défaut Problème de lecture
    je suis debutant en langage C comme vous pourrez le voir en consultant mon programme lol, je viens vous demander votre aide car j'ai un problème (je crois qu'il se situe o niveau de la lecture), j'espère que vous pourrez m'aider!
    je vous remercie d'avance.

    JouL
    Fichiers attachés Fichiers attachés
    • Type de fichier : c main.c (1,1 Ko, 77 affichages)

  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 joul.leclercq
    je suis debutant en langage C comme vous pourrez le voir en consultant mon programme lol, je viens vous demander votre aide car j'ai un problème (je crois qu'il se situe o niveau de la lecture), j'espère que vous pourrez m'aider!
    je vous remercie d'avance.

    JouL
    Un meilleur réglage du compilateur

    http://emmanuel-delahaye.developpez....tm#cfg_compilo

    permet d'y voir un peu plus clair :
    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
     
    Project   : Forums
    Compiler  : GNU GCC Compiler (called directly)
    Directory : C:\dev\forums\
    --------------------------------------------------------------------------------
    Switching to target: default
    Compiling: main.c
    main.c:5: warning: return type defaults to `int'
    main.c:5: warning: function declaration isn't a prototype
    main.c: In function `main':
    main.c:19: warning: char format, different type arg (arg 3)
    main.c:26: warning: char format, different type arg (arg 3)
    main.c:50: warning: control reaches end of non-void function
    Linking console executable: console.exe
    Process terminated with status 0 (0 minutes, 3 seconds)
    0 errors, 5 warnings
    A l'évidence, il y a aussi un gros problème de conception. Il faut apprendre à utiliser les structures. Ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       int h[46], m[46], s[46], tps[46], a, tpsint, i, j;
       char nom[46][20], nomint[20];
    Devrait s'écrire
    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
     
    struct record
    {
       int h;
       int m;
       int s;
       int tps;
       char nom[20];
    };
     
    int main (void)
    {
       int a, tpsint, i, j;
       char nomint[20];
       struct record tab[46]; /* pourquoi 46 ? */
    Evidemment, il y a des conséquences sur le codage, mais elles sont connues et limitées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       fscanf (fdat, "%20s", tab[a].nom);
       /* etc. */
    Attention, pour comparer deux chaines en C, on utilise strcmp() et non ==. Pour la suite, il faudrait connaitre la structure du fichier à analyser.

    Il faut savoir qu'une ouverture de fichier peut toujours échouer. Il faut donc la vérifier.

    Je rappelle que les indices valides d'un tableau de taille N vont de 0 à N-1.

    Enfin, pour le tri, la fonction qsort() est toute indiquée, surtout si les données sont organisées en tableau de structure.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Par défaut
    oulaaaa, merci pour cette solution même si je ne la comprend pas entierement (dsl mon niveau est assez bas vous l'aurez constaté) en fait on ma appris cette structure la et je ne comprend pas comment vous declarez vos données (le nombre 46 vien du fait que j'ai un vecteur de 45 objets maximum).

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Par défaut
    J'ai un peu regardé ton code et c'est vrai qu'au niveau des declarations des données tu fait des choses bizzares.

    la declaration de structures se fait en effet avec struct......

    mais apres tes enrengistrements genre record[46] je ne te conseille pas personnellement de mettre directement un tableau de structures. Met plutot un tableau de pointeurs vers des structures de type record.

    C'est une sollution propre, (d'apres moi) et pour la gestion de memoire c'est beaucoup mieux....

    Cela etant dis je pense que si tu ne veux pas te prendre le chou, tu devrai parcourir rapidement un tuto de ce site pour comprendre un peu les principes de gestion memoire et adressage. Ca te prendrai environ 1h pour bien assimiler la gestion memoire en C!!!

    Bon courrage et bonne continuation


  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Par défaut
    merci pour tout! En fait j'ai retravaillé l'ensemble et grace à vos conseils j'ai trouver mes erreurs! Merci encore...

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

Discussions similaires

  1. [débutant] problème de lecture d'image
    Par shura dans le forum OpenGL
    Réponses: 16
    Dernier message: 03/07/2004, 18h05
  2. [TFileStream] Problème de lecture de string
    Par Pedro dans le forum Langage
    Réponses: 6
    Dernier message: 28/06/2004, 13h06
  3. problème de lecture base de registre
    Par pafounet3 dans le forum MFC
    Réponses: 10
    Dernier message: 31/12/2003, 14h06
  4. [fread] Problème de lecture de buffer
    Par karl3i dans le forum C
    Réponses: 2
    Dernier message: 25/09/2003, 09h21
  5. Réponses: 4
    Dernier message: 23/07/2003, 13h07

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