Mon programme.

Résolu
oli5667 Messages postés 153 Statut Membre -  
oli5667 Messages postés 153 Statut Membre -
Bonjour,

Mon programme est un mini-convertisseur d'argent. Le probleme est quand je veut convertir de l'argent canadien en euro, les chiffres ne sont pas bon ou dise n'importe quoi. Pourriez-vous inspecter mon code et me dire ce qui ne marche pas.

P.S. Je suis débutant, donc rien de trop compliqué svp.

Merci d'avance

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int nombreEntree = 0, nombreEntree2 = 0, nombreEntree3 = 0, nombreEntree4 = 0, nombreEntree5, nombreEntree6, nombreEntree7, jeu;

printf("Conversion \n");
printf("1:canadien-americain \n");
printf("2:americain-canadien \n");
printf("3:canadien-euro \n");
printf("4:euro-canadien \n");
printf("5:americain-euro \n");
printf("6:euro-americain \n");
printf("Votre choix: ");
scanf("%d", &nombreEntree);

switch(nombreEntree)
{
case 1:
printf("Quelle montant voulez-vous entre? \n");
printf("Votre choix: ");
scanf("%d", &nombreEntree2);
break;

case 2:
printf("Quelle montant voulez-vous entre? \n");
printf("Votre choix: ");
scanf("%d", &nombreEntree3);
break;

case 3:
printf("Quelle montant voulez-vous entre? \n");
printf("Votre choix: ");
scanf("%d", &nombreEntree4);
break;

case 4:
printf("Quelle montant voulez-vous entre? \n");
printf("Votre choix: ");
scanf("%d", &nombreEntree5);
break;

case 5:
printf("Quelle montant voulez-vous entre? \n");
printf("Votre choix: ");
scanf("%d", &nombreEntree6);
break;

case 6:
printf("Quelle montant voulez-vous entre? \n");
printf("Votre choix: ");
scanf("%d", &nombreEntree7);
break;

default:
printf("Ben ta rien a converser");
return 0;
}

if (nombreEntree2)
{
printf("%d canadien vaut %f americain", nombreEntree2, nombreEntree2 / 1.218485 );
}

else if (nombreEntree3)
{
printf("%d americain vaut %f canadien", nombreEntree3, nombreEntree3 * 1.218485);
}

else if (nombreEntree4)
{
printf("%d canadien vaut %f euro", nombreEntree4, nombreEntree4 / 0,720811749);
}

else if (nombreEntree5)
{
printf("%d euro vaut %f canadien", nombreEntree5, nombreEntree5 * 0,720811749);
}

else if (nombreEntree6)
{
printf("%d americain vaut %f euro", nombreEntree6, nombreEntree6 * 0,900142673);
}

else if (nombreEntree7)
{
printf("%d euro vaut %f americain", nombreEntree7, nombreEntree7 / 0,900142673);
}

else
{
printf("Veuillez rentrez un montant valide");
}

printf("\n\n\n\n");

return 0;
}

1 réponse

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonjour,

    Pourquoi autant de variables ?
    Tu te crées juste la variable nombreEntre (que je baptiserais au passage "devise").
    Puis, tu crées une autre : montant.
    Ensuite, à la place de if (nombreEntree2)
    tu peux remettre : switch(devise). Et tu affiches printf("...", montant/...);
    A la limite, tu peux même tout mettre dans le même switch().

    Sinon, l'erreur vient du 1er return 0; puis de "nombreEntree5, nombreEntree6, nombreEntree7," qui ne sont pas initialisés à 0.
    Vérifie aussi pour les type "double". Tu as mis parfois des virgules au lieu de point...
    Par exemple, tu as mis 0,720811749 au lieu de 0.720811749

    Cdlt,
    0
    1. oli5667 Messages postés 153 Statut Membre 2
       
      Merci bcp!!!
      0