Problème dans une fonction de comptage

Signaler
Messages postés
21
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
25 mai 2005
-
Messages postés
402
Date d'inscription
mardi 1 mai 2001
Statut
Membre
Dernière intervention
15 août 2011
-
voici le problème, je finalise l'application en lançant le programme essentiel : void comptage (int,int,int)
mais du coup ça déconne : des fenêtre refusent de s'afficher, les variables ne changent pas comme elles devraient le faire... et comme mon débugger de dev-c++ n'en fait cas ça tête, et bien moi j'en perd la mienne ;-) ( ça c'était pour le style ).

plus sérieusement si quelqu'un voit l'erreur dans la fonction d'un coup de géni là comme-ça, je veux bien un indice, où encore mieux si quelqu'un qui a déjà eu des soucis avec le debugger dev et qui sait comment s'en sortir pouvait me tirer de ce mauvais pas ce serait franchement cool.

merci d'avance

voici la fonction en cause :
//----------------------fonction de comptage et de sauvegarde ------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//---------------------c'est elle qui pose problème enfin je pense--------------


void compteur (int duree, int intervalle, int nbacquisition)
{
time_t t0,t1;
int nb =0;
int j =0;
char szMoyenne[10];
int nMoyenne = 0;
FILE *fp;


//------------------on efface touts les staticsbox pour en mettre d'autres -----

DestroyWindow( hWndStaticIntituleIntervalle );
DestroyWindow( hWndStaticIntituleIntervalle2 );
DestroyWindow( hWndEditIntervalle );
DestroyWindow( hWndStaticIntituleDuree );
DestroyWindow( hWndStaticIntituleDuree2 );
DestroyWindow( hWndEditDuree );
DestroyWindow( hWndStaticIntituleNbAcquisitions );
DestroyWindow( hWndEditNbAcquisitions );

hWndStaticIntituleMoyenne = CreateWindowEx(0, "STATIC",
"Moyenne actuellement prise en compte : ",
WS_CHILD | WS_VISIBLE | SS_LEFT,
35,100,390,16,hwnd, (HMENU)IDS_STATIC ,
hThisInstance, NULL);


hWndEditMoyenne = CreateWindowEx(0, "EDIT", "",
WS_CHILD | WS_VISIBLE | ES_CENTER | ES_NUMBER,
325,100,170,16,hwnd, (HMENU)IDE_MOYENNE ,
hThisInstance, NULL);

*itoa(nMoyenne, szMoyenne, 10 );
SetWindowText(hWndEditMoyenne,szMoyenne );
SetFocus( hWndEditMoyenne);

//------------------------partie comptage---------------------------------------

while (nb < nbacquisition)
{
t0 = time(NULL);
t1 = time(NULL);

while ( difftime (t1,t0+duree)>0)
{
if (kbhit())
{
j++;
if (j%2==0)SetWindowText(hWndEditMoyenne,"OK");
else
{
SetWindowText(hWndEditMoyenne,"KO");
}
}

t1 = time(NULL);
}
nMoyenne=j/duree;

*itoa(nMoyenne, szMoyenne, 10 );
SetWindowText(hWndEditMoyenne,szMoyenne );
SetFocus( hWndEditMoyenne);

//-------------------------sauvegarde sous format excel-------------------------
if ((fp fopen("comptage.xls", "w")) NULL)
{
fprintf(stderr, "Erreur à l'ouverture du fichier classeur1.xls en mode w.\n");
exit(1);
}
fprintf(fp, "\ndata = %d",nMoyenne);
fclose(fp);
nb++;
Sleep(intervalle*60000);
}
}
//-------------------------fin du comptage--------------------------------------

Easy love Baby

3 réponses

Messages postés
402
Date d'inscription
mardi 1 mai 2001
Statut
Membre
Dernière intervention
15 août 2011

Je n'ai pas `étudié` tout le code mais il y à une chose que j'ai remarqué:
*itoa(nMoyenne, szMoyenne, 10 );

l'astérix est inutile ici ...

itoa(nMoyenne, szMoyenne, 10 );

~(.:: NitRic ::.)~
Messages postés
21
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
25 mai 2005
1
en fait, j'utilise devc++ et la fonction itoa n'est pas reconnu même avec la bonne lib, donc j'ai du trouvé une fonction fabriqué et j'ai trouvé celle-ci *itoa pour la remplacé...

Easy love Baby
Messages postés
402
Date d'inscription
mardi 1 mai 2001
Statut
Membre
Dernière intervention
15 août 2011

à la base, itoa() n'est pas ANSI donc c'est normal mais peu importe la
fonction, l'astérix est completement _Inutile_ ... tu as aucun
warning!?!?!?


~(.:: NitRic ::.)~