Mon programme.
Résolu
oli5667
Messages postés
139
Date d'inscription
Statut
Membre
Dernière intervention
-
oli5667 Messages postés 139 Date d'inscription Statut Membre Dernière intervention -
oli5667 Messages postés 139 Date d'inscription Statut Membre Dernière intervention -
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;
}
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;
}
A voir également:
- Mon programme.
- Programme demarrage windows - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
- Programme word gratuit - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
1 réponse
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,
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,
oli5667
Messages postés
139
Date d'inscription
Statut
Membre
Dernière intervention
2
Merci bcp!!!