Problème avec mon ou de la fonction if [Résolu]

Signaler
Messages postés
5
Date d'inscription
mercredi 17 juin 2020
Statut
Membre
Dernière intervention
21 août 2020
-
Messages postés
5
Date d'inscription
mercredi 17 juin 2020
Statut
Membre
Dernière intervention
21 août 2020
-
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...
```

1 réponse

Messages postés
363
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
18 septembre 2020
57
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' :-)
Messages postés
5
Date d'inscription
mercredi 17 juin 2020
Statut
Membre
Dernière intervention
21 août 2020

C'est bon j'arrive à faire mon if ( ... || ... ) correctement et j'ai enlevé les fautes de mon programme.
Merci ;)