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. 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
    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.
    2. Modérateur
      @rabiaaEcris plutôt writeln(c[i]:0:2);
    3. @rabiaaMon frere vraiment je comprends pas c'est quoi le probleme poutquoi cette erreur
    4. @rabiaaencore pourquoi si je tape 12,5 l'execution est interrompue
    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