Problème avec mon ou de la fonction if

Résolu
CoDForlan Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   -  
CoDForlan Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai un problème avec mon ou de la fonction if



#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void test(void);

int main(int argc, char const* argv[]) {
start:;
    int numOfNum = 0;
    char entCalc[256] = { 0 };
    int result = 0;

    printf("                                   CALCULATORV2\n[POUR QUITER APPUIEZ SUR 'CTRL + C']\n        Veuillez respecter les sytaxes suivantes :\n - soit addition ou soustraction ou multiplication ou division\n - pas d'espace\n - Exemple de calcule (14-17)(19+24)(24*30)...\n\n");

    printf("Ecrivez un calcule : ");
    gets(entCalc);
    printf("Votre calcul fait %d charactere\n", strlen(entCalc));
    printf("Le calcule         : %s\n", entCalc);
    printf("Le resultat        : %d\n", result);

    for (int i = 0; i < strlen(entCalc); ++i) {
        if (entCalc[i] == 0 || entCalc[i] == 1 || entCalc[i] == 2 || entCalc[i] == 3 || entCalc[i] == 4 || entCalc[i] == 5 || entCalc[i] == 6 || entCalc[i] == 7 || entCalc[i] == 8 || entCalc[i] == 9) {
            printf("0\n");
        }
        else {
            printf("1\n");
        }
    }

    system("pause");
    system("cls");
    goto start;
    return 0;
}

void test(void) {
    printf("test");
}



quand je test il me met ça

Ecrivez un calcule : 13+17
Votre calcul fait 5 charactere
Le calcule : 13+17
Le resultat : 0
1
1
1
1
1
Appuyez sur une touche pour continuer...

alors qu'il devrai me rep ça nn ? :

Ecrivez un calcule : 13+17
Votre calcul fait 5 charactere
Le calcule : 13+17
Le resultat : 0
0
0
1
0
0
Appuyez sur une touche pour continuer...
```
A voir également:

1 réponse

Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Bonjour,

C'est normal, entCalc est une chaine de caractères et tu teste en comparant avec des nombres entiers

Par exemple, entCalc[0] est égal à '1' et non à 1, entCalc[2] est égal à '+', etc ...

Sinon, lorsque tu postes une code utilise les balises de code, ce sera plus clair:

https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Et sinon, c'est 'Ecrivez un calcul' et non pas 'Ecrivez un calcule' , et aussi 'Votre calcul fait 5

caractères' et non pas 'Votre calcul fait 5 charactere' :-)
0
CoDForlan Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   1
 
C'est bon j'arrive à faire mon if ( ... || ... ) correctement et j'ai enlevé les fautes de mon programme.
Merci ;)
0