• # pourquoi une boucle ?

    Posté par . En réponse au message copier les elements d'un tableau dans un fichier. Évalué à 5.

    pourquoi ne pas simplement écrire le dernier élément du tableau plutôt que de boucler sur tout le tableau ?

    Par exemple on pourrait faire ceci :

    bateau[N] = saisie();
    FILE *fichier = fopen("mon_voillier.txt", "a");
    if (fichier != NULL){
     fprintf(fichier,
     "%s %s\n%s\n%s\n%s\n%d/%d/%d\n%d/%d/%d\n\n", 
     bateau[N].un_locataire.nom,
     bateau[N].un_locataire.prenom,
     bateau[i].un_locataire.cni,
     bateau[N].id_reservation,
     bateau[N].id_voillier,
     bateau[i].date_debut.jour,
     bateau[N].date_debut.mois,
     bateau[N].date_debut.annee, 
     bateau[N].date_fin.jour, 
     bateau[N].date_fin.mois,
     bateau[N].date_fin.annee);
     fclose(fichier);
    }
    ++N;

    Quelques remarques :

    • initialiser ton pointeur fichier à NULL ne sert à rien si tu vas le réaffecter à la ligne d'après ;
    • plutôt que d'incrémenter tes variables de façon pédestre, je te conseille d'apprendre à utiliser les opérateurs d'incrémentation du langage, ils sont utilisés partout dans le monde du C ;
    • ton code est extrêmement mal mis en forme, je te conseille d'utiliser un programme de mise en forme automatique de code tel que clang-format, ce sera plus aisé de revoir ton code et de déceler des erreurs ;
    • prends la peine de relire avant de poster, il y a des parties de ton post que j'ai dû relire 4 fois avant de comprendre où tu voulais en venir.