/* main.c */ #include #include #include #include int main(void) { //variables de choix des opérations char refaire[10]; char type[15]; //on fait une premiere opération avant de faire la boucle printf("Voulez vous faire une operation complexe ou simple (complexe/simple)?\n"); scanf("%s", &type); if(!strcmp(type, "complexe")) { complexe(); } else if(!strcmp(type, "simple")) { simple(); } //on repropose à l'utilisateur de faire une opération while(1) { printf("\nVoulez vous faire une nouvelle opération (oui/non)?\n"); scanf("%s", &refaire); if(!strcmp(refaire, "oui")) // si l'utilisateur veut refaire une opération, on choisit le type { printf("Voulez vous faire une operation complexe ou simple (complexe/simple)?\n"); scanf("%s", &type); if(!strcmp(type, "complexe")) { complexe(); //operations type polynomes, fonctions etc etc } else if(!strcmp(type, "simple")) { simple(); //operations de base } else { printf("Mode operatoire indisponnible"); } } else { return 0; } } return 0; } /* simple.c */ #include #include #include #include int main(void) { //variables de choix des opérations char refaire[10]; char type[15]; //on fait une premiere opération avant de faire la boucle printf("Voulez vous faire une operation complexe ou simple (complexe/simple)?\n"); scanf("%s", &type); if(!strcmp(type, "complexe")) { complexe(); } else if(!strcmp(type, "simple")) { simple(); } //on repropose à l'utilisateur de faire une opération while(1) { printf("\nVoulez vous faire une nouvelle opération (oui/non)?\n"); scanf("%s", &refaire); if(!strcmp(refaire, "oui")) // si l'utilisateur veut refaire une opération, on choisit le type { printf("Voulez vous faire une operation complexe ou simple (complexe/simple)?\n"); scanf("%s", &type); if(!strcmp(type, "complexe")) { complexe(); //operations type polynomes, fonctions etc etc } else if(!strcmp(type, "simple")) { simple(); //operations de base } else { printf("Mode operatoire indisponible"); } } else { return 0; } } return 0; } /* complexe.c */ void polygon2nd(void) //polygones du second degrès dans |R de la forme ax²+bx+c = 0 { float a; float b; float c; float delta; float x1; //1iere solution float x2; //deuxième solution printf("Polygone du second degres de la forme ax² + bx + c = 0\nEntrez a :\n"); scanf("%f", &a); printf("Entrez b :\n"); scanf("%f", &b); printf("Entrez c :\n"); scanf("%f", &c); if(a == 0) //on vérifie que a différent de 0 { printf("a ne doit pas être égal à 0.\n"); } else { delta = pow(b,2)-4*a*c; printf("Delta = %f\n", delta); //on sort les solutions en fonction de delta if(delta < 0) { printf("Delta est inferieur a 0, aucune solution pour ce polynome.\n"); } else if(delta == 0) { x1 = (b-pow(delta,0.5))/(2*a); printf("Delta = 0, une seule solution : %f\n", x1); } else { x1 = (b-pow(delta,0.5))/(2*a); x2 = (-b-pow(delta,0.5))/(2*a); printf("1iere solution : %f\n", x1); printf("2nd solution : %f\n", x2); } } } void primitive(void) //calcul de primitives { } void derive(void) //calcul de derives { } void complexe(void) //opérations complexes (polygones, etc etc) fonction principale du fichier { char type[20]; printf("Quel type d'operation / equation voulez vous resoudre (poly2nd, primitive, derive)?\n"); scanf("%s", &type); if(!strcmp(type, "poly2nd")) { polygon2nd(); } else if(!strcmp(type, "primitive")) { primitive(); } else if(!strcmp(type, "derive")) { derive(); } else { printf("Operation non definie\n"); } }