[devc++] factorielles par incursive avec impression dans un fichier

Contenu du snippet

bah merci a quelque-uns de www.developpez.com

je pars du principe, pour calculer les factorielles, que 5! = 5*4*3*2*1 mais aussi
1*2*3*4*5....
c'est ce que j'appel l'incursivité (factorielles par incursives)

Source / Exemple :


#include "iostream.h"
#include "stdlib.h"
#include "conio.c" // normallement, c'est conio.h mais pas chez moi !
#include "fstream.h"

FILE *save;

int main()
{
clrscr();
int restart,ON;
unsigned long int Xfact,i,j;
char string[40] = "Programme réalisé par Xcept!.";

save = fopen("factorielles.txt", "w+");
fprintf(save, "\t\t\t%s\n\n\n", string);
i = 1;
textcolor(LIGHTGRAY);
cout << "Donnez la valeur de X dans X! : \n";
cin >> Xfact;

if (Xfact == 0 )
{
textcolor(RED);
cout << "\n\nLa factorielle de 0, not\202e 0!, vaut 1. C'est une convention\n\n\n";
switch (restart)
{
case 1 : main(); break ;
case 2 : return 0; break ;
}
}
else
{
for (j = 2;j<Xfact+1;j++)
{
i *= j;
fprintf(save,"la factorielle de %i  =  %u\n",j, i);
}
}

textcolor(LIGHTBLUE);
cout <<"\n\nLa factorielle de ";
textcolor(RED);
cout << Xfact ;
textcolor(LIGHTBLUE);
cout << " vaut "  ;
textcolor(RED);
cout << i ;
cout << "\n\n\n";

textcolor(BROWN);
cout << "Recommencer ?\n\t1- oui\n\t2- non\n\n\n";
cin >> restart;

switch (restart)
{
case 1 : main(); break ;
case 2 : return 0; break ;
}
}

Conclusion :


Pas eu le temps de mettre des commentaires : pour ca que c'est du niveau 3

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.