Chronometre au millieme de secondes en mode console vc++6

Soyez le premier à donner votre avis sur cette source.

Vue 8 074 fois - Téléchargée 851 fois

Description

chronometre au Millieme de secondes en mode console VC++6

Conclusion :


Toute suggestion, remarque, CONSTRUCTIVE est la bienvenue

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_sebman
Messages postés
37
Date d'inscription
mercredi 29 mai 2002
Statut
Membre
Dernière intervention
11 décembre 2010
-
Merci de vos conseil !!!
Helkanen
Messages postés
54
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
9 juin 2004
-
salut,
je te donne rien de spécial, mais je te conseille de remplacer un truc que je trouve horrible...
ceci :
//////////////////////////////////////////////////////////////////
// Boucle d'attente
// Permet d'afficher la fenetre le temps que le
// Microprocesseur compte jusqu'a 500 Millions !!!

nan moi ça me plait pas, paske sur un vieil ordi, il faudra 20 secondes, sur un récent, il faudra 200 ms... c'est pas génial
pourtant, rien qu'en utilisant les varables et les fonctions que tu emploies, tu peux faire qqch de plus propre...

int Attente()
{
cout << "Waiting 2500 ms..." << endl;
while (converti <= converti2 + 2500) //attend 5 secondes
{
ftime(&TempsDepart);
converti = TempsDepart.time * 1000 + TempsDepart.millitm;
}
return 0;
}

j'explique :
while (tant que) l'heure est inférieure ou égale à l'heure de fin + 2500ms, on calcule l'heure (en utilisant tes propres fonctions et variables)
donc, quand l'heure actuelle est supérieure à l'heure de fin (du chrono) + 2500 ms, on quitte la fonction
et c'est bon

à part ça...
tu t'embêtes vraiment pour rien avec tes
converti= (((TempsDepart.time-1069000000)*1000)+ TempsDepart.millitm);
// 1 069 000 000 * 1 000 genere un nombre trop grand pour un type long
// c'est pour ca ke j'ote 1 069 000 000
// ceci rendra caduc le programme dans une 20taine annee
(de tte façon dans une 20aine d'années, t'auras eu le temps de réviser ton code !)
en effet, tu peux en qqe sorte doubler la capaciter des long, simplement en supprimant le signe :
les valeurs sont alors obligatoirement positives (cad pas de valeurs négatives)
tu déclares donc tes variables ainsi :
unsigned long converti, converti2... etc
et si tu veux absolument avoir un signe, ben laisse "long", voire "signed long"

voila
par contre, y'a pas à dire, utiliser l'api avec QueryPerformanceCounter et QueryPerformanceFrequency c'est le mieux, mais je suis encore bien trop nul pour faire ça (meme si c'est expliqué partout, le principale reste de comprendre)

bonne prog
Helkanen
BruNews
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
7 novembre 2014
13 -
Il faut se servir des 2 fonctions citees plus haut pour un prog sur Windows, leur resolution est optimale.
Regarde MSDN pour details.
cs_sebman
Messages postés
37
Date d'inscription
mercredi 29 mai 2002
Statut
Membre
Dernière intervention
11 décembre 2010
-
MErci BruNews
Mais je n'ai rien capter à ton message
Je te remercie d'avance pour le clarifier
Suis plus proche du débutant ke d'autre chose

N.B: me suis inspiréré de "La Bible du programmeur c/C++" de chez EYROLLES
BruNews
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
7 novembre 2014
13 -
QueryPerformanceCounter
QueryPerformanceFrequency
Utiliser cela sur win32 pour la haute resolution.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.