Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2558 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Decouper un code recursif

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Decouper un code recursif

n°2068437
jjboy91
Posté le 06-04-2011 à 15:34:13  profilanswer
 

Bonjour,
 
Je suis en ce moment en trian de coder une fonction capable d'evaluer une expression.
 
J'ai reussi a la coder. Je cherche a decouper mon code en une ou plusieurs fonctions mais je recontre quelques problemes.
 
J'ai code cette fonction en recursif et je ne sais pas s'il est possible de la decouper.
 
Voici mon code:
 

Code :
  1. #include <stdlib.h>
  2. #include "eval_expr.h"
  3. typedef         struct s_calc
  4. {
  5.   int           l;
  6.   int           r;
  7.   char          op;
  8.   char          next_op;
  9. } t_calc;
  10. int     calc_rec(char *cal, int *left_r, char *op_r, int prio_b, char **p_calc)
  11. {
  12.   t_calc calc;
  13.   if (left_r != NULL)
  14.     calc.l = *left_r;
  15.   else
  16.     {
  17.       if (*cal == '(')
  18.         calc.l = calc_rec(cal + 1, NULL, NULL, 0, &cal);
  19.       else
  20.         calc.l = my_strtod(cal, &cal);
  21.     }
  22.   if (op_r != NULL)
  23.     calc.op = *op_r;
  24.   else
  25.     {
  26.       calc.op = *cal;
  27.       cal += 1;
  28.     }
  29.   while (calc.op != '\0' && calc.op != ')' && priorite(calc.op) > prio_b)
  30.     {
  31.       if (*cal == '(')
  32.         calc.r = calc_rec_suite(cal + 1, NULL, NULL, 0, &cal);
  33.       else
  34.         calc.r = my_strtod(cal, &cal);
  35.       calc.next_op = *cal;
  36.       cal += 1;
  37.       if (est_oper(calc.next_op) && priorite(calc.next_op) > priorite(calc.op))
  38.         calc.r = calc_rec_suite(cal, &calc.r, &calc.next_op, priorite(calc.op), &cal);
  39.       calc.l = effectuer_oper(calc.l, calc.op, calc.r);
  40.       calc.op = calc.next_op;
  41.     }
  42.   if (op_r != NULL)
  43.     *op_r = calc.next_op;
  44.   if (p_calc != NULL)
  45.     *p_calc = cal;
  46.   return (calc.l);
  47. }


 
J'aurais besoin de vous pour apprendre a bien decouper mon code.
 
Merci d'avance pour votre aide  :jap:


Message édité par jjboy91 le 06-04-2011 à 19:36:57
mood
Publicité
Posté le 06-04-2011 à 15:34:13  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Decouper un code recursif

 

Sujets relatifs
Code VBA WordLe Google Summer of Code
[Résolu] Proteger son code PHPMenu Dynamique recursif php/mysql
dysfonctionnement avec certains navigateurs de mon code javascriptCode pour changer l'orde d'un nom de fichier
[Débutant en HTML]Qui pourrait vérifier mon code svp?Comment générer tous les entiers d'une borne (Le code est-il correct?)
Convertir du texte en code javascriptmodifier un code en javascript
Plus de sujets relatifs à : Decouper un code recursif


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR