Programación

Hola.. De nuevo.. Estoy empezando a programar en turbo C.. Tengo dos preguntas:
La primera es porque me salen números negativos.. Este es el programa que edite ahí te va..
#include<stdio.h>
void main()
{
int num,c=1,cubo;
printf("Dame el numero:");
scanf("%d",&num);
while(c<=num)
{
cubo=c*c*c;
printf("%d\n",cubo);
c=c+1;
}
}
Ese es el programita sencillito, pero cuando le doy el numero 32, me da su cubo, pero negativo y no se porque, y luego se va decrementando, ¿si pudieras ayudarme ha y oyes acaso los números enteros se pueden declarar como enteros largo para que así me de el resultado que yo quiero?
La ultima pregunta es referente al programa anterior.. Como hago para regresar al principio del programa, osea si el usuario de sea introducir otro numero.. Para no estar abriendo y cerrando la ventana.. Bueno eso es todo por el momento.. Gracias.

1 Respuesta

Respuesta
1
Los números negativos te salen porque 32 al cubo es un numero demasiado grande para ser representado por un entero. Defínelo como una variable de tipo long, y veras como te funciona.
Para que regrese al principio del programa, has de hacer algo como esto
int salir=0;
while (salir==0)
{
.
.
.
if num==0 salir=1;
}
Es decir, salir=1 lo pondrás por ejemplo cuando el usuario teclee hacer el cubo del numero 0.
Abur.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas