Bonjour , je rencontre un problème dans mon code j'aimerais avoir votre aide car m'aide pas merci.
voici l'énoncé:
Écrire un programme qui lit une chaine représentant une opération sur des entiers et qui
affiche le résultat. Par exemple, si on lui donne la chaine 12+25, elle doit afficher 12 + 25 = 37. Seuls les
opérateurs (+,-, x et /) seront pris en compte. Vous pouvez vous renseigner sur la fonction atoi de la
bibliothèque stdlib.h et ainsi l'utiliser pour convertir les nombres sous formes de chaines en leur version
entière.
et voilà ma tentative de résolution :
lorsque j'exécute le code , il s'affiche "veuillez entrer une opération" mais lorsque je rentre une opération ,cela ne me retourne rien.Code:#include <stdio.h> #include <string.h> #include <stdlib.h> int main (){ char operation[100],nb1[100], nb2[100] ; char signe[] = "+-x/"; int nombre1, nombre2; char signes; int resultat; printf("veuillez entrer une opération \n"); fgets(operation, sizeof(operation), stdin); char *nba1 = strtok(operation,signe); char *nba2 = strtok(NULL,"\0"); nombre1 = atoi(nba1); nombre2 = atoi(nba2); signes = operation[strlen(nba1) + 1]; //selection du signe if (signes =='+') { resultat == nombre1 + nombre2; printf("Le résultat de l'addition est : %d + %d = %d\n",nombre1, nombre2, resultat); } else if (signes == '-'){resultat = nombre1 - nombre2; printf("Le résultat de l'addition est : %d - %d = %d\n",nombre1, nombre2, resultat);} else if (signes == 'x'){resultat = nombre1 * nombre2; printf("Le résultat de l'addition est : %d x %d = %d\n",nombre1, nombre2, resultat);} else if (signes == '/'){resultat = nombre1 / nombre2; printf("Le résultat de l'addition est : %d / %d = %d\n",nombre1, nombre2, resultat);} return 0; }
-----