Convertisseur en C , Ou est l'erreur ?
Résolu
Turki1923
Messages postés
535
Date d'inscription
Statut
Membre
Dernière intervention
-
Turki1923 Messages postés 535 Date d'inscription Statut Membre Dernière intervention -
Turki1923 Messages postés 535 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un petit problème , donc je ne trouve pas l'erreur , j'ai coder un convertisseur sa compile mais quand je tappe la valeur de euro mon programme me donne toujour 0.00000 comme réponse . voici mon code(essayer le vous comprendez mieu) :
Mon problème est dans le dernier printf dans le main() , la réponse est toujour 0.00000 ,
Merci d'avance pour vos réponses.
j'ai un petit problème , donc je ne trouve pas l'erreur , j'ai coder un convertisseur sa compile mais quand je tappe la valeur de euro mon programme me donne toujour 0.00000 comme réponse . voici mon code(essayer le vous comprendez mieu) :
#include <stdio.h> #include <stdlib.h> double pointeurConvertisseur(double *euro , double *franc , double *lira , double *dollar , int choixMonnaie , int convertirEnQuoi); int main(int argc, char *argv[]) { int choixMon = 0 , convertirEn = 0 ; double e = 0 , f = 0 , l = 0 , d = 0 ; printf ("Voici les monnaies que vous pouvez convertir : \n"); printf ("1 - Euro \n"); printf ("2 - Franc \n"); printf ("3 - Lira \n"); printf ("4 - Dollar \n"); printf ("Votre choix ? "); scanf ("%d" , &choixMon); printf ("\nEn quoi voulez-vous le convertir ? \n"); printf ("1 - Euro \n"); printf ("2 - Franc \n"); printf ("3 - Lira \n"); printf ("4 - Dollar \n"); printf ("Votre choix ? "); scanf ("%d" , &convertirEn); pointeurConvertisseur(&e,&f,&l,&d,choixMon,convertirEn); printf ("\n sa fait : %f" , pointeurConvertisseur); } double pointeurConvertisseur(double *euro , double *franc , double *lira , double *dollar , int choixMonnaie , int convertirEnQuoi) { double resultat = 0 ; switch(choixMonnaie) { case 1 : printf ("\nvous avez choisis l'Euro que vous voulez convertir en "); break; case 2 : printf ("\nvous avez choisis le Franc que vous voulez convertir en "); break; case 3 : printf ("\nvous avez choisis le Lira que vous voulez convertir en "); break; case 4 : printf ("\nvous avez choisis le Dollar que vous voulez convertir en "); break; default : printf ("\nvous avez tapper le mauvais chiffre \n"); break ; } switch(convertirEnQuoi) { case 1 : printf ("Euro"); break ; case 2 : printf ("Franc"); break ; case 3 : printf ("Lira"); break; case 4 : printf ("Dollar"); break ; default : printf ("vous avez tapper le mauvais chiffre\n"); break; } if(choixMonnaie == 1 && convertirEnQuoi == 2) { printf ("\nCombien d'euro avez-vous ? "); scanf ("%d" , euro); resultat = 5.5 * *euro ; } else if(choixMonnaie == 1 && convertirEnQuoi == 3) { printf ("\nCombien d'euro avez-vous ? "); scanf ("%d" , euro); resultat = 10.5 * *euro ; } return resultat ; }
Mon problème est dans le dernier printf dans le main() , la réponse est toujour 0.00000 ,
Merci d'avance pour vos réponses.
A voir également:
- Convertisseur en C , Ou est l'erreur ?
- Convertisseur mp3 - Télécharger - Conversion & Extraction
- Convertisseur YouTube MP3 : toutes les solutions gratuites - Guide
- Convertisseur récupération de texte - Guide
- Convertisseur mov en mp4 - Télécharger - Conversion & Codecs
- Une erreur s'est produite instagram ✓ - Forum Instagram
3 réponses
J'ai pas tout lu.
Mais, il y a au moins : scanf ("%d" , euro);
euro est un double*, il faut donc mettre = scanf("%lf",euro); (L minuscule).
Cdlt,
Mais, il y a au moins : scanf ("%d" , euro);
euro est un double*, il faut donc mettre = scanf("%lf",euro); (L minuscule).
Cdlt,
Bon, je vois que tu sembles commencer à apprendre le C. Il faut donc être indulgent, je suppose. Mais bon, sans vouloir t'offenser, ton code est une vraie soupe. Ceci dit, voici l'erreur :
Je ne comprend pas la logique qui t'a amené à écrire ça, mais la première ligne est superflue, et la seconde devrait être :
pointeurConvertisseur(&e,&f,&l,&d,choixMon,convertirEn); printf ("\n sa fait : %f" , pointeurConvertisseur);
Je ne comprend pas la logique qui t'a amené à écrire ça, mais la première ligne est superflue, et la seconde devrait être :
printf ("\n sa fait : %f" , pointeurConvertisseur(&e,&f,&l,&d,choixMon,convertirEn));
pointeurConvertisseur(&e,&f,&l,&d,choixMon,convertirEn);
printf ("\n sa fait : %f" , pointeurConvertisseur);
C'est pas comme ça qu'on affiche la valeur de retour d'une fonction.
On déclare la variable valeur (par exemple) : double valeur;
On appelle la fonction : valeur=pointeurConvertisseur(&e,...);
Puis pour afficher : printf("...%f",valeur);
Ou tu peux faire directement : printf("%f",pointeurConvertisseur(&e,...));
Mais dans ce cas, tu devras rappeler la fonction si tu veux à nouveau la valeur. Donc pas trop conseillé en général.
Non c'est bien euro et pas &euro. Regarde bien le prototype de la fonction, il s'agit de double *euro.