¿¿Como usar while??

Iniciado por Bledniss, 18 Abril 2011, 22:15 PM

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

Bledniss

¿Esta bien este script?


#include <stdio.h>
void main()
{
   int ar , br ;
   scanf("%d", ar);
   scanf("%d", br);
while(ar != br)
{
   ar++;
   printf("%d\n",ar);   
}
if(ar=br)
   printf("Hecho!");
}



Si no es correcto alguen me puede decir como se utiliza el "while"??? :huh: :huh: :huh:
<a href="http://www.userbars.be"><img src="http://img857.imageshack.us/img857/6337/44984.gif" alt="Free userbars" border="0"></a>

Shell Root

El while lo puedes usar siempre y cuando sea verdadera una condición.

En tú caso estas diciendo que se ejecute el while, mientras la variable ar sea diferente a br, después de eso autoincrementas la variable ar y la muestras. -Supongo que esto lo haces con el fín de que se muestren los números hasta que ar sea igual a br o no?-.

Dependiendo de los valores que ingreses o de la logica que tengas es correcto, pero en el ejemplo que pusisteis, se creará un bucle infinito si la variable ar es mayor a br.

Código (cpp) [Seleccionar]
#include <stdio.h>

int main(){
int ar = 0, br = 0 ;

printf("Ingrese numero 1: "); scanf("%d", &ar);
printf("Ingrese numero 2: "); scanf("%d", &br);

while(( ar != br ) && ( ar < br )){
ar++;
printf("%d\n", ar);  
}

if( ar = br ){ printf("Hecho!\n"); }

return 0;
}

Código (PoC) [Seleccionar]
Hecho!alex@shellroot:~/Escritorio$ g++ PoC.cpp
alex@shellroot:~/Escritorio$ ./a.out
Ingrese numero 1: 1
Ingrese numero 2: 9
2
3
4
5
6
7
8
9
Hecho!

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Bledniss

Entendido!
Pero que es el  "return 0" del final???
<a href="http://www.userbars.be"><img src="http://img857.imageshack.us/img857/6337/44984.gif" alt="Free userbars" border="0"></a>

Akai

Return devuelve un valor a la función superior a la actual.

En el caso del main, es algo que se debe poner para informar al sistema operativo que se ha terminado correctamente la ejecución.

Oblivi0n

if( ar = br ){ printf("Hecho!\n"); }

no sera...

if( ar == br ){ printf("Hecho!\n"); }

xD

ssaammuu

#5
En realidad ni siquiera hace falta la sentencia condicional ya que el programa no llega a esa parte del código hasta que ar es igual a br, o ar > br. De ambos modos el proceso ha terminado...
:)