PASCAL: Changer l'affichage des variables(Chiffres apres/avant la ",")

PASCAL: Changer l'affichage des variables(Chiffres apres/avant la ",") - Programmation

Marsh Posté le 18-01-2002 à 00:14:53    

Pk j'arrive pas a regler mes variables (dans le tableau) pour que lors de l'affichage elle prennent au maximum 10 caracteres de longeurs et que 2 caracteres apres la virgule ?
 

Citation :

PROGRAM salledesport;
uses crt;
VAR
datte : char;
clb : char;
vil : integer;
nbnorm : integer;
nbsup : integer;
nbdouch : integer;
mnorm : real;
msup : integer;
mdouch : integer;
txred : real;
total : real;
reduc : real;
tva : real;
pct : real;
autre : integer;
BEGIN
REPEAT
clrscr;
writeln ('Bienvenue sur le programme SalleDeSport de Yann';);
BEGIN
clrscr;
writeln ('Entrez la date de facturation (JJ/MM/AA): ';);
readln (datte);
writeln ('Entrez le nom du club: ';);
readln (clb);
REPEAT
BEGIN
writeln ('Est ce un club de la ville (Oui: 1 Non: 2) ? ';);
readln (vil);
END
UNTIL (vil=1) OR (vil=2);
writeln ('Entrez le nombre d''heures normales: ';);
readln (nbnorm);
writeln ('Entrez le nombre d''heures suppl?mentaires: ';);
readln (nbsup);
writeln ('Entrez le nombre de s?ance ou les douches ont ?taient utilis?es';);
readln (nbdouch);
CASE vil OF
   1:BEGIN
       mdouch := 0;
       REPEAT
         BEGIN
           write ('Entrez le pourcentage de jeunes licenc?s: ';);
           readln (pct);
           IF pct > 50 THEN
               BEGIN
                 mnorm := 2;
                 msup := 2;
                 txred := 0.2;
               END
              ELSE
               BEGIN
                 mnorm := 3;
                 msup := 3;
                 txred := 0.1;
               END;
               END
       UNTIL (pct > 0) AND (pct <= 100);
     END;
   2:BEGIN
       mnorm := 3.5;
       msup := 6;
       txred :=0;
       mdouch := 1;
     END;
     ELSE
     write ('Erreur de saisie';);
     END;
writeln ('ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿';);
writeln ('³ Facture au ',datte :8,'                                             ³';);
writeln ('³ Club : ',clb,'                                  ³';);
writeln ('ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ´';);
writeln ('³:: Libell?               ³ Quantit?   ³ Prix unitaire ³ Montant  ³';);
writeln ('ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ´';);
writeln ('³ Heures normales         ³',nbnorm,'³',mnorm,'³',nbnorm*mnorm,'³';);
writeln ('³ Heures suppl?mentaires  ³',nbsup,'³',msup,'³',nbsup*msup,'³';);
writeln ('³ S?ances avec douches    ³',nbdouch,'³',mdouch,'³',nbdouch*mdouch,'³';);
writeln ('ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ´';);
total := (nbnorm*mnorm)+(nbsup*msup)+(nbdouch*mdouch);
reduc := total*txred;
tva := (total-reduc)*0.206;
writeln ('                                       ³ TOTAL         ³',total,'³';);
writeln ('                                       ³ R?duction     ³',reduc,'³';);
writeln ('                                       ³ TVA    20,6 % ³',tva,'³';);
writeln ('                                       ³ Net ? payer   ³',total-reduc+tva,'³';);
writeln ('                                       ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÙ';);
writeln ('Autre club? (Oui : 1 Non : 0) ?';);
readln (autre)
END
UNTIL (autre = 0);
END.

Reply

Marsh Posté le 18-01-2002 à 00:14:53   

Reply

Marsh Posté le 18-01-2002 à 01:25:18    

ajoute :X:Y à la fin du nombre
(X est le nombre de chiffre au total, et Y le nombre de chiffres après la virgule)
 
exemple :
1.23456789:3:2
 
affichera
1.23
 
(je crois)

Reply

Marsh Posté le 18-01-2002 à 01:30:42    

oui, et pour les variables "char" je fait comment car dans mon tableau j'ai juste le premier caractere qui s'affiche ?

Reply

Marsh Posté le 18-01-2002 à 01:47:59    

????
 
une variable char ça ne peut contenir qu'un seul caractère...
Si tu veux en stocker plus, faut utiliser le type STRING (chaîne de caractères)...
 
(c'est ça la question ?)

Reply

Marsh Posté le 18-01-2002 à 01:50:13    

_john_doe_ a écrit a écrit :

????
 
une variable char ça ne peut contenir qu'un seul caractère...
Si tu veux en stocker plus, faut utiliser le type STRING (chaîne de caractères)...
 
(c'est ça la question ?)  




 
Oulala !!!!!!!!!!!
 
Oui CT ca le probleme, je cherche mon ereur depuit 1h et C un truc tout bete !
 
Merci, j'orai pu chercher encore lontemp  :jap:

Reply

Marsh Posté le 18-01-2002 à 02:17:34    

PROGRAM salledesport;
uses crt;
VAR
 datte : string;
 clb : string;
 vil : integer;
 nbnorm : integer;
 nbsup : integer;
 nbdouch : integer;
 mnorm : real;
 msup : integer;
 mdouch : integer;
 txred : real;
 total : real;
 reduc : real;
 tva : real;
 pct : real;
 autre : integer;
BEGIN
 clrscr;
 writeln ('Bienvenue sur le programme SalleDeSport de Yann';);
 readkey;
 REPEAT
   BEGIN
     clrscr;
     writeln ('Entrez la date de facturation (JJ/MM/AA): ';);
     readln (datte);
     writeln ('Entrez le nom du club: ';);
     readln (clb);
     REPEAT
       BEGIN
         writeln ('Est ce un club de la ville (Oui: 1 Non: 2) ? ';);
         readln (vil);
       END
     UNTIL (vil=1) OR (vil=2);
     writeln ('Entrez le nombre d''heures normales: ';);
     readln (nbnorm);
     writeln ('Entrez le nombre d''heures suppl?mentaires: ';);
     readln (nbsup);
     writeln ('Entrez le nombre de s?ance ou les douches ont ?taient utilis?es';);
     readln (nbdouch);
     CASE vil OF
        1:BEGIN
            mdouch := 0;
            REPEAT
              BEGIN
                write ('Entrez le pourcentage de jeunes licenc?s: ';);
                readln (pct);
                IF pct > 50 THEN
                  BEGIN
                    mnorm := 2;
                    msup := 2;
                    txred := 0.2;
                  END
                 ELSE
                  BEGIN
                    mnorm := 3;
                    msup := 3;
                    txred := 0.1;
                  END;
              END
            UNTIL (pct > 0) AND (pct <= 100);
          END;
        2:BEGIN
            mnorm := 3.5;
            msup := 6;
            txred :=0;
            mdouch := 1;
          END;
        ELSE
          write ('Erreur de saisie';);
     END;
     writeln ('ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿';);
     writeln ('³ Facture au ',datte,'                                             ³';);
     writeln ('³ Club : ',clb,'                                  ³';);
     writeln ('ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ´';);
     writeln ('³:: Libell?               ³ Quantit?   ³ Prix unitaire ³ Montant  ³';);
     writeln ('ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ´';);
     writeln ('³ Heures normales         ³',nbnorm :12,'³',mnorm :15:2,'³',nbnorm*mnorm :10:2,'³';);
     writeln ('³ Heures suppl?mentaires  ³',nbsup :12,'³',msup :15,'³',nbsup*msup :10,'³';);
     writeln ('³ S?ances avec douches    ³',nbdouch :12,'³',mdouch :15,'³',nbdouch*mdouch :10,'³';);
     writeln ('ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ´';);
     total := (nbnorm*mnorm)+(nbsup*msup)+(nbdouch*mdouch);
     reduc := total*txred;
     tva := (total-reduc)*0.206;
     writeln ('                                       ³ TOTAL         ³',total :10:2,'³';);
     writeln ('                                       ³ R?duction     ³',reduc :10:2,'³';);
     writeln ('                                       ³ TVA    20,6 % ³',tva :10:2,'³';);
     writeln ('                                       ³ Net ? payer   ³',total-reduc+tva :10:2,'³';);
     writeln ('                                       ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÙ';);
     writeln ('Autre club ? (Oui : 1 Non : 0) ';);
     readln (autre)
   END
 UNTIL (autre=0);
END.

Reply

Marsh Posté le 18-01-2002 à 02:18:14    

Je fais comment pour avoir une variable date?

Reply

Marsh Posté le 18-01-2002 à 09:36:03    

objet TDate ou TDateTime sous Delphi (qui en fait n'est pas un objet mais juste un nombre - un double - dont la partie entière représente la date et la partie décimale le temps.
si c'est en Turbo Pascal je sais pas.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed