Lecture dans un fichier.txt entre deux dates [Résolu]

Messages postés
5
Date d'inscription
jeudi 31 mars 2011
Statut
Membre
Dernière intervention
23 avril 2012
- - Dernière réponse : gzangel
Messages postés
5
Date d'inscription
jeudi 31 mars 2011
Statut
Membre
Dernière intervention
23 avril 2012
- 18 avril 2012 à 12:40
Bonjour à tous,

j'ai un gros soucis, j'essaie d'écrire un mini jeux de roulette sur console et je souhaiterais lire le contenant d'un fichier stats.txt entre deux dates données.

Le contenu du fichier serait:
09/01/2012 02h00
Parie: 12 -- la roue s'est arretee sur: 12
16/04/2012 16h30
Parie: 2 -- la roue s'est arretee sur: 7
18/04/2012 14h03
Parie: 1 9 2 8 3 6 -- la roue s'est arretee sur: 9
21/04/2012 01h00
Parie: 1 9 2 8 3 6 -- la roue s'est arretee sur: 22

Je voudrais pouvoir, par exemple si l'user choisit entre 16/04/2012 et 16/04/2012, n'avoir que les ces lignes qui s'affiche sur la console:
16/04/2012 16h30
Parie: 2 -- la roue s'est arretee sur: 7
18/04/2012 14h03
Parie: 1 9 2 8 3 6 -- la roue s'est arretee sur: 9


Merci d'avance pour vos indications
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
3834
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
10 juin 2019
85
3
Merci
Bonjour.

Je rappelle que l'on ne fournit pas de code, et que l'on ne fait pas la reflexion à la place du demandeur. En revanche, on corrige des codes avec plaisir. Je t'invite donc à poster ton code, et surtout préciser ce qui te bloque précisement.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 133 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cptpingu
Messages postés
3834
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
10 juin 2019
85
3
Merci
Pense à indenter ton code et à le mettre dans des balises de code (là c'est presque illisible).

À faire en plusieurs étapes:
- Lire ton fichier (ça c'est fait).
- Il te faut lire ton fichier ligne à ligne (c'est-à-dire que le délimiteur est \n). Il te faut modifier ta lecture du fichier pour ne lire qu'une ligne à chaque fois. Une solution possible, si ton fichier n'est pas très gros, c'est de mettre celui-ci entièrement dans un tableau, et ensuite d'utiliser la fonction getline, décrite ici: http://users.powernet.co.uk/eton/kandr2/krx116.html
- Pour chaque ligne tu extraies la date (il n'y a pas de fonction magique, à toi de la coder).
- Enfin, il te faut réaliser une fonction qui, à partir de 2 date données en argument, donne la différence en jour les séparant (nombre de jour posifitif si le 1er argument est plus grand que le second, négatif sinon).
- Grâce à la fonction précédente, tu vas pouvoir ne garder que lignes qui ont X jours de différence seulement avec la date choisie.

Bonne chance. N'hésite pas à poster les différentes étapes, au fur et à mesure de ton avancement.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 133 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cptpingu
Messages postés
5
Date d'inscription
jeudi 31 mars 2011
Statut
Membre
Dernière intervention
23 avril 2012
0
Merci
Bonjour,
Merci pour votre réponse.
Justement c'est là le problème. Je ne vois pas quelle fonction utiliser pour pouvoir lire "dans un intervalle" donné. Pour un accès séquentiel dans stats.txt j'ai fait ca:

void stats_jeux(Joueur j, FILE* fichier)//Jouer j est une struct joueur
{
char buff[1000];
fichier = fopen("stats.txt", "a+");
int choix_user = 0;
printf("\tEnter:\n1: Pour voir toutes les stats\n2: Pour voir les stats entre deux dates\n3: Pour effacer les re-initialiser les stats\n");

if(choix_user == 1)//Choix de l'user; ici j'affiche tout stats.txt
{
if(fichier == NULL)
{
printf("Impossible d'ouvrir le fichier\n\n");
}
else
{
printf("Ouverture des stats du jeu\n\n");
}
while(fgets(buff, 1000, fichier) != NULL)
{
printf("\t%s", buff);
}
if(fclose(fichier) == EOF)
{
printf("Erreur lors de la fermeture du fichier\n");
}
else
{
printf("\n\nFermeture des stats du jeu\n\n");
}
Comme vous pouvez le voir, j'arrive à lire tout le fichier stats.txt cependant je souhaiterai y accéder entre deux endroits du fichier. Savez vous s'il existe une fonction pour ça? Une struct?
Commenter la réponse de gzangel
Messages postés
5
Date d'inscription
jeudi 31 mars 2011
Statut
Membre
Dernière intervention
23 avril 2012
0
Merci
Bonjour,

D'accord, j'y penserai la prochaine fois. Merci. Je posterai la réponse dès que je l'aurai codée. Entre temps j'ai encore un autre mini projet à faire en python.

Merci encore.
Commenter la réponse de gzangel