Bonjour,
après plusieurs jours de recherches et de test de (surtout) d'échecs. j'ai décidé de poster sur le forum mon problème.
En effet, j'ai un TP en cours d'info à rendre : calculatrice en C.
seulement c'est notre 1er et dernier TP !
donc je (re)découvre le C après plusieurs années de non utilisation.
Mon souhait est de récupérer une chaine de caractères contenant 2 opérandes et l'opérateur.
Donc j'ai pour idée :
- récupérer une chaine de caractères;
- d'identifier l'opérateur;
- d'identifier l'opérande 1 et l'opérande 2;
- appeler la fonction réalisant l'opération demandée;
- afficher le résultat;
et pour réaliser tout cela, j'ai pour idée d'utiliser les fonctions du type :
strtok, strcmp, atof
seulement, je n'arrive vraiment pas à les utiliser !
peut être est-ce du à DEV-C++ ?
en tout cas je n'y arrive pas ...
donc j'ai un bout de code à vous faire parvenir (exemple de l'addition):
voilà si vous vouliez bien m'expliquer svp quels arguments prendre etc...
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 char chaine[54]; char chaine1[25]; char chaine2[25]; float op1,op2; int main() { printf("CALC>"); scanf("%s",&chaine); if(strcmp(chaine, "+") == 0) { // OPERATEUR[]="+"; chaine1=strtok(chaine,"+"); chaine2=strtok(NULL,"+"); OP1=atof(chaine1); OP2=atof(chaine2); printf ("CALC> %f", addition(OP1,OP2)); } system("PAUSE"); return 0; }
j'ai des erreurs en compilant ... pour le +
j'ai essayé de déclarer une variable PLUS="+", mais c'est pareil il n'accepte pas mon char PLUS ...
Partager