Accueil     Soft. MacOSX     Soft. MacOS/PC     PHP     ROMS GBA     TP d'info     TI-92     DBZ-GT     Martingales     Galeries     Liens     @  

Info Théorique: Analyse descendante récursive

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

static char WORD[100];
static char c;

int position;void erreur(char *msg){
printf("Erreur\n");
printf(msg);
exit(0);
}

void c_suiv(){
position++;
c=WORD[position];
}

int f_s(){
switch(c){
case '+': c_suiv(); return f_s()+f_s();
case '-': c_suiv(); return -f_s();
case '*': c_suiv(); return f_s()*f_s();
default:return cc();
}
}

int cc(){
switch(c){
case '0': c_suiv(); return 0;
case '1': c_suiv(); return 1;
case '2': c_suiv(); return 2;
case '3': c_suiv(); return 3;
case '4': c_suiv(); return 4;
case '5': c_suiv(); return 5;
case '6': c_suiv(); return 6;
case '7': c_suiv(); return 7;
case '8': c_suiv(); return 8;
case '9': c_suiv(); return 9;
default : erreur("on aurait voulut un entier !");
}
}

int main(int argc,char *argv[]){
int i,j;

strcat(WORD,argv[1]);
strcat(WORD,"$");
position=-1;
c_suiv();
j=f_s();

if (c=='$')
printf("= %d =",j);
else
printf("il y a eu une erreur !");

return 0;
}

©2003 All Rights Reserved to Software-DS.com





Haut de la page - Page précédente - Page générée en 0.01095 sec.
Recherche personnalisée
 

1815782 visiteurs.   ©2001-2019 All Rights Reserved to Software-DS.com
Made with a mac  
Confidentialité