Salut à tous, voila en fait j'ai un problème avec du code très très simple, en fait je me demande si ça ne vient pas de mon compilateur, voila le code:
Alors voila le soucis: lorsque je rentre la premiere valeure qui est censé pouvoir etre additionnée ou soustraite après au lieux de me donner la fonction ensuite choisie, il me renvoie directement la ligne du else, ce que je trouve très bizarre. Peut-ètre que c'est moi qui suis complètement hors sujet et que je ne comprend plus rien à la programmation (ce qui est probable).
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 #include <stdio.h> int soustraire(int *i) { printf("tapez le chiffre a soustraire:\n"); int s; scanf("%d",&s); i-=s; return 0; } int additionner(int *i) { printf("tapez le chiffre a additionner:\n"); int s; scanf("%d",&s); i=i+s; return 0; } int main(void) { char choix; int result; int *ptr; ptr=&result; printf("voici un programme qui se propose de soustraire et d'additionner deux valeures a la pricipale\n"); printf("commencez par taper la valeure principale:\n"); scanf("%d",&result); printf("par quoi voulez vous commencer, par additionner ou soustraire, tapez a ou s:\n"); choix=getchar(); if(choix=='a') { printf("vous avez choisi d'additionner:\n"); additionner(ptr); } else if(choix=='s') { printf("vous voulez soustraire:\n"); soustraire(ptr); } else { printf("desole, la solution n'est pas prevue\n"); } printf("voila vous avez fini l'operation, voici le resultat:%d\n",result); return 0; }
PS: Ne pas s'affoler pour le peu de stabilité qu'offre le code avec les scanf et autre getchar(), je suis au courant des problèmes pouvant éventuelement apparaître (ce code n'est pas de moi d'origine et je cherche à aider un ami) mais il fallait que je le restitu tel quel pour bien comprendre...
Merci par avance.
Partager