Nombre avirgule dans le langage c

c-4 -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
bonj je me nome DIARRA et je suis débutant en informatique bon voila je voudrait écrire un programme qui lit au clavier un nombre décimal mais écrit avec une virgule ensuite multiplier le tout par trois mais ce que je n'arrive pas a faire c' est de stocker les 3 caractères en une seul pour pouvoir en faire une seul de type double pour ensuite le multiplier par 3.
Chaque aide sera la bien venu
merci
A voir également:

11 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,
Tu lis une chaîne de caractère avec scanf (ou fgets).
Tu transformes la virgule en point avec strchr
Et tu transformes la chaîne en double avec strtod

Et voilou.

Cdlt,
0
heyquem Messages postés 759 Date d'inscription   Statut Membre Dernière intervention   131
 
un nombre avirgule, c'est un entier , non ?
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Euh non.
Un nombre à virgule c'est un nombre décimal...
0
c-4
 
le truck c'est que je nais en connaissance que
int, double, char, scanf, while, if, else, printf,
se sont les spécificateurs que je dois utilisé
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Dans ce cas, tu lis deux nombres n1 et n2 (doit être positif).
Tu initialises le nombre final (double) à n2.
Tu le divises par 10 jusqu'à ce qu'il soit inférieur à 10.
Et tu y ajoutes n1.

Cdlt,
0
c-4
 
c'est la procédure que je voulais appliquer difficile est d'initialiser le n2 pour pouvoir le diviser par a chaque colonnes ajouté
si tu peux m'aider ca me ferais plaisir et en passant si tu pouvais m'indiquer un moyen de de convertir un entier (pas décimal) en binaire ca m'aiderait beaucoup
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Tu déclares les variables a et b en int.
Tu déclares la variable n en double.
Tu initialises n à b.
Tant que n est supérieur à 1, tu mets n/10 dans n.
Tu stockes n+a dans n.
Tu affiches n.

Je peux pas être plus clair.
Poste le code en fonction de ce que je t'ai dit pour qu'on puisse t'aider.

Pour convertir un entier en binaire, il y a plein de posts qui le traite sur le forum.

Cdlt,
0
c-4
 
il n'y a pas de solution concernant le niveau que jais
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Ecoute, je peux vraiment pas faire plus simple sans te donner la solution.
J'ai détaillé ligne par ligne.
Tu fais même pas l'effort de commencer ton programme.
Si t'es incapable de mettre mes lignes en programme, je te recommande de commcner par lire un tutorial : https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c

Cdlt,
0
c-4
 
#include <stdio.h>

int main()
{
int a;
int b;
double n = b;
double c;
while(n > 1)
{
scanf("%d%d", &a, &b);
n = n/10;
}
n = n +a;
c = 3*n;
printf("%lf", c);
return 0;
}

c'est ce que jais écrit mais ca marche pas
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Ah, bah voilà un effort :-))).
Par contre, ça correspond pas à mes lignes.
Là tu as mis : tant que n supérieur à 1, lire a et b...

#include <stdio.h>

int main (void) {
    int a,b;
    double n;

    printf("nombre : ");
    scanf("%d,%d",&a,&b);
    n=b;
    while(n>1) n/=10;
    n+=a;

    printf("n=%f\n",n);

    return 0;
}
0