Bonjour, je voudrai que la console m'affiche toujour un entier < 100 sur deux chiffres. Par exemple : 1.2e12 -> 12, 9 -> 09, mais je ne sais pas justement comment ordonner ce format d'affichage au WriteLn... Quelqu'un peut il m'aider ?
Bonjour, je voudrai que la console m'affiche toujour un entier < 100 sur deux chiffres. Par exemple : 1.2e12 -> 12, 9 -> 09, mais je ne sais pas justement comment ordonner ce format d'affichage au WriteLn... Quelqu'un peut il m'aider ?
si ton chiffre est contenu dans la variable a
il suffit d'écrire
Code : Sélectionner tout - Visualiser dans une fenêtre à part writeln(a:5:2);
super, mais il reste un prob, c'est que writeln(7:02); ne m'affiche pas '07'. Mais sinon c déjà bien . Enfin si tu sais comment afficher 07 sans avoir à passer par des vérifs...je suis preneur ! merci
à mes connaissances tu ne peux pas afficher 07 puisque en math 07 c'est 7 et si tu prends ta valeur comme réelle ca ne serait pas possible
sinon il faudra la modifier en string et faire des tests après
en fait en c, si tu mets : fprintf(stdout,"%02d",7); il t'affichera 07, c'est pour cela que je me demande si il n'existe pas d'analogie en pascal...
tant pis mais par contre writeln(7:02) affiche : ' 7' (pour info). Merci beaucoup de ton aide
bof , avec une astuce tu fais if a < 10 then writeln('0'+ a );
oui mais je voulais éviter cela, ca fait pas tres tres propre... et ca rajoute une vérification donc ralenti le programme...
euh , sauf si tu fais des aplications graphiques elever qui demmende bcp de ressources tu as pas besoin de toutes la vitesses du processeur
Pour aller dans le sens de Charly, faites vous une procédure si vous
l'exécuter à plusieurs endroits du programme
de plus, le temps consacré n'est rien par rapport au temps d'affichage
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 program deuxchiffres; procedure affiche2 (nombre : integer); begin if nombre < 10 then writeln ('0',nombre) else writeln (nombre); end; begin affiche2 (3); affiche2 (13); readln; end.
nonon mais ne vous inquietez pas pour moi pour ce qui est du code. Ce genre de truc, c pas trop le type d'algo à me foutre par terre C'est justement pour éviter ce genre de code que je posais ma question ...
Ben en C, si on réfléchis bien, on peut aussi se demander commen fait la fonction d'affichage pour montrer 2 chifres dans tous les cas... La fonction fprintf doit elle aussi faire une vérification, pour savoir si il faut ajouter un zéro devant ! Quoi qu'il en soit, ca doit à peu près revenir au même...
Quand on regarde cette instruction, il n'y a qu'un test et une seule instruction exécutée... C'est pas très lourd !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if x<10 then writeln('0'+x) else writeln(x);
a+
En tout cas, c'est une très bonne démarche de fonctionner à l'économie, car si tu passes à l'assembleur un jour, tu verras que c'est très important d'utiliser le moins de ressources possibles !
a+
Mais si, mais si !!!
Qu'est-ce qu'ils racontent tous ceux là ! N'importe quoi encore... Ah là là, ces jeunes. On les laisse 15 jours et ils ne font que des bêtises !
On peut sans problème mettre en forme du texte en passant par une procédure nommée FormatStr, présente dans l'unité Drivers sous Turbo Pascal.
Sinon, sous Delphi et certains autres compilateurs, c'est Format.
Après, suffit de regarder l'aide (assez conséquente par alleurs...)
A+
aaaaaaaaaaaaaaaaaaaaah !
ouaiiiis !
je regarde tout de suite l'aide.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager