Temporisation en C++

Temporisation en C++ - C++ - Programmation

Marsh Posté le 02-12-2010 à 12:15:35    

Bonjour,
 
Je suis débutant en C++,
En TP je dois programmer l'éjection d'objet qui passent sous une caméra.
Sauf que je bloque pour la tempo...  
La caméra inspecte les objets, le tapis à une vitesse, l'éjection se fait 1,50m plus loin.
Donc pour faire simple ici, ci-dessous le petit programme que j'ai fais.
Et je voudrais que "ejection" s'affiche au bout de "Time" seconde.... Avez-vous une idée ?
Merci Beaucoup pour votre aide !
 
 
#include <iostream>
 
int main()
{
 int VitesseTapis = 0;
        int DistCamToEject = 1;
 int Time = 0;
 std::cout << "Entrer vitesse tapis" << std::endl;
 std::cin >> VitesseTapis ;
 
 Time = (DistCamToEject)/(VitesseTapis);
 
 // A insérer : Fonction temporisation qui ne bloque pas mon programme, et qui me permet d'attendre "Time" secondes pour afficher texte.
 
 std::cout<< "ejection !"<< std::endl;
    return 0;
}
 
 
PS: je suis sous windows, VS2008. Merci !
 

Reply

Marsh Posté le 02-12-2010 à 12:15:35   

Reply

Marsh Posté le 02-12-2010 à 12:36:18    

tu veux que ton programme attende mais ne soit pas bloqué ? C'est intéressant, comme demande [:petrus75]


---------------
last.fm
Reply

Marsh Posté le 02-12-2010 à 12:46:58    

Désolé si je me suis mal exprimé, je veux que le reste des classes continue a tourner... que la caméra continue a prendre des images !

Reply

Marsh Posté le 02-12-2010 à 13:10:42    

rom142 a écrit :

Bonjour,
 
Je suis débutant en C++,
En TP je dois programmer l'éjection d'objet qui passent sous une caméra.
Sauf que je bloque pour la tempo...  
La caméra inspecte les objets, le tapis à une vitesse, l'éjection se fait 1,50m plus loin.
Donc pour faire simple ici, ci-dessous le petit programme que j'ai fais.
Et je voudrais que "ejection" s'affiche au bout de "Time" seconde.... Avez-vous une idée ?
Merci Beaucoup pour votre aide !
 
 
#include <iostream>
 
int main()
{
 int VitesseTapis = 0;
        int DistCamToEject = 1;
 int Time = 0;
 std::cout << "Entrer vitesse tapis" << std::endl;
 std::cin >> VitesseTapis ;
 
 Time = (DistCamToEject)/(VitesseTapis);
 
 // A insérer : Fonction temporisation qui ne bloque pas mon programme, et qui me permet d'attendre "Time" secondes pour afficher texte.
 
 std::cout<< "ejection !"<< std::endl;
    return 0;
}
 
 
PS: je suis sous windows, VS2008. Merci !
 


 
Je ne connais pas le C++ mais en C je vois deux solutions :
 
Créer un thread/processus qui s'endort pendant "Time" secondes et affiche le texte.
 
Utiliser un timer avec la fonction alarm.


Message édité par Anonymouse le 02-12-2010 à 13:11:00
Reply

Marsh Posté le 02-12-2010 à 16:29:12    

http://msdn.microsoft.com/en-us/li [...] S.85).aspx
 
Mais ca va bloquer ton programme, dans la mesure où tu demandes à attendre.
Si tu veux faire de la programmation asynchrone, c'est différent, et c'est peut-être pas l'objet de ton TP (vu que tu as l'air de débuter, et que ce genre de chose s'adresse à des personnes avec un minimum de bagage en programmation)
 
Sinon, tu peux toujours faire du synchrone et avoir une boucle où tu captures les images, et, à chaque capture, éventuellement, tu regardes si ton délais et dépassé et si tu dois afficher ton message.


---------------
last.fm
Reply

Marsh Posté le 04-12-2010 à 16:52:39    

Sleep(Time * 1000);
 
De rien.


---------------
Return -1
Reply

Marsh Posté le 07-12-2010 à 17:23:51    

Ok merci bien !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed