Petit bleme dans un programme de calculette
Résolu/Fermé
coleturner
Messages postés
35
Date d'inscription
samedi 15 mars 2008
Statut
Membre
Dernière intervention
20 avril 2008
-
17 mars 2008 à 13:31
Je reste anonyme! - 4 avril 2009 à 13:57
Je reste anonyme! - 4 avril 2009 à 13:57
A voir également:
- Petit bleme dans un programme de calculette
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Petit colis distribution - Forum Internet / Réseaux sociaux
- Petit 1 comme ² ✓ - Forum Windows
- Frequence programme national ✓ - Forum Messagerie
- Fichier ouvert dans un autre programme - Guide
10 réponses
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
435
17 mars 2008 à 14:30
17 mars 2008 à 14:30
il faut que tu fasses le calcul avant tes printf
case 1:{
Resultat=Nombre1 + Nombre2;
printf("%ld + %ld = %ld", Nombre1, Nombre2, Resultat);}
break;
case 2:{
Resultat=Nombre1-Nombre1;
printf("%ld - %ld = %ld", Nombre1, Nombre2, Resultat);}
break;
case 3:{
Resultat=Nombre1*Nombre2;
printf("%ld * %ld = %ld", Nombre1, Nombre2, Resultat);}
break;
case 4:{
Resultat=Nombre1/Nombre2;
printf("%ld / %ld = %ld", Nombre1, Nombre2, Resultat);}
break;
coleturner
Messages postés
35
Date d'inscription
samedi 15 mars 2008
Statut
Membre
Dernière intervention
20 avril 2008
2
17 mars 2008 à 16:02
17 mars 2008 à 16:02
ha ok, et c'est obligé de mettre { au début de chaque case et de la refermer a la fin de chaque printf?
on peut pas l'ouvrire au debut du switch et la refermer a la fin de ce dernier?
on peut pas l'ouvrire au debut du switch et la refermer a la fin de ce dernier?
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
435
17 mars 2008 à 17:04
17 mars 2008 à 17:04
oui il faut laisser les accollades du switch mais comme tu as plusieurs instructions dans tes case pour chaque case il faut que tu mettes aussi des accolades
coleturner
Messages postés
35
Date d'inscription
samedi 15 mars 2008
Statut
Membre
Dernière intervention
20 avril 2008
2
17 mars 2008 à 18:18
17 mars 2008 à 18:18
ha d'accord.
une derniere question :
qu'est ce qui ne va pas avec le switch? : "switch quantity not an integer"
une derniere question :
qu'est ce qui ne va pas avec le switch? : "switch quantity not an integer"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
435
17 mars 2008 à 19:57
17 mars 2008 à 19:57
il faut que tu definisses ChoixOperation comme un entier et pas un double
et faut changer ton scanf aussi
int ChoixOperation;
et faut changer ton scanf aussi
scanf("%d", &ChoixOperation);
coleturner
Messages postés
35
Date d'inscription
samedi 15 mars 2008
Statut
Membre
Dernière intervention
20 avril 2008
2
17 mars 2008 à 21:25
17 mars 2008 à 21:25
dans ce cas la avec un long ou un int la dévision ne marcherai pas si ?... :o
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
435
17 mars 2008 à 21:46
17 mars 2008 à 21:46
pour la division il te faut des double mais la tu modifies juste la variable ChoixOperation en int les autres variables (Nombre1,etc...) tu les laisses en double donc il y aura pas de problemes pour la division
coleturner
Messages postés
35
Date d'inscription
samedi 15 mars 2008
Statut
Membre
Dernière intervention
20 avril 2008
2
17 mars 2008 à 22:19
17 mars 2008 à 22:19
ok merci pour tout :)
bonne soiree
bonne soiree
Salut coleturner,
Je suis désolé, Myle n'a pas raison! Les accolades ne sont pas absolument nécessaires! Désolé Myle: t'as juste voulu aider, je sais... Mais il faut tout tester! Moi, ce que tu as écrit m'a beaucoup surpris, alors j'ai essayé avec, puis sans... et tadaa: Fait executer cela et tu verras:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
long operation=0, nombre1=0.0, nombre2=0.0, resultat=0.0;
printf("\n\t=== Calculatrice ===\n\n1 = addition\n\n2 = Soustraction\n\n3 = multiplication\n\n4 = division\n\nQuelle est votre operation?\n\n");
scanf("%ld", &operation);
switch (operation)
{
case 1:
printf("\n\nQuel est votre premier nombre?\n\n");
scanf("%ld", &nombre1);
printf("\n\nQuel est votre deuxieme nombre?\n\n");
scanf("%ld", &nombre2);
resultat= nombre1 + nombre2;
printf("\n\n %ld + %ld = %ld", nombre1, nombre2, resultat);
break;
case 2:
printf("\n\nQuel est votre premier nombre?\n\n");
scanf("%ld", &nombre1);
printf("\n\nQuel est votre deuxieme nombre?\n\n");
scanf("%ld", &nombre2);
resultat= nombre1 - nombre2;
printf("\n\n %ld - %ld = %ld", nombre1, nombre2, resultat);
break;
case 3:
printf("\n\nQuel est votre premier nombre?\n\n");
scanf("%ld", &nombre1);
printf("\n\nQuel est votre deuxieme nombre?\n\n");
scanf("%ld", &nombre2);
resultat= nombre1 * nombre2;
printf("\n\n %ld * %ld = %ld", nombre1, nombre2, resultat);
break;
case 4:
printf("\n\nQuel est votre premier nombre?\n\n");
scanf("%ld", &nombre1);
printf("\n\nQuel est votre deuxieme nombre?\n\n");
scanf("%ld", &nombre2);
resultat= nombre1 / nombre2;
printf("\n\n %ld / %ld = %ld", nombre1, nombre2, resultat);
break;
default:
printf("\n\nAbruti! Vous ne savez meme pas distinguer 1, 2, 3 et 4 de %ld?!\nLevez le camp: les maths ne sont rien pour vous!\n\n", operation);
break;
}
printf("\n\nC'est la fin de ce miniprogramme!\n\nA bientot!\n\n");
system("PAUSE");
}
Je suis désolé, Myle n'a pas raison! Les accolades ne sont pas absolument nécessaires! Désolé Myle: t'as juste voulu aider, je sais... Mais il faut tout tester! Moi, ce que tu as écrit m'a beaucoup surpris, alors j'ai essayé avec, puis sans... et tadaa: Fait executer cela et tu verras:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
long operation=0, nombre1=0.0, nombre2=0.0, resultat=0.0;
printf("\n\t=== Calculatrice ===\n\n1 = addition\n\n2 = Soustraction\n\n3 = multiplication\n\n4 = division\n\nQuelle est votre operation?\n\n");
scanf("%ld", &operation);
switch (operation)
{
case 1:
printf("\n\nQuel est votre premier nombre?\n\n");
scanf("%ld", &nombre1);
printf("\n\nQuel est votre deuxieme nombre?\n\n");
scanf("%ld", &nombre2);
resultat= nombre1 + nombre2;
printf("\n\n %ld + %ld = %ld", nombre1, nombre2, resultat);
break;
case 2:
printf("\n\nQuel est votre premier nombre?\n\n");
scanf("%ld", &nombre1);
printf("\n\nQuel est votre deuxieme nombre?\n\n");
scanf("%ld", &nombre2);
resultat= nombre1 - nombre2;
printf("\n\n %ld - %ld = %ld", nombre1, nombre2, resultat);
break;
case 3:
printf("\n\nQuel est votre premier nombre?\n\n");
scanf("%ld", &nombre1);
printf("\n\nQuel est votre deuxieme nombre?\n\n");
scanf("%ld", &nombre2);
resultat= nombre1 * nombre2;
printf("\n\n %ld * %ld = %ld", nombre1, nombre2, resultat);
break;
case 4:
printf("\n\nQuel est votre premier nombre?\n\n");
scanf("%ld", &nombre1);
printf("\n\nQuel est votre deuxieme nombre?\n\n");
scanf("%ld", &nombre2);
resultat= nombre1 / nombre2;
printf("\n\n %ld / %ld = %ld", nombre1, nombre2, resultat);
break;
default:
printf("\n\nAbruti! Vous ne savez meme pas distinguer 1, 2, 3 et 4 de %ld?!\nLevez le camp: les maths ne sont rien pour vous!\n\n", operation);
break;
}
printf("\n\nC'est la fin de ce miniprogramme!\n\nA bientot!\n\n");
system("PAUSE");
}
Et pour un programme un peu plus complexe, noublis pas DE DIVERSIFIER LES DIFFERENTES BRANCHES!!!
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
long operation=0, nombre1=0.0, nombre2=0.0, resultat=0.0;
printf("\n\t=== Calculatrice ===\n\n1 = addition\n\n2 = Soustraction\n\n3 = multiplication\n\n4 = division\n\nQuelle est votre operation?\n\n");
scanf("%ld", &operation);
switch (operation)
{
case 1:
printf("\n\nQuel est votre premier nombre?\n\n");
scanf("%ld", &nombre1);
printf("\n\nQue voulez-vous ajouter a ce nombre?\n\n");
scanf("%ld", &nombre2);
resultat= nombre1 + nombre2;
printf("\n\n %ld + %ld = %ld", nombre1, nombre2, resultat);
break;
case 2:
printf("\n\nQuel est votre premier nombre?\n\n");
scanf("%ld", &nombre1);
printf("\n\nQue voulez-vous retrancher a ce nombre?\n\n");
scanf("%ld", &nombre2);
resultat= nombre1 - nombre2;
printf("\n\n %ld - %ld = %ld", nombre1, nombre2, resultat);
break;
case 3:
printf("\n\nQuel est votre premier nombre?\n\n");
scanf("%ld", &nombre1);
printf("\n\nPar combien voulez-vous multiplier ce nombre?\n\n");
scanf("%ld", &nombre2);
resultat= nombre1 * nombre2;
printf("\n\n %ld * %ld = %ld", nombre1, nombre2, resultat);
break;
case 4:
printf("\n\nQuel est votre premier nombre?\n\n");
scanf("%ld", &nombre1);
printf("\n\nPar combien voulez-vous diviser ce nombre?\n\n");
scanf("%ld", &nombre2);
resultat= nombre1 / nombre2;
printf("\n\n %ld / %ld = %ld", nombre1, nombre2, resultat);
break;
default:
printf("\n\nAbruti! Vous ne savez meme pas distinguer 1, 2, 3 et 4 de %ld?!\nLevez le camp: les maths ne sont rien pour vous!\n\n", operation);
break;
}
printf("\n\nC'est la fin de ce miniprogramme!\n\nA bientot!\n\n");
system("PAUSE");
}
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
long operation=0, nombre1=0.0, nombre2=0.0, resultat=0.0;
printf("\n\t=== Calculatrice ===\n\n1 = addition\n\n2 = Soustraction\n\n3 = multiplication\n\n4 = division\n\nQuelle est votre operation?\n\n");
scanf("%ld", &operation);
switch (operation)
{
case 1:
printf("\n\nQuel est votre premier nombre?\n\n");
scanf("%ld", &nombre1);
printf("\n\nQue voulez-vous ajouter a ce nombre?\n\n");
scanf("%ld", &nombre2);
resultat= nombre1 + nombre2;
printf("\n\n %ld + %ld = %ld", nombre1, nombre2, resultat);
break;
case 2:
printf("\n\nQuel est votre premier nombre?\n\n");
scanf("%ld", &nombre1);
printf("\n\nQue voulez-vous retrancher a ce nombre?\n\n");
scanf("%ld", &nombre2);
resultat= nombre1 - nombre2;
printf("\n\n %ld - %ld = %ld", nombre1, nombre2, resultat);
break;
case 3:
printf("\n\nQuel est votre premier nombre?\n\n");
scanf("%ld", &nombre1);
printf("\n\nPar combien voulez-vous multiplier ce nombre?\n\n");
scanf("%ld", &nombre2);
resultat= nombre1 * nombre2;
printf("\n\n %ld * %ld = %ld", nombre1, nombre2, resultat);
break;
case 4:
printf("\n\nQuel est votre premier nombre?\n\n");
scanf("%ld", &nombre1);
printf("\n\nPar combien voulez-vous diviser ce nombre?\n\n");
scanf("%ld", &nombre2);
resultat= nombre1 / nombre2;
printf("\n\n %ld / %ld = %ld", nombre1, nombre2, resultat);
break;
default:
printf("\n\nAbruti! Vous ne savez meme pas distinguer 1, 2, 3 et 4 de %ld?!\nLevez le camp: les maths ne sont rien pour vous!\n\n", operation);
break;
}
printf("\n\nC'est la fin de ce miniprogramme!\n\nA bientot!\n\n");
system("PAUSE");
}