Pb affichage pascal
Résolu/Fermé
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
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:
- Pb affichage pascal
- Turbo pascal download - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Comment agrandir l'affichage de l'écran - Guide
2 réponses
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
11 janv. 2012 à 20:35
11 janv. 2012 à 20:35
Montre nous ton code pour voir...
[Dal]
Messages postés
6203
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
29 janvier 2025
1 098
Modifié par [Dal] le 11/01/2012 à 20:36
Modifié par [Dal] le 11/01/2012 à 20:36
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
Sans ton code, on va avoir du mal :-)
Et si tu tapes 12.5 (avec un point, pas une virgule), cela donne quoi ?
Dal
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.
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.
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
>
rabiaa
11 janv. 2012 à 20:42
11 janv. 2012 à 20:42
Ecris plutôt writeln(c[i]:0:2);
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
>
rabiaa
11 janv. 2012 à 20:55
11 janv. 2012 à 20:55
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
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