#include #include #include #include /* ................................................................ */ #define TailleLigne 8000 #define True 1 #define False 0 void ERREUR(char *ch1, char *ch2) { fprintf(stderr, "ERREUR : %s %s\n", ch1, ch2); exit(0); } /* ................................................................ */ /* ................................................................ */ #define IF_NUMBER(a) (((a)>='0')&&((a)<='9')) int if_capital(char c) { if ((c >= 'A') && (c <= 'Z')) return True; if ( (c == 'É') || (c == 'À') || (c == 'È') || (c == 'Ù') || (c == 'Â') || (c == 'Ê') || (c == 'Î') || (c == 'Ô') || (c == 'Û') || (c == 'Ä') || (c == 'Ë') || (c == 'Ï') || (c == 'Ö') || (c == 'Ü') || (c == 'Ç') ) return True; return False; } int if_lettre(char c) { if ((c >= 'A') && (c <= 'Z')) return True; if ((c >= 'a') && (c <= 'z')) return True; if ( (c == 'É') || (c == 'À') || (c == 'È') || (c == 'Ù') || (c == 'Â') || (c == 'Ê') || (c == 'Î') || (c == 'Ô') || (c == 'Û') || (c == 'Ä') || (c == 'Ë') || (c == 'Ï') || (c == 'Ö') || (c == 'Ü') || (c == 'Ç') || (c == 'é') || (c == 'à') || (c == 'è') || (c == 'ù') || (c == 'â') || (c == 'ê') || (c == 'î') || (c == 'ô') || (c == 'û') || (c == 'ä') || (c == 'ë') || (c == 'ï') || (c == 'ö') || (c == 'ü') || (c == 'ç') ) return True; return False; } char decapital(char c) { if ((c >= 'A') && (c <= 'Z')) return (c + ('a' - 'A')); if (c == 'É') return 'é'; if (c == 'À') return 'à'; if (c == 'È') return 'è'; if (c == 'Ù') return 'ù'; if (c == 'Â') return 'â'; if (c == 'Ê') return 'ê'; if (c == 'Î') return 'î'; if (c == 'Ô') return 'ô'; if (c == 'Û') return 'û'; if (c == 'Ä') return 'ä'; if (c == 'Ë') return 'ë'; if (c == 'Ï') return 'ï'; if (c == 'Ö') return 'ö'; if (c == 'Ü') return 'ü'; if (c == 'Ç') return 'ç'; return c; } char * decapital_string(char *pt) { int i; for (i = 0; pt[i]; i++) pt[i] = decapital(pt[i]); return pt; } int at_least_one(char *pt) { int i; for (i = 0; (pt[i]) && ((pt[i] < 'A') || (pt[i] > 'Z')); i++); return (pt[i] ? True : False); } /* ................................................................ */ int if_zarbi(char *pt, int *mixt) { int zarb; for (*mixt = False, zarb = False; *pt; pt++) if (((*pt) != '_') && ((*pt) != '\'') && ((*pt) != '\\') && ((*pt) != '/') && ((*pt) != '+') && ((*pt) != '!') && (!if_lettre(*pt)) && (!(IF_NUMBER((*pt))))) zarb = True; else *mixt = True; return zarb; } /* ................................................................ */ int main(int argc, char **argv) { char ch[TailleLigne]; int nb; /* if (argc>1) for(nb=1;nb