begin process at 2010 03 21 17:12:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

programmation en C


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

programmation en C

vendredi 9 mai 2008 à 15:10:26 | programmation en C

waloo92i

je ne sais pas comment procéder pour faire sa :

Il s'agit dans un premier temps de créer un fichier à partir du clavier ou chaque enregistrement est formé d'un nom et d'un solde, puis charger ce fichier en mémoire centrale pour le trier par ordre alphabétique avant d'écraser ce fichier avec le fichier trié.
Puis dans un deuxiéme temps il faut prévoir la modification du solde directement sur le fichier trié.
vendredi 9 mai 2008 à 18:06:13 | Re : programmation en C

BastienL21

Bonjour,
Si je comprends bien, tu voudrais créer un fichier texte dans lequel tu voudrais écrire un nom et un solde ?

si oui, voila qui pourrais peut-être t'aider :

//METTRE 2 \ pour la direction :
    fichier = fopen("C:\\RESTEDUCHEMIN\\MonFichier.txt", "a");
//si il est bien ouvert
        if (fichier != NULL)
    {
    fscanf(fichier,"%s", &VariableAInsérer);
    fclose(fichier);
    }
//si non
            if(fichier == NULL)
    {
    printf("Erreur lors de l'ouverture");
    }

Cordialement,
             Bastien
 
vendredi 9 mai 2008 à 18:08:48 | Re : programmation en C

BastienL21

ERREUR LORS DU PRECEDANT MESSAGE
-->voir ligne du code en rouge

//METTRE 2 \ pour la direction :
    fichier = fopen("C:\\RESTEDUCHEMIN\\MonFichier.txt", "a");
//si il est bien ouvert
        if (fichier != NULL)
    {
    fprintf(fichier,"%s", &VariableAInsérer);
    fclose(fichier);
    }
//si non
            if(fichier == NULL)
    {
    printf("Erreur lors de l'ouverture");
    }
//Désolé

Cordialement,
             Bastien
 
vendredi 9 mai 2008 à 20:52:30 | Re : programmation en C

waloo92i

je pense que c'est un plus compliqué que sa voila ce que j'ai fait dite moi ce que vous en pensé mais il reste des warnings que je n'arrive pas a résoudre :

<CODE>#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Tree {
       char nom[32];
       char number[32];
       struct tree * left;
       struct tree * right;
       }* root;
      
       void addItem(struct Tree *root, struct Tree *Parain, int bDir, struct Tree *Item)
       {
            if (root)
            {
                     if(strcmp(root->nom, Item->nom)<0)
                     {
                           addItem(root->left, root, 0, Item);
                     }
                     else
                       if (strcmp(root->nom, Item->nom)>0)
                       {
                           addItem(root->right, root, 1, Item);
                       }
                       else
                         if (strcmp(root->number, Item->number)<0)
                         {
                            addItem(root->left, root, 0, Item);
                         }
                         else
                         {
                             addItem(root->right, root, 1, Item);
                         }
            }
            else
            {
                if (bDir)
                    Parain->right=Item;
                    else
                    Parain->left=Item;
            }
        }
       
       
        int fCreerArbre (FILE* file)
        {
            char sBuf[128];
            struct Tree * Item;
           
            while (fgets(sBuf, 128, file))
            {
                  Item=(struct Tree*)malloc(sizeof(struct Tree));
                  sscanf(sBuf, "%s[31] %s[31]", Item->nom, Item->number);
                  Item->left=NULL;
                  Item->right=NULL;
                  if (root)
                  addItem(root, root, 0, Item);
                  else
                  root=Item;
                  }
            }
          
            int fparcoursArbre(FILE *file, struct Tree *root)
            {
                if(root)
                {
                        fparcoursArbre(file, root->left);
                        fprintf(file, "%s %s \r\n", root->nom, root->number);
                        fparcoursArbre(file, root->right);
                }
            }
            
      int main (int nargs, char ** args)
      {
          char * sInputFile;
          char * sOutputFile;
          FILE * fInputFile;
          FILE * fOutputFile;
         
          sInputFile=(char *)malloc(strlen(args[1])*sizeof(char)+1);
          strcpy(sInputFile, args[1]);
          sInputFile [strlen(args[1])];
         
          sOutputFile=(char *)malloc(strlen(args[1])*sizeof(char)+1);
          strcpy(sOutputFile, args[1]);
          sOutputFile [strlen(args[1])];
         
          fInputFile=fopen(sInputFile, "r+");
          fOutputFile=fopen(sOutputFile, "w+");
         
          fCreerArbre(fInputFile);
          fparcoursArbre(fOutputFile, root);
         
          fclose(fInputFile);
          fclose(fOutputFile);
          return 0;
          }                     
                                          
</CODE>

vendredi 9 mai 2008 à 21:02:20 | Re : programmation en C

BastienL21

Bonsoir,
Désolé mais j'ai bien peur de ne pas être à la hauteur (je débute)
Mais je peu tout de même essayer
Pourrais-tu Expliquer précisément ce que ce programme est sensé faire STP ?

Cordialement,
             Bastien
 
vendredi 9 mai 2008 à 21:17:26 | Re : programmation en C

waloo92i

Il s'agit dans un premier temps de créer un fichier à partir du clavier ou chaque enregistrement est formé d'un nom et d'un solde, puis charger ce fichier en mémoire centrale pour le trier par ordre alphabétique avant d'écraser ce fichier avec le fichier trié.
Puis dans un deuxiéme temps il faut prévoir la modification du solde directement sur le fichier trié

c'est sa qu'il est sensé faire lol je sais pas comment te l'expliquer autrement méme moi g du mal a le comprendre
lundi 12 mai 2008 à 01:49:53 | Re : programmation en C

waloo92i

bon j'ai faciliter un peu le programme est ce que quelqu'un pourait me le corriger parce qu'il me semble qu'il y'a un probléme de segmentaion voila le code:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct{
          char NOM_PERS[30] ;
          float solde ;
          }personne ;
int main()
{
  FILE *P_FICHIER; /* pointeur sur FILE */
  typedef struct{
          char NOM_PERS[30] ;
          float solde ;
          }personne ;
         
    int  C,NB_ENREG , i;
 
  char NOM_FICHIER[30], tab[C];
 
  personne p;
     
  /* Première partie :
     Créer et remplir le fichier */

  printf("Entrez le nom du fichier à créer : ");
  scanf("%s",&NOM_FICHIER);
  P_FICHIER = fopen(NOM_FICHIER, "a+");  /* write */
  printf("Nombre d'enregistrements à créer : ");
  scanf("%d",&NB_ENREG);
  C = 0;
  while (C<NB_ENREG)
     {
      printf("Entrez le nom de la personne : ");
      scanf("%s",p.NOM_PERS);
      fprintf(P_FICHIER, "%s ", p.NOM_PERS);
      printf("entrez un solde : ");
      scanf("%f",&p.solde);
      fprintf(P_FICHIER,"%f\n",p.solde);
      C++;
     }
  for(i=0 ; i< C ; i++){
          tab[i]==p.NOM_PERS[30] ;
          fprintf(P_FICHIER,"%s",tab[i]);
          }
            
  fclose(P_FICHIER);
    /* Deuxième partie :
     Lire et afficher le contenu du fichier */
  P_FICHIER = fopen(NOM_FICHIER, "r");  /* read */
  C = 0;
  while (!feof(P_FICHIER))
     {
      fscanf(P_FICHIER, "%s", p.NOM_PERS);
       fscanf(P_FICHIER, "%f\n",p.solde);
C++;
     }
  for(i=0 ; i< C ; i++){
          fscanf(P_FICHIER,"%s",tab[i]);
          }
     
    
  fclose(P_FICHIER);
  
   return 0;
   }



Cette discussion est classée dans : fichier, temps, programmation, trié, solde


Répondre à ce message

Sujets en rapport avec ce message

Disc dur et programmation [ par zinotron ] Voila l'affaire: comment manipule ton un dic dur en C ou C++?pas pour lire ou ecrire des données dessus (ca c de la manip de fichier) mais pour par ex Programmation d'un QCM [ par redpooka ] J'aurais besoin d'un peu d'aide de quelque morceaux de code, C++Faire un QCM où il lit les questions et les réponses sur un fichier txt.Si vous avez q gestion de fichier et du temps de la machine [ par rasta_raf ] Salut tout le monde !-Comment gérer a partir de Visual C++ l'écriture et le copiage de fichiers d'un dossier à un autre.-Comment pouvoir faire une act Programmation multilingue suite [ par VinceVG ] SalutJe souhaite traduire un source cpp. Plus précisemment je souhaiterais que a traduction se trouve dans un fichier texte (de type .ini par exemple) Programmation Système Linux [ par salvio3223 ] Bonjour bonjour.Je souhaitais simplement demander si il est possible (je pense lol) de copier le résultat de l'execution de commande sur la sortie sta comment gerer les retour dans un fichier. [ par casper_2 ] Bonjour jaimerai que dans mon fichier,les retour chariot,soit gerer!!En faite j'aimerai qu'après chaque ecriture,dans le fichier il puisse m'ecrire a TEMPS EN C [ par man_smi ] COMMENTS UTILISER LE TEMPS EN  C?je veux  consulter un fichier pour me degager seulement les informations enregistrer en une date determinée.mon exemp pb écriture dans fichier [ par phenX ] slt, voila, bon j'arrive a créer un fichier text sans problème mais je n'arrive pas a écrire ce que je veu dedans. Voila la source: --------------- programmation C, problème fichier [ par lenneth666 ] Bonjour alors dans mon porgramme comme je veut faire un parcours d'arborescence j'utilise readdir. struct stat buf struct dirent d pui plus loin dans Comment accélérer l'écriture des données sur un fichier [ par islem1982 ] Bonjour tout le monde,En essayant de programmer efficacement un algorithme de fouille de données, j'ai fait face à un problème majeur, à savoir le tem


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,256 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales