Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : programmation en C [ Divers / Débutant(e) ] (waloo92i)

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é 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...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.