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 :

programme qui charge un fichier dans le memo centrale


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 31
    Par défaut programme qui charge un fichier dans le memo centrale
    salut a tous le monde,
    j'ai une exercice qui ma beaucoup ambeté voila le:

    ecrire un programme qui charge un fichier NOMBRES.TXT dans la mémoire centrale dans lequel se trouve une liste de nombres entiers (une dizaine), les trie dans un ordre croissant et les écrit dans un deuxième fichier TRI.TXT.

    voila mon code:

    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
    include <stdio.h>
    #include <stdlib.h>
     
    int main ()
    {
    int val[10];
    int i,x,y,temp;
    FILE *fich;
    if ((fich =fopen("NOMBRES.TXT", "r"))==NULL)
    {
    printf("%s\n"," Erreur le fichier n'existe pas");
    exit (1);
    }
    for(i=0;i<=9;i++){
    fscanf(fich,"%d",&val[i]);
    }
    for(x=0;x<=8;x++){
    	for(y=0;y<=8;y++){
    		if ((val[y])>(val[y+1])){
    		    temp=val[y];
    		    val[y]=val[y+1];
    		    val[y+1]=temp;
    		}
    	}
     
    }
    if ((fich =fopen("TRI.TXT", "w"))==NULL)
    {
    printf("%s\n"," probleme d'ouverture de fichier");
    exit (1);
    }
    for(i=0;i<=9;i++){
    fprintf(fich,"%d\n",val[i]);
    }
    fclose(fich);
    return 0;
     
    }
    bonsoiré

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 31
    Par défaut programme qui charge un fichier dans le memo centrale
    voila le fichier NOMBRES.TXT:


    6
    7
    5
    3
    8
    1
    4
    2
    9
    0

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 52
    Par défaut
    Ou est ton problème ?.

    Ta lecture du fichier es t'elle correcte ?
    Vérifiable par une simple boucle avec un printf.

    Si la lecture est correcte, Ton tri est t-il correct ?
    Vérifiable par une simple boucle avec un printf.
    (Pourquoi ne pas faire une fonction qui affiche un tableau d'entier et l'appeler avant et après le tri)

    Enfin si le tri es correct, ton fichier de sorti est t-il bon?.

    Pour fin, Essay utiliz mieux francé ai baliz cod pour + clair sinon nous aussi beaucoup ambeté voila le

    Bon courage.

  4. #4
    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
    1. Utilise les balises CODE.

    2. Le problème vient principalement du tri.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    for(x=0; x <= 8; x++)
    {
        for(y = x; y <= 9; y++)
        {
            if (val[y] > val[y+1])
            {
                 temp = val[y];
                 val[y]=val[y+1];
                 val[y+1]=temp;
            }
        }
    }
    3. Autres remarques :
    Citation Envoyé par nomane64
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ((fich = fopen("NOMBRES.TXT", "r")) == NULL)
    {
        printf("%s\n"," Erreur le fichier n'existe pas");
        exit (1);
    }
    Il ne faut pas abuser de la fonction exit (exit c'est mal !). L'utiliser que dans les cas très graves (personnelement, je n'ai jamais utilisé exit de toute ma vie !). Il y a toujours un moyen de terminer le programme "naturellement" (avec un if ... else ... par exemple).

    Si l'ouverture du fichier a échoué celà ne veut pas dire que le fichier n'existe pas. Peut-être que tu n'as pas les permissions nécessaires pour l'ouvrir ou que le système n'a pas suffisament de mémoire libre pour charger le fichier, etc. Il ne faut donc pas mentir à l'utilisateur. Utilise perror pour afficher la cause d'une erreur (ou bien récupérer la description de l'erreur avec strerror).

Discussions similaires

  1. programme qui plante. chercher/remplacer dans des fichiers.
    Par [Hugo] dans le forum Général Python
    Réponses: 2
    Dernier message: 31/10/2006, 17h10
  2. [LG]programme qui renomme des fichiers
    Par Ne0taku dans le forum Langage
    Réponses: 9
    Dernier message: 16/02/2005, 21h18
  3. Programme qui analyse un fichier log
    Par abdou.sahraoui dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 20/08/2004, 14h27

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