Probleme d execution

yedez Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,




Le probleme consiste a affiche le jour de connexion et le nombre de jours connectes d un ultilisateur ainsi que tmps total de cnx de cet utilisateur a partir d un fichier texte trace.txt:

tq trace.txt est definie de la sorte :code utisateur 3 carac
code logiciel 3 caractere
date jj/mm/aaaa
heure debut execution hh:mm:ss
heure fin execution hh:mm:ss
bon voila mon code source le resultat c est de tres gd nombre apperemment j ai des fautes au niveau des pointeurs mai j ai po pu les localiser aidez moi s il vous plait

void view_user (FILE *f_user, FILE *f_trace)
{
int code,code_user,j_cnx,nb_j,hh;
char s[32];


printf("donner le code de l utilisateur");
scanf(" %d", &code);

user_name(f_user,code);
while( fgets(s,37,f_trace))
{
sscanf(s,"%3d",&code_user);

sscanf(s+8,"%2d",&j_cnx);
nb_jours_cnx(f_trace,code,code_user,j_cnx,&nb_j);


}

printf("le nb de jour connectes est %d",nb_j);



heure_jours(f_trace,j_cnx,code);



}

int nb_jours_cnx(FILE *f_trace,int code,int code_user,int jour,int *nb_j)
{
int j_cnx;
char s[37];
*nb_j=1;

rewind(f_trace);
while (fgets(s,37,f_trace))
{

sscanf(s+8,"%2d", &j_cnx);
if((code==code_user)&&(jour!=j_cnx))
{

*nb_j++;
}
}

}

void heure_jours (FILE *f_trace,int j,int code)

{

int h,m,sc,h1,m1,sc1,t1,t2,j_cnx,nb,hh,code_user;
char s[32],sym[1],sym1[1],sym2[1],sym3[1];
nb=0;
rewind(f_trace);
while (( fgets(s,37,f_trace)))
{


sscanf(s+8,"%2d", &j_cnx);
sscanf(s+0,"%3d", &code_user);
if (code==code_user)

{
nb++ ;

sscanf(s+19,"%2d %c %2d %c %2d",&h,&sym,&m,&sym1,&sc);
t1=h*3600+m*60+sc;

sscanf(s+28,"%2d %c %2d %c %2d",&h1,&sym2,&m1,&sym3,&sc1);
t2=(h1*3600)+(m1*60)+sc1;

hh=(t2)-(t1);
printf("le jour de cnx est %2d \n",j_cnx);
// printf("le temps total de cnx pr ce jour est %d \n",hh);

}

}

printf("le nbre de jours connectes est %d \n",nb);

}

2 réponses

Utilisateur anonyme
 
Bonjour,

Quelques conseils pour optimiser le nombre de réponses :
1- Lire la charte, en particulier les parties "respect d'autrui" et "conseil de rédaction".
2- Ne pas réclamer de réponse (Question de courtoisie).
3- Écrire en Français (Question de courtoisie... encore).
4- Mettre le code entre parenthèses pour sa lisibilité.
5- Relire la charte encore une fois pour s'assurer de bien l'avoir comprise.

Ce serait déjà un bon début.

Cordialement,
Orinym.
1
Utilisateur anonyme
 
Erratum :
Entre balises le code*
Au temps pour moi.

Je précise ceci en commentaire, le délai de modification étant dépassé.

Cdt.
0
yedez Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   2
 
Le probleme consiste a affiche le jour de connexion et le nombre de jours connectes d un ultilisateur ainsi que tmps total de cnx de cet utilisateur a partir d un fichier texte trace.txt:

tq trace.txt est definie de la sorte :code utisateur 3 carac
code logiciel 3 caractere
date jj/mm/aaaa
heure debut execution hh:mm:ss
heure fin execution hh:mm:ss
bon voila mon code source le resultat c est de tres gd nombre apperemment j ai des fautes au niveau des pointeurs mai j ai po pu les localiser aidez moi s il vous plait

void view_user (FILE *f_user, FILE *f_trace)
{
int code,code_user,j_cnx,nb_j,hh;
char s[32];


printf("donner le code de l utilisateur");
scanf(" %d", &code);

user_name(f_user,code);
while( fgets(s,37,f_trace))
{
sscanf(s,"%3d",&code_user);

sscanf(s+8,"%2d",&j_cnx);
nb_jours_cnx(f_trace,code,code_user,j_cnx,&nb_j);


}

printf("le nb de jour connectes est %d",nb_j);



heure_jours(f_trace,j_cnx,code);



}

int nb_jours_cnx(FILE *f_trace,int code,int code_user,int jour,int *nb_j)
{
int j_cnx;
char s[37];
*nb_j=1;

rewind(f_trace);
while (fgets(s,37,f_trace))
{

sscanf(s+8,"%2d", &j_cnx);
if((code==code_user)&&(jour!=j_cnx))
{

*nb_j++;
}
}

}

void heure_jours (FILE *f_trace,int j,int code)

{

int h,m,sc,h1,m1,sc1,t1,t2,j_cnx,nb,hh,code_user;
char s[32],sym[1],sym1[1],sym2[1],sym3[1];
nb=0;
rewind(f_trace);
while (( fgets(s,37,f_trace)))
{


sscanf(s+8,"%2d", &j_cnx);
sscanf(s+0,"%3d", &code_user);
if (code==code_user)

{
nb++ ;

sscanf(s+19,"%2d %c %2d %c %2d",&h,&sym,&m,&sym1,&sc);
t1=h*3600+m*60+sc;

sscanf(s+28,"%2d %c %2d %c %2d",&h1,&sym2,&m1,&sym3,&sc1);
t2=(h1*3600)+(m1*60)+sc1;

hh=(t2)-(t1);
printf("le jour de cnx est %2d \n",j_cnx);
// printf("le temps total de cnx pr ce jour est %d \n",hh);

}

}

printf("le nbre de jours connectes est %d \n",nb);

}

    
0
yedez Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   2
 
j' espere que C est lisible maintenant :)

    
0
Utilisateur anonyme
 
Je ne vois pas de différence personnellement.

Il faut que ton code soit ENTRE les balises.

Et tant qu'à faire tu aurais pu essayer de camoufler un minimum le copier coller... :/
0
yedez Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   2
 
repondez moi  si vous plait
                
0