J ai pas pu resoudre ce pb
yedez
Messages postés
69
Date d'inscription
Statut
Membre
Dernière intervention
-
yedez Messages postés 69 Date d'inscription Statut Membre Dernière intervention -
yedez Messages postés 69 Date d'inscription Statut Membre Dernière intervention -
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 :))
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 :))
A voir également:
- J ai pas pu resoudre ce pb
- Votre publication n'a pas pu être partagée. veuillez réessayer ✓ - Forum Instagram
- 952 votre texto n'a pas pu etre envoyé ✓ - Forum SFR
- Nous n'avons pas pu nous connecter a ce réseau ✓ - Forum WiFi
- Le serveur de récupération n'a pas pu être contacté - Forum MacOS
- Google n'a pas pu vérifier que ce compte vous appartient. - Forum Gmail
7 réponses
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 ?
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 ?
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 ? )
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 ? )
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 ^_^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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,
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,
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
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);
}
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);
}
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.
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.
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);
}
}
}
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);
}
}
}