Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: cazagavilan en 16 Abril 2011, 10:28 AM

Título: duda con while
Publicado por: cazagavilan en 16 Abril 2011, 10:28 AM
Hola, se supone que tengo que hacer un programa en el que el usuario introduce un numero , el programa tiene que empezar a contar desde 1 hasta que llega al numero del usuario y parar, lo he intentado pero me da numeros sin parar, a ver si me podeis ayudar gracias.
Código (cpp) [Seleccionar]
                                                             

#include <iostream>
using namespace std;

int main()

{
int n;
int l = 1;
cout <<"Escribe el numero que desees: ";
cin >> n;
while (n = n){

cout << l << " ,","\n";
++l;
}
return 0;
}


P.D: tambien tengo que hacer que los numero salgan en 10 columnas pero eso ya me apañare luego.
Gracias de nuevo.
Título: Re: duda con while
Publicado por: Akai en 16 Abril 2011, 11:35 AM
Creo que deberías revisar la teoría. Tu condición del while lo único que te lleva es a un bucle infinito, ya que haces lo siguiente:

(recordemos que = es ASIGNAR, == COMPARAR)

mientras a la n le pongo lo que hay en n: pinto l, incremento l.

asignar a n lo que hay en n únicamente es FALSO si n es 0.

Por otro lado, estás usando cout de una forma un tanto... oscurilla con esto: <<" ,","\n"  quedaría mejor así:

<< " ,\n"

La tabulación es \t

Y como cambiar el bucle para que haga lo que ti quieres hacer, te lo dejo a ti.
Título: Re: duda con while
Publicado por: cazagavilan en 16 Abril 2011, 11:38 AM
muchas gracias.
Título: Re: duda con while
Publicado por: Danyel_Casvill en 16 Abril 2011, 18:28 PM
quedaria mas facil usando un if
Título: Re: duda con while
Publicado por: ssaammuu en 16 Abril 2011, 18:48 PM
Y aun con ==, el bucle es infinito n siempre va a ser igual a n... así que seguramente te habrás equivocado ahí.

A lo mejor querías while (l<n) ?
Título: Re: duda con while
Publicado por: cazagavilan en 16 Abril 2011, 19:36 PM
muchas gracias ya lo he conseguido completar todo ;)