Por que el bucle funciona mal?? - C

Iniciado por Mozzard, 28 Septiembre 2018, 16:44 PM

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

Mozzard

Este codigo sin el while funcionaba perfectamente, y me han pedido que hasta que no le de la opcion 0 no se acabe el programa, que falla?

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
int main(){
float grad;
int num,bucle = 0;
while (bucle = 0){
printf("Escribe un angulo (0 a 360)");
scanf("%f",&grad);
if (grad > 360 or grad < 0){
printf("Valor incorrecto!");
}else{
grad = grad*3.14159/180;//Passar-ho a radiants
printf("En radiantes es: %f\n", grad);
printf("[0] para salir\n[1] para calcular sinus\n[2] para calcular cosinus\n[3] para calcular tangente\n");
scanf("%i", &num);
switch(num){
case 0:
bucle = bucle++;
printf("BYE!\n");
break;
case 1:
printf("El sinus de %f es: %f\n",grad, sin(grad));
break;
case 2:
printf("El coseno de %f es: %f\n",grad,cos(grad));
break;
case 3:
printf("La tangente de %f es: %f\n",grad, tan(grad));
break;
default:
printf("No has introducido ningun numero de los esperados!\n");
}
}
system("pause");
}
}
Programalo... sin miedo...

Mozzard

Ya lo he resuelto por mi mismo, por si no lo has logrado resolver el problema estaba en bucle = bucle++,
de esta manera la variable no se suma.
Pues solo hay que poner bucle++ y solucionado :D
Programalo... sin miedo...

MAFUS

Tienes otro fallo aquí: while (bucle = 0) Estás asignando, no comparando.

Mozzard

Programalo... sin miedo...