Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Raiden en 17 Agosto 2020, 18:32 pm



Título: Ayuda C++ bucle imprime solo una parte de la tabla
Publicado por: Raiden en 17 Agosto 2020, 18:32 pm
Buenas a todos

Tengo una duda que no encontre x internet

Estoy haciendo un codigo que me pide que imprima 1000 veces el resultado x medio de un bucle pero al ejecutarlo solo imprime desde el 703 hasta "El total es 1000".
Saben que podria estar pasando?
Gracias
Aqui dejo el Codigo:
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.    int Total=0;
  8.    for(double Contador=1;Contador<=1000;Contador++)
  9.    {
  10.        Total+=1;
  11.        cout<<Contador<<endl;
  12.    }  
  13.  
  14.    cout<<"El total es: "<<Total<<endl;
  15.    std::system("pause");
  16.    return 0;
  17.  
  18. }
  19.  

<Raiden>


MOD: Etiquetas de Código GeSHi modificadas


Título: Re: Ayuda C++ bucle imprime solo una parte de la tabla
Publicado por: K-YreX en 17 Agosto 2020, 18:53 pm
Lo más seguro es que te esté funcionando correctamente pero al no caber todos los números en la pantalla, solo ves los últimos.
Prueba a subir hacia arriba y el resto de números estarán ahí.

De todas formas, un par de consejos:
  • Por convenio es recomendable que las variables empiecen por minúscula.
  • El contador del bucle es preferible que sea de tipo entero, no flotante.
  • No es necesario que utilices std (línea 15) pues ya lo has especificado en la línea 3.
  • Mejores alternativas a system("pause") son: cin.get(); (en C++) o getchar(); (en C).

PD: En C/C++ se puede sustituir el +=1 por ++ y el -=1 por --.


Título: Re: Ayuda C++ bucle imprime solo una parte de la tabla
Publicado por: Raiden en 17 Agosto 2020, 19:43 pm
Citar
De todas formas, un par de consejos:

    Por convenio es recomendable que las variables empiecen por minúscula.
    El contador del bucle es preferible que sea de tipo entero, no flotante.
    No es necesario que utilices std (línea 15) pues ya lo has especificado en la línea 3.
    Mejores alternativas a system("pause") son: cin.get(); (en C++) o getchar(); (en C).
Si, a veces me olvido de las buenas practicas  :-X, estare mas atento..

https://ibb.co/fNsGPrr
No puedo ir mas arriba, la barra de desplazamiento empieza en 702.
que problema del SO deberia ser?


<Raiden>


Título: Re: Ayuda C++ bucle imprime solo una parte de la tabla
Publicado por: K-YreX en 17 Agosto 2020, 20:04 pm
No puedes ir más arriba porque el cmd tiene un desplazamiento limitado.

Pon un cin.get(); dentro del bucle para que cada iteración se pause hasta que pulses una tecla y verás como sí se muestran los primeros números.
Código
  1. for(int contador = 1; contador <= 1000; ++contador){
  2.  cout << contador << endl;
  3.  cin.get();
  4. }