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

Cobol Discussion :

Questions Evaluate et Alimentation fichier de Sortie


Sujet :

Cobol

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2019
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Questions Evaluate et Alimentation fichier de Sortie
    Bonjour,

    Je souhaiterais créer un programme permettant de lister les sports choisis en option par des élèves avec le nombre d’heures pratiqué pour chacun de ces sports le mois dernier.

    J’ai un fichier en entrée contenant des élèves avec leur option de sport ainsi que le nombre d’heures de sport pour le sport pratiqué, s’il en a pratiqué, le mois dernier.

    Il se présente de la façon suivante :
    01
    10maurice
    1101022001
    12tennis
    10martin
    1120082001
    12football
    12tennisdetable
    13tennisdetable 10
    10tinard
    1126022001
    12tennis
    13tennis        10
    10vorou
    1102022001
    12badminton
    12volleyball
    12tennisdetable
    13badminton    10
    13volleyball    4
    09EOF

    Le fichier contient différents indicatifs:
    01
    02
    03
    04
    10nom de l’élève
    11date de naissance de l’élève
    12sports choisis en option
    13sport pratiqué le mois dernier et nombre d’heures pratiqué le mois dernier sur ce sport
    09fin de fichier EOF
    L’indicatif 01 de début et 09 de fin de fichier.

    Dans le fichier de sortie, je dois reporter de la façon suivante les données
    Nom élève Sport en option Heures pratiquées


    Exemple ici de données reportées en sortie :
    Mauricetennis0
    Martinfootball0
    Martintennisdetable10
    Tinardtennis10
    Voroubadminton10
    Vorouvolleyball0
    Voroutennisdetable0
    Vorouvolleyball4

    Si l’élève n’a pas pratiqué un des sports qu’il a en option, donc pas d’enregistrement 13 m pour l’option donnée, il faut mettre zéro dans heures pratiquées dans le fichier de sortie.

    Dans mon traitement j’ai ce paragraphe :

    Traitement-sports.

    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
    Evaluate w-indicatif 
        When 10 
             Move ws-enregistrement(3:x) to nom-élève 
    
        When 12 
             Move ws-enregistrement(3:y) to sport-option (I)
    
         When 13
             Move ws-enregistrement(3:z) to sport
             Move sport(3:14) to sport-pratiqué
             Perform varying J from 1 by 1 until sport-pratiqué = sport-option (J)
             End-Perform
             If sport-option (J) = sport-pratiqué
                Move sport(15:2) to nbr-heures
             End-if
    
    End-Evaluate
    Je ne sais pas trop ou mettre le perform d’alimentation du fichier de sortie pour que les données soient restituées comme montrées précédemment.
    Si je le mets au When 12, seules les données
    nom-élève et sport-option y seront mais avec sport-pratiqué à 0.
    Si je le mets dans le When 12 et le When 13 en même temps, j’aurai des données en double, avec le sport pratiqué le mois dernier à 0, puis en dessous le même avec le bon chiffre, et les autres sports avec le nombre d’heures à 0.
    Si je le mets dans le When 13, seules sont reportés dans le fichier de sortie les élèves ayant pratiqué un sport le mois dernier.

    Pouvez vous m’aider? Ou m’aiguiller?

    Merci d’avance.

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 134
    Points : 38 557
    Points
    38 557
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    L'écriture en sortie doit être faite à chaque fois que le code enregistrement repasse à une valeur inférieure (ce qui indique un changement d'élève ou la fin du fichier)
    Il faut donc sauvegarder le code enregistrement lu pour pouvoir le comparer lors de la lecture suivante.

    Par contre
    - si votre description du fichier en entrée est fidèle à la réalité, ce fichier est mal conçu. En l'absence de code ou numéro d'élève, impossible de différencier plusieurs élèves qui portent le même nom...
    - il ne faut pas récupérer les différentes zones par utilisation des positions et longueur, mais utiliser une copie cataloguée de l'enregistrement du fichier, copie à déclarer en working et qui sera alimentée grâce à un READ INTO.
    - si votre description du fichier en sortie est fidèle à la réalité, vous pouvez simplifier votre "EVALUATE" pour ne tester que les codes enregistrements "10" (nom de l'élève) et "13" (nom du sport et nombre d'heures pratiquées) , toutes les autres valeurs sont ignorées.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2019
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Merci pour votre retour.
    Il n’y a pas de copie fournie pour ce fichier d’où le fait que je passe par les différentes zones.
    Pour le fichier de sortie, il me faut aussi restituer les sports en options, même s’ils n’ont pas été pratiqués, et leur nombre d’heure sera à 0

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 134
    Points : 38 557
    Points
    38 557
    Billets dans le blog
    9
    Par défaut
    S'il n'y a pas de copie, le mieux c'est d'en créer une

    S'il faut restituer également les sports non pratiqués, alors les codes "12" sont également utiles

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2019
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Oui merci.
    Le souci c’est que je me retrouve avec des doublons dans le fichier de sortie pour certains élèves du style :

    Mauricetennis0
    Martinfootball0
    Martintennisdetable0
    Martintennisdetable10
    Voroubadminton0
    Voroubadminton10
    Vorouvolleyball0
    Vorouvolleyball4
    En fait il ne faut pas que les sports pratiqués apparaissent deux fois, une fois à 0 puis une fois avec le nombre d’heures.
    Par contre pour les sports optionnels mais non pratiqués on les garde avec le nombre d’heures à 0.

    Sauriez-vous comment je peux éviter ces doublons dans ce cas-là ?
    Merci

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 134
    Points : 38 557
    Points
    38 557
    Billets dans le blog
    9
    Par défaut
    Si vous utilisez la méthode que j'expliquais plus haut, à savoir n'écrire que quand le code enregistrement lu repasse à une valeur inférieure à la précédente, ce problème ne se produira plus

Discussions similaires

  1. [tomcat]fichiers de sorties
    Par agougeon dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 02/10/2005, 13h04
  2. Réponses: 4
    Dernier message: 28/09/2005, 15h04
  3. Réponses: 11
    Dernier message: 30/08/2005, 14h47
  4. Fichier de sortie
    Par flzox dans le forum Editeurs / Outils
    Réponses: 2
    Dernier message: 09/07/2005, 09h59
  5. Réponses: 4
    Dernier message: 22/11/2004, 19h29

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