Probleme lanage c
tchinkonkolo
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
titus22 Messages postés 1918 Date d'inscription Statut Membre Dernière intervention -
titus22 Messages postés 1918 Date d'inscription Statut Membre Dernière intervention -
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.
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.