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
A voir également:

2 réponses

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