Probleme d execution

Fermé
yedez Messages postés 69 Date d'inscription dimanche 3 novembre 2013 Statut Membre Dernière intervention 28 avril 2015 - 26 janv. 2014 à 00:15
 Utilisateur anonyme - 27 janv. 2014 à 00:47
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

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
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 dimanche 3 novembre 2013 Statut Membre Dernière intervention 28 avril 2015 2
26 janv. 2014 à 20:21
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 dimanche 3 novembre 2013 Statut Membre Dernière intervention 28 avril 2015 2
26 janv. 2014 à 20:22
j' espere que C est lisible maintenant :)

    
0
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 dimanche 3 novembre 2013 Statut Membre Dernière intervention 28 avril 2015 2
26 janv. 2014 à 12:16
repondez moi  si vous plait
                
0