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

Contribuez Discussion :

création d'un échéancier de crédit en cobol


Sujet :

Contribuez

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Mai 2022
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur COBOL

    Informations forums :
    Inscription : Mai 2022
    Messages : 13
    Par défaut création d'un échéancier de crédit en cobol
    Bonjour,
    Voici ma première contribution, bon je débute et je suis sûr qu'il y a pleins de trucs qui pourraient être améliorées.
    C'est l'occasion d'apprendre de nouvelles choses

    Ce programme crée un fichier d'échéancier de crédit très simple selon un montant à emprunter, une durée et un taux (concernant le taux par exemple pour 2% entrer 0.02).

    J'ai vérifié les données avec un vrai simulateur (j'ai fait une ou deux retouches depuis mais normalement c'est bon)
    Ce programme ne gère pas les assurances par contre.

    Voilà merci

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
           IDENTIFICATION DIVISION.
           PROGRAM-ID. EMPLOYEERAISE.
    
          *---------------------------------------------------------------*
          * Ce programme a pour but de créer un échéancier de crédit avec *
          * un calcul des mensualités,des intérêts et du capitl remboursé *
          *---------------------------------------------------------------*
    
           ENVIRONMENT DIVISION.
           INPUT-OUTPUT SECTION.
           FILE-CONTROL.
    
          * creation d'un fichier de sortie pour afficher les données
    
               SELECT ECHEANCIER ASSIGN TO "ECHEANCES.DAT"
                  ORGANIZATION IS LINE SEQUENTIAL. 
           DATA DIVISION.
           FILE SECTION.
           FD ECHEANCIER.
              01 PRINT-LINE PIC X(100).
    
           WORKING-STORAGE SECTION.
    
          * les variables utilisées dans mon programme
              01 CREDIT-AREA.
               05 MONTANT           PIC 9(6) VALUE ZERO.
               05 TAUX              PIC 99V9999999 VALUE ZERO.
               05 DUREE             PIC 9(3) VALUE ZERO.
               05 NBECH             PIC 9(3) VALUE ZERO.
               05 CAPAREMB          PIC 9(6)V999999 COMP-3 VALUE ZERO.
               05 CAPREMB           PIC 9(6)V999999 COMP-3 VALUE ZERO.
               05 INTERETS          PIC 9(6)V999999 COMP-3 VALUE ZERO.
               05 MENSUALITES    PIC 9(6)V9(6) COMP-3 VALUE ZERO. 
          * compteur d'echeances 
               05 COUNTECH          PIC 999 VALUE ZERO.    
    
    
          * les heading permettent une petite mise en forme
           01  HEADING-LINE.
               05 FILLER              PIC X(4)  VALUE 'MOIS'.
               05 FILLER              PIC X(6)  VALUE SPACES.
               05 FILLER              PIC X(17) VALUE 'CAP A REMBOURSER'.
               05 FILLER              PIC X(6) VALUE SPACES.
               05 FILLER              PIC X(14)  VALUE 'CAP REMBOURSE'.
               05 FILLER              PIC X(4)  VALUE SPACES.
               05 FILLER              PIC X(8) VALUE 'INTERETS'.
               05 FILLER              PIC X(2)  VALUE SPACES.
               05 FILLER              PIC X(11)  VALUE 'MENSUALITES'.
               05 FILLER              PIC X(5)  VALUE SPACES.
    
           01 HEADING-LINE2.
               05 FILLER              PIC X(5)  VALUE '-----'.
               05 FILLER              PIC X(6)  VALUE SPACES.
               05 FILLER              PIC X(17) VALUE '-----------------'.
               05 FILLER              PIC X(6) VALUE SPACES.
               05 FILLER              PIC X(14)  VALUE '--------------'.
               05 FILLER              PIC X(4)  VALUE SPACES.
               05 FILLER              PIC X(8) VALUE '--------'.
               05 FILLER              PIC X(2)  VALUE SPACES.
               05 FILLER              PIC X(12)  VALUE '------------'.
               05 FILLER              PIC X(5)  VALUE SPACES.
    
          * affichage des données dans le fichier
           01 DETAIL-LINE.
               05 DET-DATEECH         PIC 9(4).
               05 FILLER              PIC X(6)  VALUE SPACES.
               05 DET-CAP-A-REMB      PIC 9(6).99.
               05 FILLER              PIC X(16) VALUE SPACES.
               05 DET-CAP-REMB       PIC 9(6).99.
               05 FILLER              PIC X(7)  VALUE SPACES.
               05 DET-INTERETS        PIC 9(6).99.
               05 FILLER              PIC X(3) VALUE SPACES.
               05 DET-MENSUALITES     PIC 9(6).99.  
    
    
           PROCEDURE DIVISION.
    
           0100-MAIN-PROCEDURE.
          * ouverture du fichier de sortie et process du programme   
               OPEN OUTPUT ECHEANCIER
               PERFORM 0130-ENTER-INFOS
               COMPUTE NBECH = DUREE * 12 
               PERFORM 0150-PROCESS-CALCULS UNTIL COUNTECH = NBECH 
               PERFORM 0900-STOP-PROGRAM
               .
    
           0130-ENTER-INFOS.
          * saisie des données par l'utilisateur et impression des heading
               DISPLAY "QUEL EST LE MONTANT A EMPRUNTER ?"
               ACCEPT MONTANT
               DISPLAY "QUEL EST LA DUREE DE REMBOURSEMENT EN ANNEES?"
               ACCEPT DUREE
               DISPLAY "QUEL EST LE TAUX DU CREDIT ?"
               ACCEPT TAUX
               MOVE MONTANT TO CAPAREMB
               WRITE PRINT-LINE FROM HEADING-LINE
                  AFTER ADVANCING 1 LINE 
               WRITE PRINt-LINE FROM HEADING-LINE2
                  AFTER ADVANCING 1 LINE
               .
    
           0150-PROCESS-CALCULS.
          * ici les calculs 
               ADD 1 TO COUNTECH
               COMPUTE CAPAREMB = CAPAREMB  - CAPREMB
               COMPUTE MENSUALITES = 
               (MONTANT*(TAUX/(12)))/(1 -(1/(1+(TAUX/12)))**(DUREE*12))
               COMPUTE INTERETS = 
               (CAPAREMB)*(TAUX/12) 
               COMPUTE CAPREMB = (MENSUALITES) - INTERETS
               PERFORM 0170-PRINT-ECHEANCIER
               .
    
           0170-PRINT-ECHEANCIER.
          * move et impression des données ligne par ligne     
               MOVE COUNTECH TO DET-DATEECH
               MOVE MENSUALITES TO DET-MENSUALITES
               MOVE INTERETS TO DET-INTERETS 
               MOVE CAPREMB TO DET-CAP-REMB
               MOVE CAPAREMB TO DET-CAP-A-REMB
               WRITE PRINT-LINE FROM DETAIL-LINE
                  AFTER ADVANCING 1 LINE
               .
               
               
           0900-STOP-PROGRAM.
               CLOSE ECHEANCIER
               STOP RUN
               .
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [XL-2016] Aide pour la création d'un échéancier
    Par ybarketi dans le forum Excel
    Réponses: 0
    Dernier message: 15/01/2018, 10h20
  2. Réponses: 1
    Dernier message: 14/05/2015, 11h35
  3. Création échéancier en VBA (suite)
    Par landoltp dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/10/2007, 17h01
  4. Création échéancier en VBA
    Par landoltp dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 10/10/2007, 16h51
  5. Création d'un échéancier à partir de requêtes
    Par chicanne dans le forum Modélisation
    Réponses: 6
    Dernier message: 29/06/2007, 16h39

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