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 :

Projet C/C++ Tri de données dans un fichier .txt


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Pilote de ligne
    Inscrit en
    Mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Pilote de ligne

    Informations forums :
    Inscription : Mai 2017
    Messages : 3
    Par défaut Projet C/C++ Tri de données dans un fichier .txt
    Bonjour à tous,

    Je suis nouveau sur le forum, car je souhaiterai me lancer dans un "petit" projet en C ou C++ afin de me faciliter la vie tous les mois.

    Je m'explique, tous les mois je reçois plusieurs planning pour mon travail et je dois faire une liste de choix qui est ensuite assigné par séniorité dans ma compagnie. Je reçois ces plannings sous format .txt, et je vous ai joint un échantillon de ces différents plannings.

    Chaque "block" représente un planning (à droite "BLK N° XXX", est le numéro de chaque planning).

    Ce que je souhaiterai faire, c'est créer un programme qui me tri les "block" donc les plannings en fonction du nombre de jours "off" les weekend sur le mois en l'occurence représenté par "X" ou ":" en dessous de "SA" ou "SU". Si dans un premier temps j'arrive à faire ça, ça serait déjà pas mal.

    Ensuite, j'aimerai pouvoir lui dire de me trier ces blocks en fonction de critères, par exemple, nombre de jours "off" les weekends, ensuite nombre de jour off totale et ensuite le minimum d'heure TAFB (time away from base).

    En gros je lui donne les critères, et il me tri toutes les lignes en fonctions des critères que je lui donne.


    Sur la théorie ça serait:

    Donne moi dans l'ordre les blocks avec maximum nombre de jour off le weekend, ensuite parmis toutes les lignes avec 8 jour off le weekend, réorganise les de manière à trier celle avec le plus de jour off totale en premier, pareil pour les lignes avec 7 jour off les weekends, etc.. et puis éventuellement rajouter le TAFB dans l'équation.


    Ma question est, est ce que c'est un exercice très difficile pour un débutant? Est ce réaliste? Est ce que le C (ou C++) est le plus adapté à ce que je souhaite faire?

    merci par avance.

    Julien
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par défaut
    On peut décomposer une solution à ton problème ainsi :

    • reconstruire une structure de données cohérente à partir des informations organisées dans le fichier d'entrée ;
    • faire en sorte de pouvoir effectuer des requêtes sur la structure et présenter l'information en fonction de différents critères.

    Les informations sont vraisemblablement déjà stockées et organisées quelque part en amont (base de données ?) puisqu'on a généré le fichier d'entrée dans un format cohérent, d'où une première question : ne pourrait-on zapper la première étape, à savoir interroger directement le système d'origine ?


    Je vais tout de même répondre aux tiennes, mais dans l'ordre inverse :

    Citation Envoyé par ju10489 Voir le message
    Est ce que le C (ou C++) est le plus adapté à ce que je souhaite faire?
    Non, certainement pas (long et ultra-chiant, pour zéro bénèf au final). Ce qu'il te faut c'est un langage de script, ou un bridge (Python, par exemple). Avec possiblement une petite base de données derrière.

    Citation Envoyé par ju10489 Voir le message
    Ma question est, est ce que c'est un exercice très difficile pour un débutant? Est ce réaliste?
    Pour un débutant en programmation ? En C, non c'est trop difficile. En Python, c'est pas de la tarte.

  3. #3
    Candidat au Club
    Homme Profil pro
    Pilote de ligne
    Inscrit en
    Mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Pilote de ligne

    Informations forums :
    Inscription : Mai 2017
    Messages : 3
    Par défaut
    Salut Matt,

    Merci pour ta réponse.

    Non malheureusement je n'ai pas accès à la source. En fait c'est un logiciel ultra complexe qui prend tous les vols à faire par la compagnie, la compagnie donne des critères (nombre d'overnight minimum, nombre de jour off minimum, temps de repos etc..) et ce programme pond un fichier avec les lignes.

    Bon je crois que ça va être compliqué alors.. je vais me taper tout à la main. J'aurai bien aimé par la même occasion, apprendre un langage de programmation. Je vais regarder Python.

    Merci encore!

    A+

  4. #4
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par défaut
    Mais Python est un langage de programmation à part entière. En fait Python est un peu tout, sauf un langage compilé. Rien ne t'empêche de te mettre au C par la suite, c'est simplement que pour le cas d'application concret que tu nous présentes, ce n'est vraiment pas l'outil qu'il te faut. L'analyse et le traitement de chaînes de caractères sont mille fois plus aisés dans un langage de plus haut niveau (Python, Perl, shell, C#, etc..).

    Renseigne-toi également sur ce qu'est une expression régulière (regex), ça pourra éventuellement t'être utile.

    Attends quelques réponses supplémentaires pour te faire un avis.

  5. #5
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    C'est aussi le sujet de prédilection du couple sed et grep (voire leurs amis cut et sort).
    Selon la nature du traitement.
    Ces quelques programmes peuvent t'aider à mettre en forme ton fichier pour qu'il soit plus utilisable, ce qui peut grandement simplifier l'écriture du script/programme de décision.

    A toi de voir si tu veux une décision automatique, ou simplement de l'information plus claire pour t'aider à prendre la décision.

  6. #6
    Candidat au Club
    Homme Profil pro
    Pilote de ligne
    Inscrit en
    Mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Pilote de ligne

    Informations forums :
    Inscription : Mai 2017
    Messages : 3
    Par défaut
    En fait ce que j'aurai aimé pouvoir faire c'est le mettre sous excel et faire un espèce de tri ou il me met dans les colonnes que je décides les lignes avec le plus de croix en premier. Mais la mise en forme sous excel est galère, car tout se retrouve dans la premiere colonne.

    Pour le Python j'ai regardé un peu, j'ai l'impression qu'il va falloir que je créée une base de donné afin de stocké les donnés (nombre de X par exemple) pour chaque ligne, pour ensuite faire le tri.

    Mon idéale serait de récupéré un fichier avec juste les numéros des blocks dans l'ordre, en fonction de mes critères de préférences.

    Merci pour les réponses

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/03/2007, 18h38
  2. [VBS]Lire des données dans un fichier .txt
    Par kacxial dans le forum VBScript
    Réponses: 4
    Dernier message: 28/02/2007, 14h44
  3. Rajout de données dans un fichier txt
    Par ben_ghost dans le forum C++/CLI
    Réponses: 4
    Dernier message: 10/10/2006, 12h30
  4. Comment créer une base de donnée dans un fichier .txt
    Par vantoff dans le forum C++Builder
    Réponses: 9
    Dernier message: 19/07/2006, 20h44
  5. Remplacer / Supprimer des données dans un fichier txt
    Par PedroBD dans le forum Langage
    Réponses: 3
    Dernier message: 03/07/2006, 14h33

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