Pb affichage pascal

Résolu
Bonjour,

mon programme lit un reel et essaye de l'afficher mais sur l'ecran par exemlpe j'ai saisi 12
à laffichage j'ai 1,200000000000000000000000000000000 et si je saisi par exemple 12,5 il signale erreur et quitte la fenetre d'éxecution.Svp aidez moiMerci

2 réponses

  1. Modérateur
    Montre nous ton code pour voir...
    0
    1. Contributeur
      Salut rabiaa,

      Sans ton code, on va avoir du mal :-)

      Et si tu tapes 12.5 (avec un point, pas une virgule), cela donne quoi ?

      Dal
      0
      1. salam
        meme si je tape 12.5 le meme pb
        Voici mon code:
        program lecture;
        uses wincrt;
        var
        c:array[1..5] of real;
        s:array[1..5] of real;
        i:integer;
        Begin
        for i:=1 to 10 do
        begin
        writeln('donnez la note de controle de l"éleve',i);
        readln(c[i]);
        writeln(c[i]);
        writeln('donnez la note de synthese de l"éleve',i);
        readln(S[i]);
        End;

        writeln;
        write('Fin de programme. Appuyez sur Entree');
        readln;
        End.
        0
      2. Modérateur
        @rabiaaEcris plutôt writeln(c[i]:0:2);
        0
      3. @rabiaaMon frere vraiment je comprends pas c'est quoi le probleme poutquoi cette erreur
        0
      4. @rabiaaencore pourquoi si je tape 12,5 l'execution est interrompue
        0
      5. Modérateur
        @rabiaaCe n'est pas une erreur, les nombres réels sont affichés en notation scientifique.
        Normalement tu as 1.200000000000000E+001
        Si tu écris writeln(c[i]:0:2) comme j'ai mis plus haut, tu auras une valeur arrondi à deux chiffres après la virgule, c'est à dire 12.00
        0