Muy buenas a todos, estoy realizando un pequeño programa que calcule un numero factorial, el cual ya lo tengo planteado con la estructura do..while, pero quiero que cuando me pida el numero a calcular le pongo 0, me salga un mensaje de error y me diga que debo ingresar de nuevo un numero distinto a 0 y vuelva a ejecutarse la sentencia.
Muchas gracias
Un saludo
mientras numero ingresado = 0 entonces imprime "no debe ser 0"
no?
Te pongo el ejemplo de calculo, solo faltaria ponerle la condicion de que si es 0 muestre error y nuevamente haga la pregunta de ingresar numero entero.
#include <stdio.h>
void main()
// Realizamos un menu al objeto que el usuario elija la operacion deseada
{
int num;
printf("Seleccione la operación que desee realizar \n \n");
printf("1- Factorial de un numero \n");
printf("2- xxxxxx \n");
printf("3- xxxxxxx \n");
scanf("%d",&num);
switch(num)
{
case 1:{
// Inicio Funcion
unsigned long int N, /* Número del que calcularemos el factorial */
fact=1; /* Factorial calculado */
printf("\n Dame el numero para calcular su factorial: ");
scanf("%lu", &N);
if (N>=2)
do {
fact=fact*N;
N--;
} while (N>=2);
printf("\nEl factorial es: %lu.\n", fact);
system("pause");
}
}
}
Mod: mensaje modificado, al publicar codigo, usa las etiquetas GeSHi
hacer->
scanf....
<-mientras variable mayor que 0
Pero donde lo inserto en la linea 30?
Gracias
no, quieres revisar si es 0 antes de hacer la operación...
lo que el do while de comprobacioen encapsularía es el printf y el scanf (linea 22)
ok, mil gracias
Saludos