Aide en C

Résolu
cris93380 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -  
JooS Messages postés 2468 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir , j'aurais besoin d'une toute petite aide
Je commence a programmer en C mais je bloque
je vous montre les lignes de code :

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

int main()
{
    int nombre1 , nombre2 , total;
    char choix;
    printf("\tBienvenue dans le programme calculatrice\n\n Menu\n\n");
    printf(" 1 - Addition\n 2 - Soustraction\n 3 - Multiplication\n 4 - Division\n\n");
    scanf("%s", &choix);
    if (choix == 1)
    {
        printf("Entrez deux nombres\n");
        scanf("%d\n",nombre1);
        scanf("%d\n",nombre2);
        total = nombre1 + nombre2;
        printf("Le resultat est %d", total);
    }
}


J'ai mis en gras le probleme , enfaite je voudrais que si j'entre 1 au clavier , il entre dans la condition if , mais comment l'ecrire? Merci

2 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Comme ça c'est bien, mais avant utilises int choix, et scanf("%d",&choix)
0
cris93380 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention  
 
Ah oui j'avais utilisé des lettres avant , si je remet les choix A B .. Je devrais ecrire quelle condition?
Merci
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Si c'est vraiment des lettres. Il vaut mieux faire char choix[3]; scanf("%s",&choix) if (s[0]=='A');
Remarque : je mets choix de taille 3 car il devrait contenir {'A','\n','\0'} (en supposant que je tapes A)
0
JooS Messages postés 2468 Date d'inscription   Statut Membre Dernière intervention   228
 
Sinon ...
char choix[2];
et

scanf("%c",carr); // pour prendre un seul caractere  
getchar (); // pour vider le buffer, or, supprimer le \n

ou

scanf("%1s",carr); // pour prendre en considération que la première lettre entrée
0