J ai pas pu resoudre ce pb

Fermé
yedez Messages postés 69 Date d'inscription dimanche 3 novembre 2013 Statut Membre Dernière intervention 28 avril 2015 - 7 déc. 2013 à 01:09
yedez Messages postés 69 Date d'inscription dimanche 3 novembre 2013 Statut Membre Dernière intervention 28 avril 2015 - 30 déc. 2013 à 12:53
Bonjour,





mon probleme porte sur les fichiers texte c eat le suivant

soit le fichier trace,txt dont la structure est la suivante 

code utilisateur:3 caracteres numeriques
code logiciel:3 caracteres numeriques
date connexion:jj/mm/aaaa
temps debut execution hh:mm:ss
temps fin execution hh:mm:ss
on a aussi una autre fichier .txt quón nomme utilisateur.txt qui cntient :
code 3 caracteres numeriques
nom éà cqrqcteres numeriques
on vous demande d écrire un pg C qui permet dáfficher pour chaque utilisateur

nom de l utilisateur
jours de connexion et le temps de cnx pour chaque jour
nombre total de jours de cnx
le temps total de cnx pour chaque logiciel

le logiciel le plus utilise en temps de cnx
et merci :))
            
                

7 réponses

Maximilien LIX Messages postés 311 Date d'inscription jeudi 25 juillet 2013 Statut Membre Dernière intervention 30 octobre 2014 23
8 déc. 2013 à 23:32
Je comprend mieu , je pense qu'il faut afficher le temps de connexion de chaque utilisateur, du moins c'est mon interprétation.
Je vais te rassurée (ou pas) les chaînes c'est pas quelque chose qui est facile à capter (chaine - capter , quel jeu de mots pourri enfin bref ^^)
Les structures dans les .h te seront très utile , car ils te permettront d'allèger considèrablemet ton main. (après c'est surtout que c'est facile pour dire à l'ordi à quoi correspond tel ou tel donné entrée)

Je ne me permettrai pas de te réprimander dans ce domaine qui est la programmation (la le C) étant donné que je suis pas quelqu'un de méchant (si si c'est vrai) et que je suis un autodidacte.Je suis encore qu'en classe de Seconde et le fais d'avoir appris le C ne justifirai en rien le fait que je puisse te reprocher des difficultées (surtout que le C est pas le language le plus facile, avis subjectif) à toi qui l'étudie en mileu scolaire (je t'envie beaucoup)

Tu as combien de temps pour réaliser ce programme ?
2
Maximilien LIX Messages postés 311 Date d'inscription jeudi 25 juillet 2013 Statut Membre Dernière intervention 30 octobre 2014 23
7 déc. 2013 à 01:23
What ?!
Tu demandes à ce que l'on code à ta place un simple programme en C ? (Qui utilisera plus que probablement des structures que tu placeras dans des beau header.
Des fichiers .txt donc une base de donné qui relèvera les info.
Bon le programme à l'air plus badass à présent , mais néanmoins faisable, tu vas surtout avoir besoin des fonctions de stdio pour manipuler les chaines (ouvrir un fichier écrire dans ce fichier puis fermer ce fichier, y a des fonction qui résume ça très bien )

Puis je savoir dans quel but tu souhaite créé ce programme ? (Travaille scolaire ou travaille d'autodidacte ? )
0
yedez Messages postés 69 Date d'inscription dimanche 3 novembre 2013 Statut Membre Dernière intervention 28 avril 2015 2
8 déc. 2013 à 21:37
bon c un travail scolaire et je n ai pas besoin pour que tu me dise que je dois le faire toute seule g tassure que le pb est plus long que ca je travaille sur 4 autres fcts mais faute de temps je cherche une aide au niveuau de la fonction que j ai saisie au dessus 

le pb C' est que g n ai pas compris que dois je faire exactement: dois je afficher le temps de connexion de chaque utilisateur ou bien seulement le temps de cnx de lútilisateur dont on saisit son code!! de+ dois je travailler avec les structure pour l affichage de temps ou avec les chaines de caracteres!!et honnetement le dire Cést le premier pb que je travaille avec les fichers texte soyez quand meme comprehensif :)et merci ^_^

                
0
yedez Messages postés 69 Date d'inscription dimanche 3 novembre 2013 Statut Membre Dernière intervention 28 avril 2015 2
13 déc. 2013 à 18:20
j'ai encore une sema
ine ;/
                
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
14 déc. 2013 à 10:54
Bonjour,

Ben, on n'a pas l'énoncé sous les yeux.
Mais de ce que tu as mis :
on vous demande d écrire un pg C qui permet dáfficher pour chaque utilisateur

je comprends qu'il faut parcourir tout ton fichier et afficher le temps de connexion pour chacun des utilisateurs.
Cdlt,
0
yedez Messages postés 69 Date d'inscription dimanche 3 novembre 2013 Statut Membre Dernière intervention 28 avril 2015 2
14 déc. 2013 à 17:13
bon j'ái commence par travailler sur une simple fonction affichage de contenue dún fichier texte mai le pg n'execute pas !!:/ quelqu'un peut m'aider 

                
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
14 déc. 2013 à 17:15
Tu as une erreur à la ligne 3 de ton code ;-).
0
yedez Messages postés 69 Date d'inscription dimanche 3 novembre 2013 Statut Membre Dernière intervention 28 avril 2015 2
14 déc. 2013 à 19:02
dzl j ai oublie de poster mon code :p

bon le voila
#include <stdio.h>
#include <stdlib.h>
void affiche_file(FILE *f)
{ int c;
rewind (f);
while(c=getchar()!=EOF)
{
putchar(c);
}
}

void main(int argc,char *argv[])
{
FILE *f;
printf("mon test est\n");

f=fopen("c:\test\montest","r");
affiche_file(f);
fclose(f);
}

    
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
15 déc. 2013 à 01:15
Bonjour,
Tout d'abord, le prototype de main() est : int main(...)
Et il ne faut pas oublier de mettre : return 0; en fin de main() pour dire que tout s'est bien déroulé.
Dans ton fopen(), il faut mettre \\ au lieu de \ (caractère d'échappement). C'est pour éviter ce genre d'erreur, entre autres, qu'il faut vérifier le valeur de retour de fopen. Par exemple : if(f != NULL)...
Dans la fonction d'affichage, ton rewind() est inutile.
Il faut mettre mettre c=getchar() entre parenthèse : while((c=getchar()) != EOF)
Il ne faut pas oublier non plus de mettre fflush(stdout); après ton printf().
Sinon, tu peux utiliser fgets() pour lire le fichier ligne par ligne.
0
yedez Messages postés 69 Date d'inscription dimanche 3 novembre 2013 Statut Membre Dernière intervention 28 avril 2015 2
30 déc. 2013 à 12:53
salut j ai encore des difficultes avec le meme probleme mon professeur nous a interdit de travailler avec les structures c ad seulemenet avec les fichiers textes bon bon j ai saisi un autres code mai le pb qu il m affiche des valeurs qui n ont rien a avoir avec le bon resultat aidez moiiiiii

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

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

user_name(f_user,code);

rewind(f_trace);

while ( fgets(s,32,f_trace) )
{

sscanf(s+0," %3d ", &code_user);


if(code==code_user)
{
sscanf(s+9, " 2d ",&j_cnx);
hh=heure_jours(f_trace);
printf(" %2d %5d\n ",s+9,hh);
}
}
nb_total(nb_j,total,f_trace,code,j_cnx);
printf("%d %d",nb_j,total);


}
void nb_total(int nb_j,int total,FILE *f_trace,int code,int j_cnx)
{
int p,pos,j,code_usr;
char s[32];
p=0L;
nb_j=1;
while (fgets(s,32,f_trace))
{
sscanf(s,"%3d",&code_usr);
sscanf(s+9,"%2d",&j);

if (code==code_usr)
{
if (j_cnx!=j)
{

nb_j++;
total+=heure_jours(f_trace);
}
else
{
total+=heure_jours(f_trace);
}
}

}




}

int heure_jours (FILE *f_trace)
{
int h,m,sc,h1,m1,s1,l1,l2,l3;
char s[32];
while ( fgets(s,32,f_trace))
{
sscanf(s+20,"%2d %1c %2d %1c %2d", &h,&m,&sc);
sscanf(s+30,"%2d %1c %2d %1c %2d", &h1,&m1,&s1);
l1=(int)(h1-h);
l2=(int)(m1-m);
l3=(int)(s1-sc);
return(l1*3600+l2*60+l3);
}
}


void user_name(FILE *f_user,int code)
{
char *nom; char s[23];
int code_user;


rewind(f_user);

while ( fgets(s,23,f_user) )
{
sscanf(s+0," %3d ", &code_user);
if(code==code_user)
{
sscanf(s+3," %20s ", &nom);
printf("%20s ",s+3);
}
}
}



                
0