Duda sobre el uso de break;

Iniciado por Caster, 31 Octubre 2012, 20:00 PM

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

Caster

Pues queria saber si se puede usar break de esta forma:

#include <stdio.h>

int main()
{
int x;
x = getchar();
while (x <= 100)
if (x < 0)
puts("[!] VALOR NEGATIVO DE X [!]"); break;
return 0;
}


Supuestamente segun el libro que estoy leyendo el break haria que se salga del bucle while, pero al compilar el codigo me da error, no se si es un fallo mio o es que este uso de break no es correcto, se que otra forma de hacer esto seria dejando la condicion del while asi:

while (x <= 100 && x > 0)

Pero eso no me importa, lo que quiero saber es si el uso que le doy a break es correcto. El error que me da el compilador es el siguiente:

Citarla declaración break no está dentro de un bucle o switch

Saludos

$Edu$

Seguramente andarias despistado porque te has olvidado de las llaves. El while esta "capturando" el if solamente y el if "captura" solamente al "puts..". El "break;" esta fuera del if entonces fuera del While. Por eso el mensaje de que esta afuera de un bucle.

Codigo:

Código (c++) [Seleccionar]

int main()
{
int x;
x = getchar();
while (x <= 100) {
if (x < 0) {
puts("[!] VALOR NEGATIVO DE X [!]"); break; }
         }
return 0;
}


Lo puse asi pero no se bien que es lo que necesitas "capturar" en cada caso.

Consejo: No programar muy tarde a la noche xD

pd: Supongo que tengo razon, yo no programo en C++ pero mi logica me dice que es como dije, saludos!

Caster

Gran fallo mio, exactamente era ese el fallo, ando algo espeso ahora mismo  :xD

Saludos y muchas gracias