Hola.. bueno pues sinceramente este progr谩ma si fue uno de los que me costo un poquito mas de tiempo resolver ya que no soy un As en las matem谩ticas y pues ademas esto de andar calculando constantes de este tipo, es algo dificil por la variaci贸n de sus decimales por lo que no quedas totalmente seguro si el programa te da un numero correcto o no, pero las veces que yo lo cal茅, si me regresaba numeros correctos... Igual y tu podr铆as usar mi programa y modificarlo para hacerlo m谩s preciso...

Este programa te muestra un men煤 con 3 opci贸nes:

  • Calcular factorial de un n煤mero
  • Calcular 'e' (Euler)
  • Calcular 'e' a la 'x' (Funci贸n exponencial)

He aqu铆 el c贸digo:

C++:
  1. #include <iostream.h>
  2. #include <stdlib.h>
  3.  
  4. void main()       
  5. {
  6.   int band,m,f,con,n,lim,aa,con1,lim1,x,xx,aa1,fac1,con11,j;
  7.   float e,fac,e1;
  8.   band=0;
  9.   while(band==0)
  10.     {
  11.      cout<<"1 ---> Calcular factorial"<<endl<<"2 ---> Calcular 'e'"<<endl<<"3 ---> Calcular 'e' a la 'x'"<<endl<<"Otro numero ---> Salir"<<endl; cin>>m; cout<<"------------------------------------------------------------"<<endl;
  12.      switch (m){
  13.        case 1: //factorial
  14.          n=-1;
  15.          while(n<0){
  16.            cout<<"Introduce un numero: "; cin>>n;
  17.          } //while
  18.          if (n==0) cout<<"El factorial es: 1"<<endl<<endl;
  19.          else //si es positivo y no es cero
  20.            {
  21.             f=1;
  22.             for (con=(int)n; con>0; con--)
  23.               {
  24.                f=f*con;
  25.               }
  26.             cout<<"El factorial es: "<<f<<endl<<endl;
  27.            }
  28.          break;
  29.        case 2: //calcular e
  30.          lim=0;
  31.          while (lim<1) {
  32.            cout<<"Introduce el limite de la formula: "; cin>>lim;
  33.          }//while
  34.          e=1;
  35.          for (aa=1; aa!=lim+1; aa++)
  36.            {
  37.            //calculamos factorial
  38.               fac=1;
  39.               for (con1=(int)aa; con1>0; con1--)
  40.                  fac=(float)fac*con1;
  41.            //calculamos e
  42.             e=(float)e+(1/fac);
  43.            }
  44.          cout<<"e: "<<(float)e<<endl<<endl;
  45.          break;
  46.        case 3: //calcular e  a la x
  47.          lim1=0;
  48.          while (lim1<1) {
  49.            cout<<"Introduce el limite de la formula: "; cin>>lim1;
  50.          }//while
  51.          cout<<"Introduce la potencia de 'e': "; cin>>x;
  52.          e1=1;
  53.          xx=x;
  54.          for (aa1=1; aa1!=lim1+1; aa1++)
  55.            {
  56.            //calculamos factorial
  57.            fac1=1;
  58.            for (con11=(int)aa1; con11>0; con11--)
  59.              fac1=(float)fac1*con11;
  60.            //calculamos x
  61.             x=xx;
  62.             for (j=1; j!=aa1; j++)
  63.               {
  64.                 x=x*xx;
  65.               }
  66.            //calculamos e
  67.             e1=(float)e1+(x/fac1);
  68.            }
  69.          cout<<"e: "<<(float)e1<<endl<<endl;
  70.          break;
  71.        default: band=1;
  72.      }//switch
  73.     } //while
  74.     cout<<"Fin de programa..."<<endl;
  75.   system("PAUSE");
  76. }