Cobol

moko

Touriste
j'ai besoin d'aide pour ce projet urgent je dois le remettre dans deux jours

BUT DU PROGRAMME
Imprimer un listing des points pour les étudiants d'une année d'étude d'une Haute Ecole. Ce listing
sera trié en ordre décroissant de moyenne sur 1000.
SUJET DU PROGRAMME
Ce programme est d'office limité à l'année d'étude pour laquelle vous disposerez des données. A
l'instar de votre cas personnel, vous suivez un certain nombre de cours pour lesquels une cote sur 20
sera établie, cote qu'il faudra pondérer en fonction de son coefficient de pondération dans le but de
calculer le total des points obtenu par chaque étudiant, ainsi que sa moyenne sur 1000.
Les données nécessaires à ce programme ont été rassemblées dans 2 fichiers séquentiels. Le fichier
cours contient les informations des cours et pondérations associées pour l'année d'étude considérée.
Le fichier ptsEtd contient les informations concernant les points de chaque étudiant de l'année
d'étude.
Il faut savoir que :
• si un étudiant est absent à un cours, sa cote du cours interviendra pour 0 dans le calcul de
son total ;
• si un étudiant est dispensé d'un cours, ce cours n'intervient pas dans le calcul de son total.
FICHIERS EN ENTREE
1. cours
Fichier séquentiel des cours de l'année d'étude pour laquelle on désire le listing des points.
DSN du fichier : ANDR.RESIDN60.FHN.COURS
Les enregistrements de ce fichier sont entièrement valides et ont la structure suivante :
sigCours : chaîne de 3 caractères (sigle du cours)
nomCours : chaîne de 40 caractères (nom du cours)
pondCours : entier de 2 chiffres en étendu non signé (pondération du cours)
Il y a exactement 16 cours pour l'année d'étude qui nous intéresse : ceci ne doit surtout pas vous
empêcher de travailler 'proprement', comme appris lors du cours de logique, pour parcourir ce
fichier.
2. ptsEtd
Fichier séquentiel des points des étudiants de l'année d'étude, trié en ordre croissant de matricule.
DSN du fichier : ANDR.RESIDN60.FHN.PTSETD
Les enregistrements de ce fichier sont entièrement valides et ont la structure suivante :
matEtd : entier de 5 chiffres en étendu non signé (matricule de l'étudiant)
nomEtd : chaîne de 15 caractères (nom de l'étudiant)
pnomEtd : chaîne de 15 caractères (prénom de l'étudiant)
coteEtd : tableau de 16 entiers de 2 chiffres en étendu, signé (les 16 cotes d'un étudiant)
• Vous pouvez supposer que le nombre d'étudiants est inférieur ou égal à 40.
• Pour chaque étudiant, les cotes sont d'office données dans l'ordre dans lequel vous avez
récupéré les noms des cours (cf fichier cours).
• Une cote de -1 signifie que l'étudiant est absent pour le cours.
• Une cote de -2 signifie que l'étudiant est dispensé du cours.
• En dehors des 2 cas particuliers précédents, les cotes sont des entiers de 0 à 20.
FICHIER EN SORTIE
1. resultats (exemple : voir document layout)
Fichier d'impression des points pour les étudiants de l'année. Son nom de liaison sera listing.
Il commencera par un entête 'Listing des points établi par xx...xxx', votre identité (nom et prénom)
remplaçant les xx...xxx.
Suivront 2 lignes qui serviront d'entête de colonnes. La 1ère devrait contenir les sigles de cours ainsi
que total et moyenne. La 2ème devrait contenir les pondérations correspondantes ainsi que /1000 pour
la moyenne. Les informations de ces 2 lignes devraient être alignées sur les points des étudiants qui
suivront.
Il y aura ensuite une ligne par étudiant. Elle comprendra le matricule, le nom, le prénom, les 16
cotes, le total obtenu (sous la forme total/max) et la moyenne sur 1000 arrondie à l'unité ; total est le
total calculé en fonction des pondérations ; max est le maximum que l'étudiant aurait pu obtenir
pour les cours qu'il devait présenter. Ces lignes par étudiant apparaîtront par ordre décroissant de
moyenne sur 1000.
Exigences
1. Les fichiers en entrée ne peuvent être lus qu’une et une seule fois.
2. Les zones numériques doivent être ‘agréablement‘ éditées.
3. Votre programme doit respecter le standard de la programmation structurée.
DOSSIER
Vous remettrez une logique minimale ainsi qu’une version imprimée de votre job contenant :
• le code source du job
• le fichier d’output donnant les return code
• le fichier d’output de la compilation seulement dans le cas où votre RC Cobol n'est pas 0
• les fichiers de résultats et/ou le fichier donnant la raison de l'erreur si problème(s)
rencontré(s) à l'exécution, sauf éventuel dump.
 

Benji

It's caturday!
Tu t'attends à ce que quelqu'un le code pour toi en fait?
 

Aqua

Elite
Le cobol , et dire que tout ça ne te servira probablement à rien , juste pour info , tu es dans quelle école ?
 

Ch3at4h

BabeZ master
Tu payes combien?
 

Skarbone

Le méchant Ω
vu l ennonce, il est a l esi :-D
 

ailless

Asimov, Sagan, Carlin, Hitchens
Le cobol , et dire que tout ça ne te servira probablement à rien , juste pour info , tu es dans quelle école ?
C'est sur sauf si tu bosses dans une banque sur des vieux systemes.

Je viens de commencer un projet en C et Cobol justement. ^^
 

fastyy

Elite
Aqua : toi tu n'y connais RIEN en disant qu'il ne s'en servirait probablement pas..

Le cobol est tjs utilisé dans tout ce qui tourne à la facturation ;).
Je trouvais ce langage assez marrant ... même si FORT répétitif.
 

Skarbone

Le méchant Ω
Sinon, vu que je ne vais pas faire le travail a ta place, je te conseille de réaliser la logique de ton programme avant de coder. Toute la logique. Sincèrement, un truc pareil tu en as pour une heure ou deux maximum. Une fois que tu as la logique, tu la transcris simplement en cobol, qui n'est quand même pas un langage bien compliqué (enfin, du moins ce qu'on en utilise a l'ESI!)
 

Aqua

Elite
toi tu n'y connais RIEN en disant qu'il ne s'en servirait probablement pas..
La probabilité pour qu'un étudiant programme en cobol est tellement mince , qu'effectivement
la plupart des étudiants ne font plus du cobol ... à part un sur 5 ans ...

A part ceux qui ont la chance et l'envie de faire de la maintenance en cobol sur du code des années 80 , le reste le cobol ne sert à rien.
C'est un langage limité et uniquement destiné sur des vieux systèmes.
 

kronoss

Geek power
Le type est déjà pas capable de faire des bêtes comparaisons, et il veut faire du cobol :-D

Il serait temps de changer de section tu crois pas ?
 

Skarbone

Le méchant Ω
Bah faut bien apprendre...
 

fastyy

Elite
ouais mais bon, là , c'est le béabas du cobol qu'il doit faire .... c'est la truc le plus simple que l'on fait en cobol :)
Je me rappelle que je me faisais payer pour faire les progs des autres ... ceux qui ont une très bonne mémoire pour enregistrer un syllabus MAIS qui ne sont pas capable de taper un prog...
Maintenant, c'est loin derrière moi tout ça...
 

kronoss

Geek power
Bah faut bien apprendre...
il y a apprendre et demander les réponses sur un forum. La 2ème solution n'est pas apprendre. Le premier truc à apprendre en progra, c'est chercher des solutions seul comme un grand. Si il n'apprend pas ça, il n'ira nul par dans cette section.
 

gregsting

Chat!
il y a apprendre et demander les réponses sur un forum. La 2ème solution n'est pas apprendre. Le premier truc à apprendre en progra, c'est chercher des solutions seul comme un grand. Si il n'apprend pas ça, il n'ira nul par dans cette section.
+1000 qu'il commence après si il a une question précise ok.
 

zoheir

cvm.mangaleet()
La probabilité pour qu'un étudiant programme en cobol est tellement mince , qu'effectivement
la plupart des étudiants ne font plus du cobol ... à part un sur 5 ans ...
haha n'importe quoi
 

Aqua

Elite
haha n'importe quoi
Va te renseigner , le cobol n'est pas un langage très aimé par les étudiants.
 

Skarbone

Le méchant Ω
il y a apprendre et demander les réponses sur un forum. La 2ème solution n'est pas apprendre. Le premier truc à apprendre en progra, c'est chercher des solutions seul comme un grand. Si il n'apprend pas ça, il n'ira nul par dans cette section.
C'est pas faux, m'enfin au début on a tous demandé de l'aide a droite a gauche :). Bon, dans ce cas ci, j'avais pas vu qu'il avait dit "a rendre dans 2 jours" :D.


(fin bon, note qu'un programme pareil en quelques heures y'a moyen de le faire :D)
 
Haut