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 :

Somme de notes écrites dans un fichier


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Bénin

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Par défaut Somme de notes écrites dans un fichier
    Bonjour à tous,

    J'aimerais votre aide par rapport à un code : j'essaie de faire des sommes en ligne de notes entrées dans un fichier et je n'y arrive pas.
    Pouvez-vous m'aider un peu ? je suis un peu débutant donc merci d'avance.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 24
    Par défaut
    Salut kev98. pouvons nous voir ton code source pour deceller ou se trouve le problème?

  3. #3
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 736
    Par défaut
    Bonjour et bienvenue .

    La politique du forum est de ne pas fournir de code tout prêt, car ça ne te permettrais pas d'apprendre convenablement.

    Mais on t'aidera volontiers si tu as des questions, des blocages sur du code déjà existant.

    Ton besoin se décompose en deux étapes :
    Ouvrir le fichier et y extraire les notes, puis manipuler les notes extraites.

    Pour ouvrir le fichier il y a les fonctions fopen / fclose et fgets / fscanf.
    Manipuler les notes extraites reviens à les additionner, puis diviser la somme obtenue par le nombre de notes.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Bénin

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Par défaut aide de code c
    Je vous montre le code, c'est pas vraiment juste un bout de code, et je voudrais le rediriger vers un fichier. Je vous envoie le main c

    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
    #include <stdio.h>
    #include <stdlib.h>
     
    int main()
    {
     int moy=0;
        int a,i,c, d, j, b;
        FILE *fichier=NULL;
     
        fichier=fopen("Nom_Fichier.txt", "a++");
     
        if(fichier!=NULL){ printf("fichier ouvet\n");
        //else printf("Erreur");
        int tab[2][4];
        for(i=0;i<2;i++)
            {
               for(j=0;j<2;j++){
               fscanf(fichier, "%d %d",&a, &b);
            printf("%d %d\n", a, b);
            moy=(a+b)/2;
                printf("La moyenne de la ligne %d est: %d\n",i, moy);
            }
     
     
            }
        }
    system("PAUSE");
    system("cls");
     FILE *fichier1=NULL;
         fichier1=fopen("Moyenne_fichier.txt", "a++");
          if(fichier!=NULL){ printf("fichier ouvet\n");
           for(i=0;i<2;i++)
            {
               for(j=0;j<2;j++){
                    fprintf(fichier1,"La moyenne de la ligne %d est: %d\n",i, moy);}}}
        return 0;
    }
    Essaye de créer les deux fichiers pour voir, merci.

  5. #5
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 736
    Par défaut
    Quand tu ouvres tes fichiers avec fopen, il n'existe pas de mode a++. La première fois que tu ouvres le fichier (ligne 12), utilises plutôt le mode r, car tu ne fais que lire le fichier.
    La seconde fois en revanche, utilises le mode a+ (un seul +), puisque tu écris à la fin du fichier.

    Tu ne fais rien si ton fichier n'a pas correctement été ouvert, ce qui peut poser problème.

    Les deux lignes system ne sont pas utiles ici. Pire, la ligne system("cls") efface ce qui a été écrit juste avant. Tu devrais les enlever.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Bénin

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Par défaut
    ok merci pour votre aide

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 836
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Autres détails: je ne comprends pas pourquoi tu fais 2 for() imbriqués puisqu'il ne se passe rien dans le for le plus extérieur. Autant alors ne faire qu'une boucle for (i=0; i < 4; i++).

    Toutefois ça ne fonctionne que sur un fichier de 4 lignes. Or le principe de traitement d'un fichier ne doit pas se préoccuper du nombre de lignes qu'il contient parce que justement on n'est pas sensé le connaitre (et surtout ça peut varier).
    Le principe général est alors de boucler tant que la lecture a réussi.
    Exemple
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    char ligne[80];
    int a, b;
    while (fgets(ligne, 80, fichier) != NULL) {
        sscanf(ligne, "%d %d", &a, &b);
        ...
    }

    Et enfin un code ça s'indente correctement. Ca permet d'une part de montrer qu'on s'intéresse assez à ce qu'on fait pour avoir envie de produire un code agréable à l'oeuil et surtout ça permet ensuite de se relire et aux autres de te lire bien plus rapidement et plus agréablement.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/05/2006, 17h03
  2. [VBA] Aide pour code
    Par Virgile59 dans le forum Access
    Réponses: 2
    Dernier message: 22/05/2006, 14h16
  3. [Mail] Besoin d'aide sur code email avec PJ
    Par flysurfer dans le forum Langage
    Réponses: 1
    Dernier message: 23/02/2006, 10h52
  4. besoin d'aide sur code Block
    Par Antalus dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 31/01/2006, 18h38
  5. Remplissage de TStringGrid à l'aide du code
    Par the watcher dans le forum Bases de données
    Réponses: 4
    Dernier message: 14/10/2005, 16h16

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