Problème de calcul décimal en C
ariuss
-
Nabla's Messages postés 18203 Date d'inscription Statut Contributeur Dernière intervention -
Nabla's Messages postés 18203 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis débutant et j'ai un problème avec ma "calculatrice"...
Voici mon code :
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int choixMenu;
printf("Bienvenue dans la calculatrice !\n\n");
printf("Options :\n\n");
printf("1. Addition\n");
printf("2. Soustraction\n");
printf("3. Multiplication\n");
printf("4. Division\n");
printf("\nQuelle option avez-vous choisie ? ");
scanf("%d", &choixMenu);
printf("\n");
switch (choixMenu)
{
case 1:
printf("Vous avez choisi l'addtion.\n\n");
break;
}
int choixtypeadd;
printf("Types d'addtion : \n\n");
printf("1. Addition avec nombres entiers\n");
printf("2. Addition avec nombres decimaux\n");
printf("\nQuel type d'addtion avez-vous choisi ? ");
scanf("%d",&choixtypeadd);
int nbre1adde = 0;
int nbre2adde = 0;
int resultatadde = 0;
switch (choixtypeadd)
{
case 1:
printf("\nVous avez choisi l'addtion avec nombres entiers\n\n");
printf("Entrez le premier nombre : ",nbre1adde);
scanf("%d",&nbre1adde);
printf("\nEntrez le deuxieme nombre : ",nbre2adde);
scanf("%d",&nbre2adde);
resultatadde = nbre1adde + nbre2adde;
printf("\nLe resultat est : %d",resultatadde);
break;
double nbre1addd = 0;
double nbre2addd = 0;
double resultataddd = 0;
case 2:
printf("\nVous avez choisi l'addtion avec nombres decimaux\n\n");
printf("Entrez le premier nombre : ",nbre1addd);
scanf("%f",&nbre1addd);
printf("\nEntrez le deuxieme nombre : ",nbre2addd);
scanf("%f",&nbre2addd);
resultataddd = nbre1addd + nbre2addd;
printf("\nLe resultat est : %f",resultataddd);
break;
}
printf("\n\n");
return 0;
}
Quand je choisis la première option qui est l'addition et la deuxieme qui est l'addition avec nombres décimaux le calcul me donne un resultat complétement faux.
Si quelqu'un pourrais m'aider ca serais sympa :D
A+ et merci d'avance.
Je suis débutant et j'ai un problème avec ma "calculatrice"...
Voici mon code :
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int choixMenu;
printf("Bienvenue dans la calculatrice !\n\n");
printf("Options :\n\n");
printf("1. Addition\n");
printf("2. Soustraction\n");
printf("3. Multiplication\n");
printf("4. Division\n");
printf("\nQuelle option avez-vous choisie ? ");
scanf("%d", &choixMenu);
printf("\n");
switch (choixMenu)
{
case 1:
printf("Vous avez choisi l'addtion.\n\n");
break;
}
int choixtypeadd;
printf("Types d'addtion : \n\n");
printf("1. Addition avec nombres entiers\n");
printf("2. Addition avec nombres decimaux\n");
printf("\nQuel type d'addtion avez-vous choisi ? ");
scanf("%d",&choixtypeadd);
int nbre1adde = 0;
int nbre2adde = 0;
int resultatadde = 0;
switch (choixtypeadd)
{
case 1:
printf("\nVous avez choisi l'addtion avec nombres entiers\n\n");
printf("Entrez le premier nombre : ",nbre1adde);
scanf("%d",&nbre1adde);
printf("\nEntrez le deuxieme nombre : ",nbre2adde);
scanf("%d",&nbre2adde);
resultatadde = nbre1adde + nbre2adde;
printf("\nLe resultat est : %d",resultatadde);
break;
double nbre1addd = 0;
double nbre2addd = 0;
double resultataddd = 0;
case 2:
printf("\nVous avez choisi l'addtion avec nombres decimaux\n\n");
printf("Entrez le premier nombre : ",nbre1addd);
scanf("%f",&nbre1addd);
printf("\nEntrez le deuxieme nombre : ",nbre2addd);
scanf("%f",&nbre2addd);
resultataddd = nbre1addd + nbre2addd;
printf("\nLe resultat est : %f",resultataddd);
break;
}
printf("\n\n");
return 0;
}
Quand je choisis la première option qui est l'addition et la deuxieme qui est l'addition avec nombres décimaux le calcul me donne un resultat complétement faux.
Si quelqu'un pourrais m'aider ca serais sympa :D
A+ et merci d'avance.
A voir également:
- Problème de calcul décimal en C
- Calcul moyenne excel - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Logiciel gratuit calcul surface m2 - Télécharger - Outils professionnels
2 réponses
Salut,je ne suis pas sur car je ne sais plus compiler mais il me semble que tu essayes de faire une addition avec des nombres décimaux sur des variables de type int. Essaye plutôt en déclarant des variables de type double
idem:
int nbre1adde = 0;
scanf("%f",&nbre1addd);
il faudrait déclarer float nbre1adde = 0;
toi tu crées un type, et tu enregistres des données d'un autre type..
c'est comme si je faisais un dictionnaire "larousse francais", et que je demandais à un chinois de le remplir... equand je le lis, je vois des trucs incohérent, et c'est normal ;)
int nbre1adde = 0;
scanf("%f",&nbre1addd);
il faudrait déclarer float nbre1adde = 0;
toi tu crées un type, et tu enregistres des données d'un autre type..
c'est comme si je faisais un dictionnaire "larousse francais", et que je demandais à un chinois de le remplir... equand je le lis, je vois des trucs incohérent, et c'est normal ;)