duda con while

Iniciado por cazagavilan, 16 Abril 2011, 10:28 AM

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

cazagavilan

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.

Akai

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.

cazagavilan


Danyel_Casvill

quedaria mas facil usando un if
adada

ssaammuu

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) ?

cazagavilan

muchas gracias ya lo he conseguido completar todo ;)