Calculatrice C(probleme "quitter")

dialga08 Messages postés 481 Statut Membre -  
dialga08 Messages postés 481 Statut Membre -
Bonjour,

lorsque le programme me demande de quitter je touche 0,au lieu de quitter me répète le menu.
comment arranger ce petit problème
voici le code:

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

int main()
{
    int resultat = 0,nombre1 = 0,nombre2 = 0;
    int choix_menu = 0;
    double resultatt = 0;
    int nombre = 0;
    int continuer_partie = 1;
    int resultat_exp = 0,nombre_exp = 0;
    int puissance = 0;
    


  while(continuer_partie = 1)
        {

        printf("\n\nCHOIX DE VOTRE OPERATION\n\n");
        printf("\n\n1.addition\n");
        printf("2.soustraction\n");
        printf("3.multiplication\n");
        printf("4.division\n");
        printf("5.racine carre\n");
        printf("6.puissance\n");
        scanf("%d",&choix_menu);

        while(choix_menu>6)
            {
            printf ("\n\nentrer une operation existante dans le programme pour continuer...\n\n");
            scanf ("%d",&choix_menu);
            }



    switch(choix_menu)
            {
            case 1:
            printf("entrer le premier terme\n");
            scanf("%d",&nombre1);
            printf("entrer le deuxieme terme\n");
            scanf("%d",&nombre2);

            resultat = nombre1 + nombre2;
            printf("\n%d + %d = %d\n",nombre1,nombre2,resultat);

            printf("\n\nvoulez vous continuez?\n\n");
            printf("1=>continuer\n");
            printf("0=>quitter\n");
            scanf("%d",&continuer_partie);

            break;
            //separation
            case 2:
            printf("entrer le premier terme\n");
            scanf("%d",&nombre1);
            printf("entrer le deuxieme terme\n");
            scanf("%d",&nombre2);

            resultat = nombre1 - nombre2;
            printf("\n%d - %d = %d\n",nombre1,nombre2,resultat);

            printf("\nvoulez vous continuez?\n\n");
            printf("1=>continuer\n");
            printf("0=>quitter");
            scanf("%d",&continuer_partie);
            break;
            //separation
            case 3:
            printf("entrer le premier facteur\n");
            scanf("%d",&nombre1);
            printf("entrer le deuxieme facteur\n");
            scanf("%d",&nombre2);

            resultat = nombre1 * nombre2;
            printf("\n%d * %d = %d\n",nombre1,nombre2,resultat);

            printf("\nvoulez vous continuez?\n\n");
            printf("1=>continuer\n");
            printf("0=>quitter\n");
            scanf("%d",&continuer_partie);
            break;
            //separation
            case 4:
            printf("entrer le dividante\n");
            scanf("%d",&nombre1);
            printf("entrer le diviseur\n");
            scanf("%d",&nombre2);

            resultat = nombre1 / nombre2;
            printf("\n%d / %d = %d\n",nombre1,nombre2,resultat);

            printf("\nvoulez vous continuez?\n\n");
            printf("1=>continuer\n");
            printf("0=>quitter\n");
            scanf("%d",&continuer_partie);
            break;
            //separation
            case 5:
            printf("entrer le nombre\n");
            scanf("%d",&nombre);

            resultatt = sqrt ((double)nombre);
            printf("\nla racine carre de %d = %f\n",nombre,resultatt);

            printf("\nvoulez vous continuez?\n\n");
            printf("1=>continuer\n");
            printf("0=>quitter\n");
            scanf("%d",&continuer_partie);
            break;
            //separation
            case 6:
            printf("entrer le nombre\n");
            scanf("%d",&nombre_exp);
            printf("entrer la puissance\n");
            scanf("%d",&puissance);

            resultat_exp = pow(nombre_exp,puissance);

            printf("\n%d puissance %d = %d\n",nombre_exp,puissance,resultat_exp);

            printf("\nvoulez vous continuez?\n\n");
            printf("1=>continuer\n");
            printf("0=>quitter\n");
            scanf("%d",&continuer_partie);
            default:
            break;
            }

        }







 return 0;
}


avant je pouvais quitter le programme
depuis que j'ai mis

while (choix_menu>6)
{
printf ("\n\nentrer une operation existante dans le programme pour continuer...\n\n");
scanf ("%d",&choix_menu);
}
il répète le menu

MERCI de m'aider
A voir également:

5 réponses

Pilow Messages postés 410 Statut Membre 71
 
Bonjour,

Edit : while (continuer_partie == 1)

= assigne une valeur a une variable
== test l'égalité

Peut-etre que ça ira mieux
0
sway-yazen Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   54
 
Bonjour,
oui c'est ca le probleme ..
au lieu d'utiliser une condition tu a utilisé une affectation et donc la valeur retournée par une affectation est la veleur affectée donc il reste toujour égale à 1 ..
donc comme M. Pilow a dit while (continuer_partie == 1) va résoudre le probleme .. !
0
Pilow Messages postés 410 Statut Membre 71
 
Bonjour,

Le M. était pas nécessaire ;)

Ca flatte mon égo
0
arth Messages postés 10414 Date d'inscription   Statut Contributeur Dernière intervention   1 293
 
M. Grand Maître alors :D
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dialga08 Messages postés 481 Statut Membre 83
 
merci beaucoup

toujours des petits détailles qui fausse le programme
0