Mon programme.

Résolu/Fermé
oli5667 Messages postés 139 Date d'inscription lundi 27 janvier 2014 Statut Membre Dernière intervention 23 novembre 2016 - 5 juin 2015 à 19:12
oli5667 Messages postés 139 Date d'inscription lundi 27 janvier 2014 Statut Membre Dernière intervention 23 novembre 2016 - 6 juin 2015 à 04:29
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

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 840
6 juin 2015 à 00:33
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
oli5667 Messages postés 139 Date d'inscription lundi 27 janvier 2014 Statut Membre Dernière intervention 23 novembre 2016 2
6 juin 2015 à 04:29
Merci bcp!!!
0