2017-10-15 10 views

Répondre

0
cout<< " I value is:"; 
for(int i=0; i<10;i++) {cout<< " "<< i; } 

Est-ce que cela fonctionnera?

Mise à jour:

En supposant que vous voulez ajouter un « sommeil de fil » dans la boucle, vous pouvez imprimer « \ b » pour déplacer le dos curseur et remplacer la valeur, par exemple:

cout<< " I value is: "; 
for(int i=0; i<10;i++) {cout<< "\b"<< i; } 

Mais selon votre ordinateur et votre compilateur, il se peut que ce ne soit pas le résultat souhaité.

exemple final (testé à l'aide d'invite de commande de développement Visual Studio):

#include <iostream> 
#include <chrono> 
#include <thread> 
using namespace std; 
void main() 
{ 
    cout<< " I value is: "; 
    for(int i=0; i<10;i++) 
    { 
     cout<< "\b"<< i; 
     std::this_thread::sleep_for(std::chrono::milliseconds(1000)); 
    } 
} 
+0

la question veut mettre à jour la variable de ligne sans l'imprimer encore et encore. Votre réponse imprimera la valeur de i encore et encore. – DvixExtract

+0

Maintenant, je comprends ce qu'il demande, en supposant que le scénario idéal est qu'il veut imprimer une valeur chaque seconde et boucle 10 fois. La sortie devrait être seulement 1 ligne, mais le dernier chiffre est changé toutes les 1 s. Par exemple: première sortie: "I value est: 0", après 5 sec, la même ligne de sortie: "I value est: 5", après 9 sec, la même ligne de sortie: "I value is: 9". Voir ma réponse mise à jour pour une solution possible. –

1

Votre sortie doit être en dehors du champ d'application de la boucle pour elle pour imprimer une fois autrement. Si vous le placez dans la boucle, il sera imprimé plusieurs fois jusqu'à la fin de la boucle.

Vous voulez quelque chose comme ceci:

for(int I =0; i<1 10; i++{ 

perform calculations involving i; 

} 
cout<< " I value is: "<< i;