Le signe positif et negatif en affichage En C/C++

Résolu/Fermé
sikim69 Messages postés 33 Date d'inscription lundi 24 septembre 2012 Statut Membre Dernière intervention 30 mars 2013 - Modifié par sikim69 le 21/10/2012 à 14:12
sikim69 Messages postés 33 Date d'inscription lundi 24 septembre 2012 Statut Membre Dernière intervention 30 mars 2013 - 21 oct. 2012 à 16:34
Bonjour à tous,

Je remercie d'avance celui qui pourra m'aider :)

J'aimerais afficher dans mon programme le signe de 98 qui est donc positif donc +.

Je fais :

int i = 98;

printf("%d",i);

Et j'obtiens juste 98, j'ai aussi essayé avec la valeur absolu mais ca affiche juste 98 aussi:(

2 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
21 oct. 2012 à 14:37
Tu peux faire comme ça :

printf("%+d",i);
1
sikim69 Messages postés 33 Date d'inscription lundi 24 septembre 2012 Statut Membre Dernière intervention 30 mars 2013 1
21 oct. 2012 à 14:39
Ah ben merci, c'est vraiment tout bête !
0
sikim69 Messages postés 33 Date d'inscription lundi 24 septembre 2012 Statut Membre Dernière intervention 30 mars 2013 1
21 oct. 2012 à 14:43
Derniere etape de mon exo, je dois faire ca..

Faites compter par le programme le nombre de caractères affichés et donnez le résultat (utilisation de la valeur de retour de printf).

Mais je n'ai aucunes idées de comment compter le nombre de caractère, je n'ai rien qui parle de cela dans mon cours..
1
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
21 oct. 2012 à 14:47
La réponse est dans la question : "utilisation de la valeur de retour de printf"

int n = printf("%+d",i);
0
sikim69 Messages postés 33 Date d'inscription lundi 24 septembre 2012 Statut Membre Dernière intervention 30 mars 2013 1
Modifié par sikim69 le 21/10/2012 à 14:51
Je dois calculer le nombre de caractères de plusieurs trucs :

int main ()
{
int i = 98;
double d = 765.4321;

printf("(A)\n\nI1 = %0.5d\n\nI2 = ",i);
putchar(98); // Pour afficher le code ASCII. (98 = 'b')
printf("\n\nI3 = %10d",i);
printf("\n\nI4 = %+.d ",i);

getch();
return(0);
}

Hop mais pour calculer alors je dois rajouter une variable int n ?
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
21 oct. 2012 à 15:04
Le nom de la variable importe peu, j'ai mis n, ça peut aussi bien être r, cpt, ou schtroumpf...
Ce qui importe c'est de compter la somme des retours fait par printf.
0
sikim69 Messages postés 33 Date d'inscription lundi 24 septembre 2012 Statut Membre Dernière intervention 30 mars 2013 1
21 oct. 2012 à 15:33
Je comprend d'accord mais je n'arrive pas à faire la manipulation qui compte le nombre de retours fait par printf.. Parce que comme je met : int n = printf("%+d",i), il me donne automatiquement +98 vu que i=98
Mais ca ne veut pas dire qu'il y a 98 caractères.. Du moins je crois
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
21 oct. 2012 à 15:44
"il me donne automatiquement +98"
c'est le printf qui t'affiche cela

"ca ne veut pas dire qu'il y a 98 caractères"
en effet, c'est la valeur de n qu'il faut regarder (et qui vaut 3 ici)
0