Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: BJM en 19 Julio 2012, 02:58 am



Título: Programa que calcula factorial de un valor
Publicado por: BJM en 19 Julio 2012, 02:58 am
#include<iostream>
#include<string.h>

using namespace std;
int n,i,fact;
int factorial( int n );
main (){

cout<<"ingrese numero:"<<endl;
cin>>n;
if(n<1){
cout<<"ERROR, intente de nuevo"<<endl;
}
else
cout<<"\n factorial:"<<factorial(n)<<"\n"<<endl;
system("pause");
}

int factorial(int n){
int fact=1;
for(n;n>=1;n--)
{
fact=fact*n;
}
return(fact);
}


Título: Re: Programa que calcula factorial de un valor
Publicado por: avesudra en 19 Julio 2012, 03:09 am
Emmm ¿esto es un aporte , tienes algun problema , etc? sea lo que sea postea el código bajo las etiquetas GeSHi para que tenga una mejor legibilidad por favor.
¡Un saludo!


Título: Re: Programa que calcula factorial de un valor
Publicado por: DickGumshoe en 19 Julio 2012, 09:53 am
¡Hola!

Si lo que pasa es que no encuentras el error en tu código, es porque para system("pause"); debes incluir la biblioteca cstdlib. De todas formas, creo que es mejor usar getchar(), ya que este último sí es portable a otras plataformas, al contrario que el primero.

Por cierto, una cosa que he encontrado en tu código:

Código
  1. #include<string.h>

Si es C++, no debes incluir string.h, sino cstring. Además, no usas para nada esa biblioteca, por lo que podrías quitarla.

Saludos!


Título: Re: Programa que calcula factorial de un valor
Publicado por: Sputnik_ en 24 Julio 2012, 16:34 pm
el factorial de 0 es 1,  no se C++ pero lo hice en C

Código
  1. #include <stdio.h>
  2. int main()
  3. {   unsigned int i,f=1;
  4.    printf ("NUM: ");
  5.    scanf ("%d",&i);
  6.    for (;i>0;i--)
  7.        f*=i;
  8.    printf ("%d",f);
  9.    return(0);
  10. }

saludos.