Bonjour,

je viens de faire en exercice un programme de calculatrice

le code bug après avoir choisi le mode de calcul en quittant le programme
elle fonctionnait lorsque je passais par un autre système, en créant un "int" pour chaque forme de calcul,
mais en voulant optimiser par un switch, la je bug
merci pour votre aide

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
 
#include <stdio.h>
 
void calc(voi);
void menu(void);
int calcul(int nb1,int nb2,int typecalcul);
 
/*-----------------------------------------------*/
int main(void)
{
    calc();
    return 0;
}
/*-----------------------------------------------*/
void calc(void)
{
    int menuchoice=0;
    int number1=0, number2=0, result=0;
 
    printf("\n---------------------------\n");
    printf("\tMINI CALCULATRICE");
    printf("\n---------------------------\n");
 
 
    do
    {
    //affichage menu
    menu();
 
    printf("\n\n Votre choix :");
    scanf("%d",&menuchoice);
 
 
 
    if (menuchoice==6)
        printf(" A bientot\n\n");
        return 0 ;
 
 
    printf("entrer un premier nombre\n");
    scanf("%d",&number1);
 
 
    printf("entrer un second nombre\n");
    scanf("%d",&number2);
 
    switch (menuchoice)
    {
        case 1:
            result=calcul(number1, number2,menuchoice);
            break;
        case 2:
           result=calcul(number1, number2,menuchoice);
            break;
        case 3:
            result=calcul(number1, number2,menuchoice);
            break;
        case 4:
            result=calcul(number1, number2,menuchoice);
            break;
        case 5:
            result=calcul(number1, number2,menuchoice);
            break;
 
    default:
        printf("Erreur, vous devez taper un chiffre entre 1 et 6");
        break;
    }
    printf ("le resultat du calcul est %d\n",result);
 }
    while(menuchoice!=6);
 
}
/*-----------------------------------------------*/
 
 
void menu(void)
{
    printf("Menu principal :\n\n");
    printf("1. Calculer une somme\n");
    printf("2. Calculer une difference\n");
    printf("3. Calculer un produit\n");
    printf("4. Calculer un quotient\n");
    printf("5. Calculer un modulo\n");
    printf("6. Quitter\n");
}
/*-----------------------------------------------*/
 
 
int calcul(int nb1,int nb2,int typecalcul)
{
    if(typecalcul==1)//somme
        return nb1+nb2;
    else if(typecalcul==2)//diff
        return nb1-nb2;
    else if(typecalcul==3)//produit
        return nb1*nb2;
    else if(typecalcul==4)//quotien
        return nb1/nb2;
    else if(typecalcul==5)//reste
        return nb1%nb2;
    else
        return -1;
}