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

Turbo Pascal Discussion :

[TP] Aide pour programme de tarification


Sujet :

Turbo Pascal

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [TP] Aide pour programme de tarification
    Bonjour, je voudrais de l'aide pour créer un programme.

    Je dois effectuer un programme sur la tarification jaune d'EDF.
    L'utilisateur devra choisir son abonnement (Base ou EJP) puis sa puissance souscrite et son utilisaion (dans le cas de l'abonnement de Base) et enfin rentrer ses consomation annuelle dans chaque tranche horaire de l'abonnement (heure pleine ou creuse, été ou hiver).
    Le programme affichera ensuite le prix de sa facture ainsi que les differente taxes.
    J'ai deja bien avancer (terminer l'abo de Base) mais quand je le teste ca ne me calcul pas les bon résultat je sais pa ou est mon erreur.

    Merci d'avance, en esperant que vous pourrez m'aider.

    Voici mon programme:


    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
    PROGRAM Tarification_jaune;
     
    USES CRT;
     
    VAR
       Option: INTEGER;
       Util:   INTEGER;
       HPH:    REAL;
       HCH:    REAL;
       HPE:    REAL;
       HCE:    REAL;
       PHPH:   REAL;
       PHCH:   REAL;
       PHPE:   REAL;
       PHCE:   REAL;
       DENI:   INTEGER;
       PDENI:  REAL;
       PS:     REAL;
       PF:     REAL;
       TVA:    REAL;
       PR:     REAL;
       TL:     REAL;
       FT:     REAL;
     
     
    BEGIN
         CLRSCR;
              (*Choix de l'option tarifaire*)
         WRITELN('Choissisez l''option tarifaire :');
         WRITELN('1 pour BASE');
         WRITELN('2 pour EJP');
         READLN(Option);
         WRITELN('');
         WRITE('Quel est la puissance souscrite en kVA : ');
         READLN(PS);
    (*Option de BASE*)
            IF Option=1 THEN
               BEGIN
               WRITELN('Choissisez l''utilisation que vous utiliser :');
               WRITELN('1 pour l''Utilisation Moyenne UM.');
               WRITELN('2 pour l''Utilisation Longue UL.');
               READLN(Util);
           (*Utilisation Moyenne*)
                   IF Util=1 THEN
                      BEGIN
                           (*Consommation de l'utilisateur*)
                      WRITE('');
                      WRITE('Entrer votre consommation annuelle HPH en kWh : ');
                      READLN(HPH);
                      WRITE('Entrer votre consommation annuelle HCH en kWh : ');
                      READLN(HCH);
                      WRITE('Entrer votre consommation annuelle HPE en kWh : ');
                      READLN(HPE);
                      WRITE('Entrer votre consommation annuelle HCE en kWh : ');
                      READLN(HCE);
                                  (*Calcul des prix des consommations*)
                      PHPH:=HPH*11.186/100;
                      PHCH:=HCH*7.616/100;
                      PHPE:=HPE*3.073/100;
                      PHCE:=HCE*2.519/100;
                      END
                   ELSE
           (*Utilisation Longue*)
                       BEGIN
                            (*Consommation de l'utilisateur*)
                      WRITE('Entrer votre consommation annuelle HPH en kW : ');
                      READLN(HPH);
                      WRITE('Entrer votre consommation annuelle HCH en kW : ');
                      READLN(HCH);
                      WRITE('Entrer votre consommation annuelle HPE en kW : ');
                      READLN(HPE);
                      WRITE('Entrer votre consommation annuelle HCE en kW : ');
                      READLN(HCE);
                                  (*Calcul des prix des consommations*)
                      PHPH:=HPH*7.755/100;
                      PHCH:=HCH*5.605/100;
                      PHPE:=HPE*2.943/100;
                      PHCE:=HCE*2.387/100;
     
                                (*Deniveller de puissance*)
                      WRITELN('Sur quelle puissance desirer vous faire un deniveler :');
                      WRITELN('0 pour aucun');
                      WRITELN('1 pour P1');
                      WRITELN('2 pour P1-P2');
                      WRITELN('3 pour P1-P2-P3');
                      READ(DENI);
                                 IF DENI=1 THEN
                                    BEGIN
                                    WRITELN('Quel est la valeur du denivele de puissance desirer en kVA : ');
                                    READLN(PDENI);
                                    PR:=PDENI+0.52*(PS-PDENI);
                                    END;
                                 IF DENI=2 THEN
                                    BEGIN
                                    WRITELN('Quel est la valeur du denivele de puissance desirer en kVA : ');
                                    READLN(PDENI);
                                    PR:=PDENI+0.36*(PS-PDENI);
                                    END;
    IF DENI=3 THEN
                                    BEGIN
                                    WRITELN('Quel est la valeur du denivele de puissance desirer en kVA : ');
                                    READLN(PDENI);
                                    PR:=PDENI+0.2*(PS-PDENI);
                                    END
                                 ELSE
                                    PR:=PS;
                      END;
                 END;
                          (*Calcul de la facture*)
                      PF:=PHPH+PHCH+PHPE+PHCE+(PS*15.24);
                      TVA:=PF*0.196+PS*0.05;
                      TL:=0.8*0.12*PF;
                      FT:=PF+TVA+TL;
         WRITELN('');
         WRITELN('Le montant de votre facture Hors taxes s''eleve … ',PF,' Euros');
         WRITELN('avec ',TVA,' Euros de TVA et ',TL,' de taxes locales.');
         WRITELN('Soit une facture total de ',FT,' Euros.');
    END.
    PS: j'aimerais bien savoir aussi comment fais ton pour reduire le nombre de chiffre derriere la virgule et enlever l'ecriture scientifique

  2. #2
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    Bonjour tu pourais au indenter ton code et utiliser la balise CODE pour m'eviter ou a toute autre personne ou bien à un moderateur de le afaire a ta place,ça permet de bien comprendre le code et le rend plus lisible


    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
     
     
    PROGRAM Tarification_jaune;
    USES CRT;
    VAR
         Option: INTEGER;
         Util: INTEGER;
         HPH: REAL;
         HCH: REAL;
         HPE: REAL;
         HCE: REAL;
         PHPH: REAL;
         PHCH: REAL;
         PHPE: REAL;
         PHCE: REAL;
         DENI: INTEGER;
         PDENI: REAL;
         PS: REAL;
         PF: REAL;
         TVA: REAL;
         PR: REAL;
         TL: REAL;
         FT: REAL;
    BEGIN
        CLRSCR;
        (*Choix de l'option tarifaire*)
         WRITELN('Choissisez l''option tarifaire :');
         WRITELN('1 pour BASE');
         WRITELN('2 pour EJP');
         READLN(Option);
         WRITELN('');
         WRITE('Quel est la puissance souscrite en kVA : ');
         READLN(PS);
         (*Option de BASE*)
         IF Option=1 THEN
         BEGIN
             WRITELN('Choissisez l''utilisation que vous utiliser :');
             WRITELN('1 pour l''Utilisation Moyenne UM.');
             WRITELN('2 pour l''Utilisation Longue UL.');
             READLN(Util);
             (*Utilisation Moyenne*)
             IF Util=1 THEN
             BEGIN
                 (*Consommation de l'utilisateur*)
                  WRITE('');
                  WRITE('Entrer votre consommation annuelle HPH en kWh : ');
                  READLN(HPH);
                  WRITE('Entrer votre consommation annuelle HCH en kWh : ');
                  READLN(HCH);
                  WRITE('Entrer votre consommation annuelle HPE en kWh : ');
                  READLN(HPE);
                  WRITE('Entrer votre consommation annuelle HCE en kWh : ');
                  READLN(HCE);
                  (*Calcul des prix des consommations*)
                  PHPH:=HPH*11.186/100;
                  PHCH:=HCH*7.616/100;
                  PHPE:=HPE*3.073/100;
                  PHCE:=HCE*2.519/100;
              END
              ELSE
    (*Utilisation Longue*)
                  BEGIN
                      (*Consommation de l'utilisateur*)
                      WRITE('Entrer votre consommation annuelle HPH en kW : ');
                      READLN(HPH);
                      WRITE('Entrer votre consommation annuelle HCH en kW : ');
                      READLN(HCH);
                      WRITE('Entrer votre consommation annuelle HPE en kW : ');
                      READLN(HPE);
                      WRITE('Entrer votre consommation annuelle HCE en kW : ');
                      READLN(HCE);
    (*Calcul des prix des consommations*)
                      PHPH:=HPH*7.755/100;
                      PHCH:=HCH*5.605/100;
                      PHPE:=HPE*2.943/100;
                      PHCE:=HCE*2.387/100;
     
    (*Deniveller de puissance*)
                     WRITELN('Sur quelle puissance desirer vous faire un deniveler :');
                     WRITELN('0 pour aucun');
                     WRITELN('1 pour P1');
                     WRITELN('2 pour P1-P2');
                     WRITELN('3 pour P1-P2-P3');
                     READ(DENI);
                     IF DENI=1 THEN
                     BEGIN
                          WRITELN('Quel est la valeur du denivele de puissance desirer                       n kVA : ');
                          READLN(PDENI);
                          PR:=PDENI+0.52*(PS-PDENI);
                     END;
                     IF DENI=2 THEN
                     BEGIN
                          WRITELN('Quel est la valeur du denivele de puissance desirer en kVA : ');
                          READLN(PDENI);
                          PR:=PDENI+0.36*(PS-PDENI);
                     END;
                     IF DENI=3 THEN
                     BEGIN
                         WRITELN('Quel est la valeur du denivele de puissance desirer en kVA : ');
                         READLN(PDENI);
                         PR:=PDENI+0.2*(PS-PDENI);
                     END
                     ELSE
                        PR:=PS;
                END;
          END;
    (*Calcul de la facture*)
          PF:=PHPH+PHCH+PHPE+PHCE+(PS*15.24);
          TVA:=PF*0.196+PS*0.05;
          TL:=0.8*0.12*PF;
          FT:=PF+TVA+TL;
          WRITELN('');
          WRITELN('Le montant de votre facture Hors taxes s''eleve … ',PF,' Euros');
          WRITELN('avec ',TVA,' Euros de TVA et ',TL,' de taxes locales.');
          WRITELN('Soit une facture total de ',FT,' Euros.');
          END.
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  3. #3
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    alors, evites des code du genre (ça te sert a quoi?)
    et si j'ai bien lu ton code tu ne traite pas le cas ou
    !!!!!!!!!!!
    ensuite il serait plus lisible d'utiliser des procedures ou fonctions!!!!!!!!
    ceci est executer dans tous les cas, est ce que tu veux?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
          PF:=PHPH+PHCH+PHPE+PHCE+(PS*15.24);
          TVA:=PF*0.196+PS*0.05;
          TL:=0.8*0.12*PF;
          FT:=PF+TVA+TL;
    une remarque aussi,tuas ecris ton code comme si tu serais le seul utilisateur
    ex:si un utilisateur entre un 3 alors que tu demander "1 ou 2" il se passe quoi?

    Et pour ta derniere question pour reduire le nombre de chiffre apres la virgule
    comme dans ton cas pour un reel;
    afficher ça
    reviendrait a ecrire ça
    le dernier 2 dit le nombre de chiffre (ds ce cas 2)que tu veux apres la virgule
    et le 6 dit le nombre de position sur le lequel ton nombre sera ecrit
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

Discussions similaires

  1. aide pour programmer jeu de l'oie en ruby
    Par waelgaaloul dans le forum Ruby
    Réponses: 1
    Dernier message: 03/12/2007, 19h08
  2. Aide pour programme sur C#
    Par Invité dans le forum C#
    Réponses: 18
    Dernier message: 06/11/2007, 09h31
  3. Besoin d'aide pour programmation en c
    Par romi36 dans le forum Débuter
    Réponses: 7
    Dernier message: 09/06/2007, 22h55
  4. aide pour programme
    Par mitherkiller dans le forum C
    Réponses: 5
    Dernier message: 24/02/2007, 21h38
  5. [Dev-C++] Aide pour programmer avec Qt 4
    Par stone dans le forum EDI
    Réponses: 3
    Dernier message: 02/02/2006, 08h58

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