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 :

tri 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
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Par défaut tri dans un fichier
    Salut tout le monde, voilà mon problème :

    J'ai un fichier dans lequel j'ai stocké quelques éléments verticalement, après j'ai ouvert un autre fichier pour afficher ces mêmes éléments horizontalement et maintenant le problème c'est que que je veux faire le tri des éléments de ce dernier dans un nouveau fichier, mais je n'y arrive pas.

    Pouvez-vous me dire comment dois-je procéder ?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Poste ton code qu'on puisse voir ce qui ne va pas.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Par défaut
    voila le code que j'ai essayé.

    nb: je sais qu'il ne faut pas utiliser le tableau pour y stocker des elements du fichier, puisque la memoire centrale est volatile, mais je ne sais pas le faire autrement


    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    #include <stdio.h>
    #include <stdlib.h>
    #include<string.h>
      typedef struct designation {
            char design[30];
            float prix;
            int qte;
     
    }designe;
     
     main()
    {
      FILE *fichier;
      FILE *g;
        FILE *tri;
      char design[30];
      float prix;
      int n,i,j,qte, pos;
      designe T[100], aide[20];
      char c;
     
      fichier=fopen("stockkver.dat","rt");
      g=fopen("stockkhor.dat","w+t");
      i=0;
      while(fgets(design,12,fichier))
        {
     
            design[strlen(design)-1]='\0';
            fprintf(g,"%s",design);                         
            fscanf(fichier,"%f", &prix);                         
            fscanf(fichier,"%d", &qte);
            fprintf(g,"%  .1f",prix);                        
            fprintf(g,"  %d\n",qte); 
            fprintf(g,"_________________\n"); 
            fscanf(fichier,"%c", &c);
            printf("%s %.1f %d\n", design, prix, qte);
            printf("_________________\n"); 
            i++;     
        }
        n=i; 
     
      fclose(fichier);
     
     
      /*______________________________________________________*/
     
      tri=fopen("stockktri.dat","w+t");
     
      while(fgets(design,6,fichier))
         {
             for(i=0;i<n;i++)
                {
                              T[i]=designe//j'ai voulu le mettre dans un tableau pr pouvoir faire le tri par selection
                }             
        }
          for (i=0; i<n-1; i++)
         {
     
          pos=i;
          for (j=j+1; j<n; j++)
              if (strcmp(T[j].design),(T[pos].design)>0) pos=j;
     
          aide=T[i];
          T[i]=T[pos];
          T[pos]=aide;
         }
     
     
     
     
     
      system("PAUSE");	
      return 0;
    }
    merci de me repondre...

  4. #4
    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
    quelle horreur...

    Mélanger les fgets, fscanf, etc etc...

    Normalement tu fais l'un ou l'autre..

    En général, un fgets de toute la ligne, puis des sscanf sur la ligne lue....

Discussions similaires

  1. tri dans un fichier.txt
    Par moraito dans le forum VBScript
    Réponses: 4
    Dernier message: 20/07/2016, 16h32
  2. Afficher des images triées dans un fichier XML avec XSL
    Par lino100 dans le forum XML/XSL et SOAP
    Réponses: 15
    Dernier message: 28/01/2016, 16h12
  3. Tri dans un fichier - Priorité sur existance de champs
    Par Proxy dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 05/08/2013, 15h04
  4. Genio 6.1:Tri dans un fichier
    Par Tmani dans le forum OTIC (ex-Genio)
    Réponses: 2
    Dernier message: 25/03/2010, 16h50
  5. Tri dans un fichier txt
    Par kimous dans le forum Langage
    Réponses: 16
    Dernier message: 27/03/2008, 22h12

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