Programme convertisseur dollar euros et euros dollars

Résolu/Fermé
bapt13170 Messages postés 48 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 1 avril 2014 - 24 févr. 2013 à 12:03
bapt13170 Messages postés 48 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 1 avril 2014 - 25 févr. 2013 à 21:56
Bonjour tout le monde,
je suis un débutant en progrmmation et cela serait pour une petite aide au niveau de mon programme car le compilateur ne veut pas marcher à cause au niveau de int main()
J'aimerais savoir ce qui cloche.
Merci à ceux qui me répondront
#include <stdio.h>
#include <stdlib.h>
double conversionEuroDollar(double euro)
{
double dollar = 0;

dollar = 1.32 * euro ;
return dollar;
}

double main()
{
double nombreEntre = 0 , nombreEuro = 0 ;

printf ("Entrez le nombre de dollars a converitr : ");
scanf ("%lf", &nombreEntre);

nombreEuro = conversionEuroDollar (nombreEntre);
printf ("La valeur en euros est de %lf\n", nombreEuro);

return 0;
}


double conversionDollarEuro (double dollar)
{
double euro = 0;

euro = 1.32 / dollar ;
return euro;
}

double main1()
{
double nombreEntre = 0 , nombreDollar = 0 ;

printf ("Entrez le nombre d'euros a converitr : ");
scanf ("%lf", &nombreEntre);

nombreDollar = conversionDollarEuro (nombreEntre);
printf ("La valeur en dollars est de %lf\n", nombreDollar);

return 0;
}

int main()
{
printf("Bienvenu dans le convertisseur dollars-euros ou euros-dollars\n");


int choixConversion = 0 , nombreEntre = 0;
printf("\nVotre choix ? Taper : \n");
printf ("1. Euros en Dollars\n");
printf ("2. Dollars en Euros\n");
scanf("%f", &choixConversion);

switch(choixConversion)
{
case 1:
printf("Entrez une valeur en Euro:\n");
scanf("%f",&nombreEntre);
printf("La valeur en dollar est : %f", conversionEuroDollar(nombreEntre));
break;
case 2:
printf("Entrez une valeur en Dollar:\n");
scanf("%f",&nombreEntre);
printf("La valeur en euro est : %f", conversionDollarEuro(nombreEntre));
break;
default:
break;
}

return 0;
}
A voir également:

4 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
24 févr. 2013 à 15:55
J'ai pas tout lu car ton code est illisible (il faut utiliser les balises "code").
Mais, pour le peu que j'ai vu :

double main()
main() est unique par programme. Et c'est : int main(void) ou int main(int argc, char *argv[]);

scanf("%f", &choixConversion);
Tu mets %f alors que ta variable est de type int. -> %d

Sinon, pourquoi il y a des main1, etc. ?

printf ("La valeur en dollars est de %lf\n", nombreDollar);
C'est %f dans printf() qu'il faut mettre.

double conversionEuroDollar(double euro)
{
double dollar = 0;

dollar = 1.32 * euro ;
return dollar;
}

C'est bon, mais on peut faire bien plus court.
Pourquoi mettre dollar à 0 si tu le redéfinis juste après ?
Tu peux directement faire : double dollar = 1.32 * euro;
Ou directement : return 1.32 * euro;

0
bapt13170 Messages postés 48 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 1 avril 2014
24 févr. 2013 à 19:42
merci pour ta réponse
Voilà les modifications que tu m'a recommandé Le menu marche et me demande d'entrer une valeur mais quand je la rentre le calcul est faux pourquoi en te remerciant.




#include <stdio.h>
#include <stdlib.h>
double conversionEuroDollar(double euro) // cette fonction sert pour la conversion 1 = euro en dollar
{

double dollar = 1.32 * euro ;
return dollar;



double nombreEntre = 0 , nombreEuro = 0 ;

printf ("Entrez le nombre de dollars a converitr : ");
scanf ("%lf", &nombreEntre);

nombreEuro = conversionEuroDollar (nombreEntre);
printf ("La valeur en euros est de %f\n", nombreEuro);

return 0;
}


double conversionDollarEuro (double dollar) // cette fonction sert pour la conversion 2 = dollar en euro
{

double euro = 1.32 / dollar ;
return euro;




double nombreEntre = 0 , nombreDollar = 0 ;

printf ("Entrez le nombre d'euros a converitr : ");
scanf ("%lf", &nombreEntre);

nombreDollar = conversionDollarEuro (nombreEntre);
printf ("La valeur en dollars est de %f\n", nombreDollar);

return 0;
}

int main(int argc, char *argv[])
{
printf("Bienvenu dans le convertisseur dollars-euros ou euros-dollars\n"); // présentation du programme


int choixConversion = 0 , nombreEntre = 0; // menu pour que l'utilisateur puisse choisir
printf("\nVotre choix ? Taper : \n");
printf ("1. Euros en Dollars\n");
printf ("2. Dollars en Euros\n");
scanf("%d", &choixConversion);

switch(choixConversion)// permet le choix
{
case 1: // choix 1 = conversion euro en dollar
printf("Entrez une valeur en Euro:\n");
scanf("%f",&nombreEntre);
printf("La valeur en dollar est : %f", conversionEuroDollar(nombreEntre));
break;
case 2: // choix 2 = conversion dollar en euro
printf("Entrez une valeur en Dollar:\n");
scanf("%f",&nombreEntre);
printf("La valeur en euro est : %f", conversionDollarEuro(nombreEntre));
break;
default:
break;
}

return 0;
}
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
24 févr. 2013 à 19:52
Tu as dû louper la partie de mon post :
J'ai pas tout lu car ton code est illisible (il faut utiliser les balises "code").
Tu cliques sur le bouton à droite du bouton "souligné", cela inscrira deux balises "code". Et t'écris ton code dedans en gardant une indentation.

scanf("%f",&nombreEntre);
nombreEntre est de type int...

0
bapt13170 Messages postés 48 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 1 avril 2014
Modifié par bapt13170 le 24/02/2013 à 19:56
Est-ce bon

#include <stdio.h> 
#include <stdlib.h> 
      double conversionEuroDollar(double euro) // cette fonction sert pour la conversion 1 = euro en dollar 
{ 

    double dollar = 1.32 * euro ; 
    return dollar; 



    double nombreEntre = 0 , nombreEuro = 0 ; 

    printf ("Entrez le nombre de dollars a converitr : "); 
    scanf ("%lf", &nombreEntre); 

    nombreEuro = conversionEuroDollar (nombreEntre); 
    printf ("La valeur en euros est de %f\n", nombreEuro); 

    return 0; 
} 


    double conversionDollarEuro (double dollar) // cette fonction sert pour la conversion 2 = dollar en euro 
{ 

    double euro = 1.32 / dollar ; 
    return euro; 




    double nombreEntre = 0 , nombreDollar = 0 ; 

    printf ("Entrez le nombre d'euros a converitr : "); 
    scanf ("%lf", &nombreEntre); 

    nombreDollar = conversionDollarEuro (nombreEntre); 
    printf ("La valeur en dollars est de %f\n", nombreDollar); 

    return 0; 
} 

int main(int argc, char *argv[]) 
{ 
    printf("Bienvenu dans le convertisseur dollars-euros ou euros-dollars\n"); // présentation du programme 


    int choixConversion = 0 ; 
    double nombreEntre = 0; 
    printf("\nVotre choix ? Taper : \n"); // menu pour que l'utilisateur puisse choisir 
    printf ("1. Euros en Dollars\n"); 
    printf ("2. Dollars en Euros\n"); 
    scanf("%d", &choixConversion); 

switch(choixConversion)// permet le choix 
{ 
     case 1: // choix 1 = conversion euro en dollar 
         printf("Entrez une valeur en Euro:\n"); 
         scanf("%f",&nombreEntre); 
          printf("La valeur en dollar est : %f", conversionEuroDollar(nombreEntre)); 
         break; 
      case 2: // choix 2 = conversion dollar en euro 
         printf("Entrez une valeur en Dollar:\n"); 
         scanf("%f",&nombreEntre); 
         printf("La valeur en euro est : %f", conversionDollarEuro(nombreEntre)); 
         break; 
          default: 
          break; 
} 

return 0; 
} 

0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
24 févr. 2013 à 20:06
Ah, on y voit beaucoup plus clair :-).
Alors :
scanf("%f",&nombreEntre);
C'est %lf dans le scanf(). nombreEntre est de type double.

Je comprends pas tes fonctions :
double conversionEuroDollar(double euro) et double conversionDollarEuro (double dollar)
Tu mets des instructions après ton return. Cela ne sert à rien puisque return marque la fin de la fonction.
0
bapt13170 Messages postés 48 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 1 avril 2014
25 févr. 2013 à 08:57
merci de ton conseil j'ai le convertisseur euro en dollar qui marche mais pas l'autre
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
25 févr. 2013 à 13:22
Par "qui ne marche pas", tu veux dire qu'il ne te donne pas le bon chiffre ?
Si c'est le cas c'est normal car ta formule de conversion est fausse.
Tu as mis 1.32 / dollar au lieu de l'inverse.
0
bapt13170 Messages postés 48 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 1 avril 2014
25 févr. 2013 à 13:34
MERCI je l'ai changé tout à l'heure car je l'ai remarqué :)
Le programme fonctionne parfaitement je te remercie de m'avoir aidé
0
bapt13170 Messages postés 48 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 1 avril 2014
25 févr. 2013 à 13:52
juste pour demander je voudrais faire une boucle pour que l'utilisateur puisse se reservir du rpograme sans le redémarrer à chaque fois
#include <stdio.h>
#include <stdlib.h>
      double conversionEuroDollar(double euro) // cette fonction sert pour la conversion 1 = euro en dollar
{

    double dollar = 1.32 * euro ;
    return dollar;

}

    double conversionDollarEuro (double dollar) // cette fonction sert pour la conversion 2 = dollar en euro
{

    double euro = dollar / 1.32;
    return euro;

    double nombreEntre = 0 , nombreDollar = 0 ;

}

int main(int argc, char *argv[])
{
    do
    {
        unsigned int recommencer=0 ;

    printf("Bienvenu dans le convertisseur dollars-euros ou euros-dollars\n"); // présentation du programme

    int choixConversion = 0 ;
    double nombreEntre = 0;
    printf("\nVotre choix ? Taper : \n"); // menu pour que l'utilisateur puisse choisir
    printf ("1. Euros en Dollars\n");
    printf ("2. Dollars en Euros\n");
    scanf("%d", &choixConversion);

switch(choixConversion)// permet le choix
{
     case 1: // choix 1 = conversion euro en dollar
         printf("Entrez une valeur en Euro: ");
         scanf("%lf",&nombreEntre);
          printf("La valeur en dollar est : %f", conversionEuroDollar(nombreEntre));
         break;
      case 2: // choix 2 = conversion dollar en euro
         printf("Entrez une valeur en Dollar: ");
         scanf("%lf",&nombreEntre);
         printf("La valeur en euro est : %f", conversionDollarEuro(nombreEntre));
         break;
          default:
          printf("Entrer un des 2 choix");
          break;
}
   printf("Veux tu recommencer ? Alors tape un nombre non nul ! Sinon tape 0 pour quitter  le programme !\n");
   scanf("%d",&recommencer);

   } while (recommencer!=0);

return 0;
}


0