Tengo el siguiente fallo en mi programa que es para calcular el factorial

Iniciado por Nightwinds, 2 Junio 2010, 17:20 PM

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

Nightwinds

Al ejecutar mi programa e ingresar un numero se vuelve loco el programa ya que imprime el resultado una infinidad de veces sin parar.
(Estoy utilizando C++ Builder 6)
Si el programa esta en desorden es que soy principiante.
Este es mi codigo:

#include <conio.h>
#include <stdio.h>

main()
{
int x, z;

long int factorial;

clrscr();


printf("Que factorial quieres?");
scanf("%d", &x);

while(x!=0)

{factorial=1;

for (z=1; z<=x; z++) factorial=factorial*z;

printf("%d x %d= %d ",x,z,factorial*z);

};

getch();

return 0;
}

Gallu

Primero que nada te recomiendo que utilices la etiqueta geshi para poner tu codigo.

A simple vista parece ser que tu error está en el while , en ningún momento modificas x
ni tampoco la incializas , por consiguiente nunca será 0


while(x!=0) // nunca se cumple men
Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.

VirajeCR

Una pregunta: ¿por qué lo haces iterativo y no recursivo?

Saludos.

Akai

Cita de: VirajeCR en  2 Junio 2010, 18:45 PM
Una pregunta: ¿por qué lo haces iterativo y no recursivo?

Saludos.

dado el nivel que se asume con ese código ( main sin ser int, el while mal expresado) seguramente todavía no sabe lo que es la recursividad, y podría asegurar que tampoco funciones.

VirajeCR

Umm... Importante observación. Siento mucho haberla pasado por alto.

Saludos.

nicolas_cof

Ademas de lo ya mencionado por Akai, no hace falta la inclusion de la libreria conio debido a que es obsoleta y ademas no es estandar.

Si solo la usas para limpiar pantalla, puedes usar lo siguiente...

#include <stdlib.h> // libreria necesaria para usar la funcion system()
...
system( "cls" ); // Windows
system( "clear" ); // Linux
...


Yo te recomendaria leer, ya que por el codigo se nota que muchos conceptos no estan muy en claro.

El.lenguaje.de programación.C.Segunda.Edición.Kernighan&Ritchie

Salu10

Nightwinds

Si gracias es que apenas estoy empesando.
Me falta afinar muchas cosas.
Ya resolcvi el problema que tenia Gracias.
No saben el nombre de algun libro o guia que me recomienden???

.:BlackCoder:.

Yo recomiendo el de Joyanes Aguilar, "Programacion en C++"... Y "Como programar en C/C++" de deitel & deitel... Y una pagina seria, la de cconclase y cplusplus (si sabes ingles) ...
"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja