Pb affichage pascal

Résolu
rabiaa -  
 rabiaa -
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. KX Messages postés 19031 Statut Modérateur 3 020
     
    Montre nous ton code pour voir...
    0
  2. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    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. rabiaa
       
      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. KX Messages postés 19031 Statut Modérateur 3 020 > rabiaa
       
      Ecris plutôt writeln(c[i]:0:2);
      0
    3. rabiaa > rabiaa
       
      Mon frere vraiment je comprends pas c'est quoi le probleme poutquoi cette erreur
      0
    4. rabiaa > rabiaa
       
      encore pourquoi si je tape 12,5 l'execution est interrompue
      0
    5. KX Messages postés 19031 Statut Modérateur 3 020 > rabiaa
       
      Ce 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