Probleme lanage c

Fermé
tchinkonkolo Messages postés 1 Date d'inscription jeudi 8 décembre 2011 Statut Membre Dernière intervention 8 décembre 2011 - 8 déc. 2011 à 14:37
titus22 Messages postés 1918 Date d'inscription jeudi 1 décembre 2011 Statut Membre Dernière intervention 16 février 2012 - 8 déc. 2011 à 14:41
Bonjour,
j'ai un petit soucis de programmation en langage C (j'utilise DEV C++). J'essaie de faire une calculatrice avec les opérateurs classiques. voici mon code:
int main()
{
int int1, int2, test=1, res; /*les opérandes et le résultat et test qui me permet le res*/
char op;/*opérateur*/
while (1)
{
printf("saisir votre operation\n");
scanf("%d,%c,%d",&int1,&op,&int2);
switch(op) /*les différents cas possible pour l'opérateur*/
{
case '+':res=int1+int2;
break;
case'*':res=int1*int2;
break;
case '/':if (int2==0)
{printf("erreur: le denominateur ne peut etre egal a 0\n");
test=0;}
else {res=int1/int2;}
break;
case'-':res=int1-int2;
break;
default: {printf("operateur %c incorrect\n",op);
test=0;break;}
}
if(test==1)
{printf("%d\n",res);}
else {printf("erreur\n");}
getch();
}
}

le code compile mais dès que je saisis une opération (1+2, par exemple) il me retourne le cas du default ("opérateur incorrecte"). Je ne comprends pas pourquoi il ne reconnait pas l'opérateur, et ce même si je change d'opérateur ('*','-').

merci cordialement de vos réponses.

1 réponse

titus22 Messages postés 1918 Date d'inscription jeudi 1 décembre 2011 Statut Membre Dernière intervention 16 février 2012 637
8 déc. 2011 à 14:41
Si tu fais un printf de la variable op après ton scanf sa affiche quoi ?
0