Programa que calcula factorial de un valor

Iniciado por BJM, 19 Julio 2012, 02:58 AM

0 Miembros y 1 Visitante están viendo este tema.

BJM

#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);
}

avesudra

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!
Regístrate en

DickGumshoe

¡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 (cpp) [Seleccionar]
#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!

Sputnik_

#3
el factorial de 0 es 1,  no se C++ pero lo hice en C

#include <stdio.h>
int main()
{   unsigned int i,f=1;
   printf ("NUM: ");
   scanf ("%d",&i);
   for (;i>0;i--)
       f*=i;
   printf ("%d",f);
    return(0);
}


saludos.
Las personas lo suficientemente locas como para pensar que pueden cambiar el mundo son las que lo cambian.